/* io.elementary.photos.h generated by valac 0.56.19, the Vala compiler, do not modify */

#ifndef __SRC_IO_ELEMENTARY_PHOTOS_H__
#define __SRC_IO_ELEMENTARY_PHOTOS_H__

#include <gtk/gtk.h>
#include <glib-object.h>
#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include <handy.h>
#include <gio/gio.h>
#include <gee.h>
#include <gdk/gdk.h>
#include <float.h>
#include <math.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <glib/gi18n-lib.h>
#include <cairo-gobject.h>
#include <gphoto2/gphoto2-camera.h>
#include <gphoto.h>
#include <gphoto2/gphoto2-context.h>
#include <gphoto2/gphoto2-filesys.h>
#include <gphoto2/gphoto2-file.h>
#include <pango/pango.h>
#include <granite.h>
#include <sqlite3.h>
#include <libraw/libraw.h>

G_BEGIN_DECLS

#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif
#define APP_WINDOW_ACTION_PREFIX "win."
#define APP_WINDOW_ACTION_FULLSCREEN "action_fullscreen"
#define APP_WINDOW_ACTION_JUMP_TO_FILE "action_jump_to_file"
#define APP_WINDOW_ACTION_QUIT "action_quit"
#define APP_WINDOW_ACTION_REDO "action_redo"
#define APP_WINDOW_ACTION_SELECT_ALL "action_select_all"
#define APP_WINDOW_ACTION_SELECT_NONE "action_select_none"
#define APP_WINDOW_ACTION_UNDO "action_undo"
#define APP_WINDOW_ACTION_SET_WALLPAPER "set-wallpaper"
#define BATCH_IMPORT_REPORT_EVERY_N_PREPARED_FILES 100
#define BATCH_IMPORT_REPORT_PREPARED_FILES_EVERY_N_MSEC 3000
#define BOX_HAND_GRENADES 12
#define RGB_TRANSFORMATION_MATRIX_SIZE 16
#define TINT_TRANSFORMATION_MIN_PARAMETER (-16.0f)
#define TINT_TRANSFORMATION_MAX_PARAMETER 16.0f
#define TEMPERATURE_TRANSFORMATION_MIN_PARAMETER (-16.0f)
#define TEMPERATURE_TRANSFORMATION_MAX_PARAMETER 16.0f
#define SATURATION_TRANSFORMATION_MIN_PARAMETER (-16.0f)
#define SATURATION_TRANSFORMATION_MAX_PARAMETER 16.0f
#define EXPOSURE_TRANSFORMATION_MIN_PARAMETER (-16.0f)
#define EXPOSURE_TRANSFORMATION_MAX_PARAMETER 16.0f
#define SHADOW_DETAIL_TRANSFORMATION_MIN_PARAMETER 0.0f
#define SHADOW_DETAIL_TRANSFORMATION_MAX_PARAMETER 32.0f
#define HIGHLIGHT_DETAIL_TRANSFORMATION_MIN_PARAMETER (-32.0f)
#define HIGHLIGHT_DETAIL_TRANSFORMATION_MAX_PARAMETER 0.0f
#define COMMAND_MANAGER_DEFAULT_DEPTH 20
#define MULTIPLE_DATA_SOURCE_COMMAND_MIN_OPS_FOR_PROGRESS_WINDOW 5
#define DIRECTORY_MONITOR_DEFAULT_PRIORITY G_PRIORITY_LOW
#define DIRECTORY_MONITOR_DIR_INFO_FLAGS G_FILE_QUERY_INFO_NONE
#define DIRECTORY_MONITOR_FILE_INFO_FLAGS G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS
#define DIRECTORY_MONITOR_UNKNOWN_INFO_FLAGS G_FILE_QUERY_INFO_NONE
#define DIRECTORY_MONITOR_SUPPORT_DIR_SYMLINKS TRUE
#define DIRECTORY_MONITOR_SUPPORT_FILE_SYMLINKS FALSE
#define DIRECTORY_MONITOR_SUPPLIED_ATTRIBUTES UTIL_FILE_ATTRIBUTES
#define EVENT_TYPENAME "event"
#define EVENT_PROP_SHOW_COMMENTS "show-comments"
#define EVENT_EVENT_BOUNDARY_HOUR 4
#define FULLSCREEN_WINDOW_TOOLBAR_DISMISSAL_SEC 2
#define FULLSCREEN_WINDOW_TOOLBAR_CHECK_DISMISSAL_MSEC 500
#define TRANSLATABLE "translatable"
#define MEDIA_MONITOR_MAX_OPERATIONS_PER_CYCLE 100
#define METADATA_WRITER_COMMIT_DELAY_MSEC ((guint) 3000)
#define METADATA_WRITER_COMMIT_SPACING_MSEC ((guint) 50)
#define PHOTO_TYPENAME "thumb"
#define PRINT_SETTINGS_MIN_CONTENT_PPI 72
#define PRINT_SETTINGS_MAX_CONTENT_PPI 1200
#define RESOURCES_APP_TITLE N_ ("Photos")
#define RESOURCES_APP_LIBRARY_ROLE _ ("Photo Manager")
#define RESOURCES_APP_DIRECT_ROLE _ ("Photo Viewer")
#define RESOURCES_APP_VERSION _VERSION
#define RESOURCES_GIT_VERSION NULL
#define RESOURCES_APP_GETTEXT_PACKAGE GETTEXT_PACKAGE
#define RESOURCES_WIKI_URL "https://wiki.gnome.org/Apps/Shotwell"
#define RESOURCES_PREFIX _PREFIX
#define RESOURCES_DEFAULT_ICON_SCALE 24
#define RESOURCES_CLOCKWISE "object-rotate-right"
#define RESOURCES_COUNTERCLOCKWISE "object-rotate-left"
#define RESOURCES_HFLIP "object-flip-horizontal"
#define RESOURCES_VFLIP "object-flip-vertical"
#define RESOURCES_IMPORT "shotwell-import"
#define RESOURCES_IMPORT_ALL "shotwell-import-all"
#define RESOURCES_ENHANCE "image-auto-adjust"
#define RESOURCES_HIDE_PANE "pane-hide-symbolic"
#define RESOURCES_SHOW_PANE "pane-show-symbolic"
#define RESOURCES_CROP_PIVOT_RETICLE "object-rotate-right"
#define RESOURCES_PUBLISH "applications-internet"
#define RESOURCES_MERGE "object-merge"
#define RESOURCES_ICON_GENERIC_PLUGIN "extension"
#define RESOURCES_ICON_SLIDESHOW_EXTENSION_POINT "media-playback-start"
#define RESOURCES_ICON_ZOOM_IN "zoom-in-symbolic"
#define RESOURCES_ICON_ZOOM_OUT "zoom-out-symbolic"
#define RESOURCES_ICON_SELECTION_ADD "selection-add"
#define RESOURCES_ICON_SELECTION_REMOVE "selection-remove"
#define RESOURCES_ICON_CAMERAS "camera-photo"
#define RESOURCES_ICON_EVENTS "x-office-calendar"
#define RESOURCES_ICON_ONE_EVENT "x-office-calendar"
#define RESOURCES_ICON_NO_EVENT "x-office-calendar"
#define RESOURCES_ICON_ONE_TAG "folder-tag"
#define RESOURCES_ICON_TAGS "folder-tag"
#define RESOURCES_ICON_FOLDER_CLOSED "folder"
#define RESOURCES_ICON_FOLDER_OPEN "folder-open"
#define RESOURCES_ICON_IMPORTING "go-down"
#define RESOURCES_ICON_LAST_IMPORT "document-open-recent"
#define RESOURCES_ICON_MISSING_FILES "process-stop"
#define RESOURCES_ICON_PHOTOS_PAGE "folder-pictures"
#define RESOURCES_ICON_TRASH_EMPTY "user-trash"
#define RESOURCES_ICON_TRASH_FULL "user-trash-full"
#define RESOURCES_ICON_VIDEOS_PAGE "folder-videos"
#define RESOURCES_ICON_RAW_PAGE "camera-web"
#define RESOURCES_ICON_FLAGGED_PAGE "edit-flag"
#define RESOURCES_ROTATE_CW_MENU _ ("Rotate _Right")
#define RESOURCES_ROTATE_CW_FULL_LABEL _ ("Rotate Right")
#define RESOURCES_ROTATE_CW_TOOLTIP _ ("Rotate the photos right (press Ctrl to rotate left)")
#define RESOURCES_ROTATE_CCW_MENU _ ("Rotate _Left")
#define RESOURCES_ROTATE_CCW_FULL_LABEL _ ("Rotate Left")
#define RESOURCES_ROTATE_CCW_TOOLTIP _ ("Rotate the photos left")
#define RESOURCES_HFLIP_MENU _ ("Flip Hori_zontally")
#define RESOURCES_HFLIP_LABEL _ ("Flip Horizontally")
#define RESOURCES_HFLIP_TOOLTIP _ ("Flip the image horizontally (press Ctrl to flip vertically)")
#define RESOURCES_VFLIP_MENU _ ("Flip Verti_cally")
#define RESOURCES_VFLIP_LABEL _ ("Flip Vertically")
#define RESOURCES_VFLIP_TOOLTIP _ ("Flip the image vertically")
#define RESOURCES_ENHANCE_MENU _ ("_Enhance")
#define RESOURCES_ENHANCE_LABEL _ ("Enhance")
#define RESOURCES_ENHANCE_TOOLTIP _ ("Automatically improve the photo's appearance \n" \
"(Overwrites previous color adjustments)")
#define RESOURCES_UNENHANCE_MENU _ ("Revert _Enhancement")
#define RESOURCES_UNENHANCE_LABEL _ ("Revert Enhancement")
#define RESOURCES_COPY_ADJUSTMENTS_MENU _ ("_Copy Color Adjustments")
#define RESOURCES_PASTE_ADJUSTMENTS_MENU _ ("_Paste Color Adjustments")
#define RESOURCES_PASTE_ADJUSTMENTS_LABEL _ ("Paste Color Adjustments")
#define RESOURCES_PASTE_ADJUSTMENTS_TOOLTIP _ ("Apply copied color adjustments to the selected photos")
#define RESOURCES_CROP_LABEL _ ("Crop")
#define RESOURCES_CROP_TOOLTIP _ ("Crop the photo's size")
#define RESOURCES_STRAIGHTEN_LABEL _ ("Straighten")
#define RESOURCES_STRAIGHTEN_TOOLTIP _ ("Straighten the photo")
#define RESOURCES_RED_EYE_LABEL _ ("Red-eye")
#define RESOURCES_RED_EYE_TOOLTIP _ ("Reduce or eliminate any red-eye effects in the photo")
#define RESOURCES_ADJUST_LABEL _ ("Adjust")
#define RESOURCES_ADJUST_TOOLTIP _ ("Adjust the photo's color and tone")
#define RESOURCES_REVERT_MENU _ ("Re_vert to Original")
#define RESOURCES_REVERT_LABEL _ ("Revert to Original")
#define RESOURCES_RENAME_EVENT_MENU _ ("Re_name Event…")
#define RESOURCES_RENAME_EVENT_LABEL _ ("Rename Event")
#define RESOURCES_COPY_IMAGE_LABEL _ ("Copy")
#define RESOURCES_COPY_METADATA_LABEL _ ("Copy Metadata")
#define RESOURCES_MAKE_KEY_PHOTO_MENU _ ("Make _Key Photo for Event")
#define RESOURCES_MAKE_KEY_PHOTO_LABEL _ ("Make Key Photo for Event")
#define RESOURCES_NEW_EVENT_MENU _ ("_New Event")
#define RESOURCES_NEW_EVENT_LABEL _ ("New Event")
#define RESOURCES_SET_PHOTO_EVENT_LABEL _ ("Move Photos")
#define RESOURCES_SET_PHOTO_EVENT_TOOLTIP _ ("Move photos to an event")
#define RESOURCES_MERGE_MENU _ ("_Merge Events")
#define RESOURCES_MERGE_LABEL _ ("Merge")
#define RESOURCES_MERGE_TOOLTIP _ ("Combine events into a single event")
#define RESOURCES_FILTER_PHOTOS_MENU _ ("_Filter Photos")
#define RESOURCES_DUPLICATE_PHOTO_MENU _ ("_Duplicate")
#define RESOURCES_DUPLICATE_PHOTO_LABEL _ ("Duplicate")
#define RESOURCES_DUPLICATE_PHOTO_TOOLTIP _ ("Make a duplicate of the photo")
#define RESOURCES_EXPORT_MENU _ ("_Export…")
#define RESOURCES_TOGGLE_METAPANE_TOOLTIP _ ("Show info panel")
#define RESOURCES_UNTOGGLE_METAPANE_TOOLTIP _ ("Hide info panel")
#define RESOURCES_PRINT_MENU _ ("_Print…")
#define RESOURCES_PUBLISH_MENU _ ("Pu_blish…")
#define RESOURCES_PUBLISH_TOOLTIP _ ("Publish to various websites")
#define RESOURCES_EDIT_TITLE_LABEL _ ("Edit Title")
#define RESOURCES_EDIT_COMMENT_LABEL _ ("Edit Comment")
#define RESOURCES_ADJUST_DATE_TIME_MENU _ ("_Adjust Date and Time…")
#define RESOURCES_ADJUST_DATE_TIME_LABEL _ ("Adjust Date and Time")
#define RESOURCES_FIND_LABEL _ ("Find")
#define RESOURCES_FLAG_MENU _ ("_Flag")
#define RESOURCES_UNFLAG_MENU _ ("Un_flag")
#define RESOURCES_DELETE_TAG_TITLE _ ("Delete Tag")
#define RESOURCES_DELETE_TAG_SIDEBAR_MENU _ ("_Delete")
#define RESOURCES_NEW_CHILD_TAG_SIDEBAR_MENU _ ("_New")
#define RESOURCES_RENAME_TAG_SIDEBAR_MENU _ ("_Rename…")
#define RESOURCES_MODIFY_TAGS_MENU _ ("Modif_y Tags…")
#define RESOURCES_MODIFY_TAGS_LABEL _ ("Modify Tags")
#define RESOURCES_DEFAULT_SAVED_SEARCH_NAME _ ("Smart Album")
#define RESOURCES_DELETE_SAVED_SEARCH_DIALOG_TITLE _ ("Delete Album")
#define RESOURCES_DELETE_SEARCH_MENU _ ("_Delete")
#define RESOURCES_EDIT_SEARCH_MENU _ ("_Edit…")
#define RESOURCES_RENAME_SEARCH_MENU _ ("Re_name…")
#define RESOURCES_DELETE_PHOTOS_MENU _ ("_Delete Selection")
#define RESOURCES_DELETE_FROM_TRASH_TOOLTIP _ ("Remove the selected photos from the trash")
#define RESOURCES_DELETE_FROM_LIBRARY_TOOLTIP _ ("Remove the selected photos from the library")
#define RESOURCES_RESTORE_PHOTOS_MENU _ ("_Restore Selection")
#define RESOURCES_RESTORE_PHOTOS_TOOLTIP _ ("Move the selected photos back into the library")
#define RESOURCES_JUMP_TO_FILE_MENU _ ("File Mana_ger")
#define RESOURCES_REMOVE_FROM_LIBRARY_MENU _ ("R_emove From Library")
#define RESOURCES_MOVE_TO_TRASH_MENU _ ("_Move to Trash")
#define RESOURCES_SELECT_ALL_MENU _ ("Select _All")
#define RESOURCES_SELECT_ALL_TOOLTIP _ ("Select all items")
#define RESOURCES_ALL_DATA -1
#define RESOURCES_ONIMAGE_FONT_COLOR "#000000"
#define RESOURCES_ONIMAGE_FONT_BACKGROUND "rgba(255,255,255,0.5)"
#define TAG_TYPENAME "tag"
#define TAG_PATH_SEPARATOR_STRING "/"
#define THUMBNAIL_CACHE_DEFAULT_INTERP GDK_INTERP_HYPER
#define THUMBNAIL_CACHE_DEFAULT_QUALITY JPEG_QUALITY_HIGH
#define THUMBNAIL_CACHE_MAX_INMEMORY_DATA_SIZE (2048 * 1024)
#define THUMBNAIL_CACHE_MAX_BIG_CACHED_BYTES ((gulong) ((60 * 1024) * 1024))
#define THUMBNAIL_CACHE_MAX_MEDIUM_CACHED_BYTES ((gulong) ((40 * 1024) * 1024))
#define THUMBNAIL_PROP_SHOW_TAGS CHECKERBOARD_ITEM_PROP_SHOW_SUBTITLES
#define THUMBNAIL_PROP_SIZE "thumbnail-size"
#define THUMBNAIL_FLAG_OFFSET 1
#define THUMBNAIL_LOW_QUALITY_INTERP GDK_INTERP_NEAREST
#define THUMBNAIL_HIGH_QUALITY_INTERP GDK_INTERP_BILINEAR
#define VIDEO_NO_VIDEO_INTERPRETER_STATE -1
#define VIDEO_TYPENAME "video"
#define VIDEO_FLAG_TRASH ((guint64) 0x0000000000000001)
#define VIDEO_FLAG_OFFLINE ((guint64) 0x0000000000000002)
#define VIDEO_FLAG_FLAGGED ((guint64) 0x0000000000000004)
#define GP_MAX_FILENAME_LENGTH 63
#define GP_MAX_BASEDIR_LENGTH 255
#define CHECKERBOARD_ITEM_PROP_SHOW_TITLES "show-titles"
#define CHECKERBOARD_ITEM_PROP_SHOW_COMMENTS "show-comments"
#define CHECKERBOARD_ITEM_PROP_SHOW_SUBTITLES "show-subtitles"
#define CHECKERBOARD_ITEM_FRAME_WIDTH 8
#define CHECKERBOARD_ITEM_LABEL_PADDING 4
#define CHECKERBOARD_ITEM_BORDER_WIDTH 0
#define CHECKERBOARD_ITEM_BRIGHTEN_SHIFT 0x18
#define CHECKERBOARD_ITEM_SELECTION_ICON_SIZE 24
#define CHECKERBOARD_LAYOUT_TOP_PADDING 16
#define CHECKERBOARD_LAYOUT_BOTTOM_PADDING 16
#define CHECKERBOARD_LAYOUT_ROW_GUTTER_PADDING 24
#define CHECKERBOARD_LAYOUT_COLUMN_GUTTER_PADDING 24
#define MAX_OBJECTS_DISPLAYED 3
#define EXPORT_DIALOG_NUM_SPECIAL_FORMATS 2
#define EXPORT_DIALOG_UNMODIFIED_FORMAT_LABEL _ ("Unmodified")
#define EXPORT_DIALOG_CURRENT_FORMAT_LABEL _ ("Current")
#define GSETTINGS_CONFIGURATION_ENGINE_ROOT_SCHEMA_NAME "io.elementary.photos"
#define GSETTINGS_CONFIGURATION_ENGINE_PREFS_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_ROOT_SCHEMA_NAME ".preferences"
#define GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_PREFS_SCHEMA_NAME ".ui"
#define GSETTINGS_CONFIGURATION_ENGINE_SLIDESHOW_PREFS_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_PREFS_SCHEMA_NAME ".slideshow"
#define GSETTINGS_CONFIGURATION_ENGINE_WINDOW_PREFS_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_PREFS_SCHEMA_NAME ".window"
#define GSETTINGS_CONFIGURATION_ENGINE_FILES_PREFS_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_PREFS_SCHEMA_NAME ".files"
#define GSETTINGS_CONFIGURATION_ENGINE_VIDEO_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_ROOT_SCHEMA_NAME ".video"
#define GSETTINGS_CONFIGURATION_ENGINE_PRINTING_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_ROOT_SCHEMA_NAME ".printing"
#define GSETTINGS_CONFIGURATION_ENGINE_SHARING_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_ROOT_SCHEMA_NAME ".sharing"
#define GSETTINGS_CONFIGURATION_ENGINE_CROP_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_ROOT_SCHEMA_NAME ".crop-settings"
#define GSETTINGS_CONFIGURATION_ENGINE_PLUGINS_ENABLE_DISABLE_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_ROOT_SCHEMA_NAME ".plugins.enable-state"
#define DATA_COLLECTION_INVALID_OBJECT_ORDINAL ((gint64) -1)
#define DATA_OBJECT_INVALID_OBJECT_ID ((gint64) -1)
#define DATABASE_TABLE_SCHEMA_VERSION 21
#define DB_IN_MEMORY_NAME ":memory:"
#define EVENT_ID_INVALID ((gint64) -1)
#define PHOTO_ID_INVALID ((gint64) -1)
#define IMPORT_ID_INVALID ((gint64) 0)
#define BACKING_PHOTO_ID_INVALID ((gint64) -1)
#define SAVED_SEARCH_ID_INVALID ((gint64) -1)
#define TAG_ID_INVALID ((gint64) -1)
#define TOMBSTONE_ID_INVALID ((gint64) -1)
#define VIDEO_ID_INVALID ((gint64) -1)
#define EDITING_TOOLS_REDEYE_INSTANCE_MIN_RADIUS 4
#define EDITING_TOOLS_REDEYE_INSTANCE_MAX_RADIUS 32
#define EDITING_TOOLS_REDEYE_INSTANCE_DEFAULT_RADIUS 10
#define LIBRARY_MAIN_PAGE_NAME _ ("Library")
#define LIBRARY_WINDOW_SIDEBAR_MIN_WIDTH 96
#define LIBRARY_WINDOW_SIDEBAR_MAX_WIDTH 320
#define LIBRARY_WINDOW_METADATA_SIDEBAR_MIN_WIDTH 150
#define LIBRARY_WINDOW_SORT_EVENTS_ORDER_ASCENDING 0
#define LIBRARY_WINDOW_SORT_EVENTS_ORDER_DESCENDING 1
#define LIBRARY_WINDOW_TAG_PATH_MIME_TYPE "shotwell/tag-path"
#define LIBRARY_WINDOW_MEDIA_LIST_MIME_TYPE "shotwell/media-id-atom"
#define GRAW_HD_POWER 2.222
#define GRAW_HD_SLOPE 4.5
#define GRAW_SRGB_POWER 2.4
#define GRAW_SRGB_SLOPE 12.92
#define JPEG_MARKER_PREFIX ((guint8) 0xFF)
#define PHOTO_METADATA_PREPARE_STRING_OPTIONS (((((PREPARE_INPUT_TEXT_OPTIONS_INVALID_IS_NULL | PREPARE_INPUT_TEXT_OPTIONS_EMPTY_IS_NULL) | PREPARE_INPUT_TEXT_OPTIONS_STRIP) | PREPARE_INPUT_TEXT_OPTIONS_STRIP_CRLF) | PREPARE_INPUT_TEXT_OPTIONS_NORMALIZE) | PREPARE_INPUT_TEXT_OPTIONS_VALIDATE)
#define SAVED_SEARCH_TYPENAME "saved_search"
#define TRANSITION_EFFECTS_MANAGER_NULL_EFFECT_ID NULL_TRANSITION_DESCRIPTOR_EFFECT_ID
#define TRANSITION_EFFECTS_MANAGER_RANDOM_EFFECT_ID RANDOM_EFFECT_DESCRIPTOR_EFFECT_ID
#define NULL_TRANSITION_DESCRIPTOR_EFFECT_ID "io.elementary.photos.transitions.null"
#define RANDOM_EFFECT_DESCRIPTOR_EFFECT_ID "io.elementary.photos.transitions.random"
#define WORKERS_UNLIMITED_THREADS -1
#define DEFAULT_USER_TEXT_INPUT_LENGTH 1024
#define UTIL_FILE_ATTRIBUTES "standard::*,time::*,id::file,id::filesystem,etag::value"
#define EDITING_HOST_PAGE_TRINKET_SCALE 24
#define EDITING_HOST_PAGE_TRINKET_PADDING 1
#define EDITING_HOST_PAGE_ZOOM_INCREMENT_SIZE 0.02
#define EDITING_HOST_PAGE_PAN_INCREMENT_SIZE 64
#define EDITING_HOST_PAGE_TOOL_WINDOW_SEPARATOR 8
#define EDITING_HOST_PAGE_PIXBUF_CACHE_COUNT 5
#define EDITING_HOST_PAGE_ORIGINAL_PIXBUF_CACHE_COUNT 5
#define NO_EVENT_PAGE_NAME _ ("No Event")
#define MASTER_EVENTS_DIRECTORY_PAGE_NAME _ ("Events")
#define SUB_EVENTS_DIRECTORY_PAGE_UNDATED_PAGE_NAME _ ("Undated")
#define SUB_EVENTS_DIRECTORY_PAGE_YEAR_FORMAT _ ("%Y")
#define SUB_EVENTS_DIRECTORY_PAGE_MONTH_FORMAT _ ("%OB")
#define FLAGGED_PAGE_NAME _ ("Flagged")
#define IMPORT_QUEUE_PAGE_NAME _ ("Importing…")
#define LAST_IMPORT_PAGE_NAME _ ("Last Import")
#define MEDIA_PAGE_MANUAL_STEPPING 16
#define OFFLINE_PAGE_NAME _ ("Missing Files")
#define LIBRARY_PHOTOS_PAGE_NAME _ ("Photos")
#define LIBRARY_RAWS_PAGE_NAME _ ("Raws")
#define TRASH_PAGE_NAME _ ("Trash")
#define LIBRARY_VIDEOS_PAGE_NAME _ ("Videos")
#define SPIT_UNSUPPORTED_INTERFACE -1
#define SPIT_CURRENT_INTERFACE 0
#define SPIT_ENTRY_POINT_NAME "spit_entry_point"
#define SPIT_TRANSITIONS_CURRENT_INTERFACE 0

#define PHOTOS_TYPE_APPLICATION (photos_application_get_type ())
#define PHOTOS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTOS_TYPE_APPLICATION, PhotosApplication))
#define PHOTOS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTOS_TYPE_APPLICATION, PhotosApplicationClass))
#define PHOTOS_IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTOS_TYPE_APPLICATION))
#define PHOTOS_IS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTOS_TYPE_APPLICATION))
#define PHOTOS_APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTOS_TYPE_APPLICATION, PhotosApplicationClass))

typedef struct _PhotosApplication PhotosApplication;
typedef struct _PhotosApplicationClass PhotosApplicationClass;
typedef struct _PhotosApplicationPrivate PhotosApplicationPrivate;

#define TYPE_PAGE_WINDOW (page_window_get_type ())
#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow))
#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass))
#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW))
#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW))
#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass))

typedef struct _PageWindow PageWindow;
typedef struct _PageWindowClass PageWindowClass;
typedef struct _PageWindowPrivate PageWindowPrivate;

#define TYPE_PAGE (page_get_type ())
#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page))
#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass))
#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE))
#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE))
#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass))

typedef struct _Page Page;
typedef struct _PageClass PageClass;

#define TYPE_APP_WINDOW (app_window_get_type ())
#define APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APP_WINDOW, AppWindow))
#define APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APP_WINDOW, AppWindowClass))
#define IS_APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APP_WINDOW))
#define IS_APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APP_WINDOW))
#define APP_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APP_WINDOW, AppWindowClass))

typedef struct _AppWindow AppWindow;
typedef struct _AppWindowClass AppWindowClass;
typedef struct _AppWindowPrivate AppWindowPrivate;

#define TYPE_DIMENSIONS (dimensions_get_type ())
typedef struct _Dimensions Dimensions;

#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ())
#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow))
#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass))
#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW))
#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW))
#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass))

typedef struct _FullscreenWindow FullscreenWindow;
typedef struct _FullscreenWindowClass FullscreenWindowClass;

#define TYPE_DATABASE_ERROR (database_error_get_type ())

#define TYPE_COMMAND_MANAGER (command_manager_get_type ())
#define COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND_MANAGER, CommandManager))
#define COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND_MANAGER, CommandManagerClass))
#define IS_COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND_MANAGER))
#define IS_COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND_MANAGER))
#define COMMAND_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND_MANAGER, CommandManagerClass))

typedef struct _CommandManager CommandManager;
typedef struct _CommandManagerClass CommandManagerClass;
typedef enum  {
	IMPORT_RESULT_SUCCESS,
	IMPORT_RESULT_FILE_ERROR,
	IMPORT_RESULT_DECODE_ERROR,
	IMPORT_RESULT_DATABASE_ERROR,
	IMPORT_RESULT_USER_ABORT,
	IMPORT_RESULT_NOT_A_FILE,
	IMPORT_RESULT_PHOTO_EXISTS,
	IMPORT_RESULT_UNSUPPORTED_FORMAT,
	IMPORT_RESULT_NOT_AN_IMAGE,
	IMPORT_RESULT_DISK_FAILURE,
	IMPORT_RESULT_DISK_FULL,
	IMPORT_RESULT_CAMERA_ERROR,
	IMPORT_RESULT_FILE_WRITE_ERROR,
	IMPORT_RESULT_PIXBUF_CORRUPT_IMAGE
} ImportResult;

#define TYPE_IMPORT_RESULT (import_result_get_type ())

#define TYPE_BATCH_IMPORT_JOB (batch_import_job_get_type ())
#define BATCH_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_JOB, BatchImportJob))
#define BATCH_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_JOB, BatchImportJobClass))
#define IS_BATCH_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_JOB))
#define IS_BATCH_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_JOB))
#define BATCH_IMPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_JOB, BatchImportJobClass))

typedef struct _BatchImportJob BatchImportJob;
typedef struct _BatchImportJobClass BatchImportJobClass;
typedef struct _BatchImportJobPrivate BatchImportJobPrivate;

#define TYPE_DUPLICATED_FILE (duplicated_file_get_type ())
#define DUPLICATED_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DUPLICATED_FILE, DuplicatedFile))
#define DUPLICATED_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DUPLICATED_FILE, DuplicatedFileClass))
#define IS_DUPLICATED_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DUPLICATED_FILE))
#define IS_DUPLICATED_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DUPLICATED_FILE))
#define DUPLICATED_FILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DUPLICATED_FILE, DuplicatedFileClass))

typedef struct _DuplicatedFile DuplicatedFile;
typedef struct _DuplicatedFileClass DuplicatedFileClass;

#define TYPE_DATA_OBJECT (data_object_get_type ())
#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject))
#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass))
#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT))
#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT))
#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass))

typedef struct _DataObject DataObject;
typedef struct _DataObjectClass DataObjectClass;

#define TYPE_DATA_SOURCE (data_source_get_type ())
#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource))
#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass))
#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE))
#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE))
#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass))

typedef struct _DataSource DataSource;
typedef struct _DataSourceClass DataSourceClass;

#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ())
#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource))
#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))
#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE))
#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE))
#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))

typedef struct _ThumbnailSource ThumbnailSource;
typedef struct _ThumbnailSourceClass ThumbnailSourceClass;

#define TYPE_MEDIA_SOURCE (media_source_get_type ())
#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource))
#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass))
#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE))
#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE))
#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass))

typedef struct _MediaSource MediaSource;
typedef struct _MediaSourceClass MediaSourceClass;

#define TYPE_BATCH_IMPORT_ROLL (batch_import_roll_get_type ())
#define BATCH_IMPORT_ROLL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_ROLL, BatchImportRoll))
#define BATCH_IMPORT_ROLL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_ROLL, BatchImportRollClass))
#define IS_BATCH_IMPORT_ROLL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_ROLL))
#define IS_BATCH_IMPORT_ROLL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_ROLL))
#define BATCH_IMPORT_ROLL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_ROLL, BatchImportRollClass))

typedef struct _BatchImportRoll BatchImportRoll;
typedef struct _BatchImportRollClass BatchImportRollClass;

#define TYPE_FILE_IMPORT_JOB (file_import_job_get_type ())
#define FILE_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FILE_IMPORT_JOB, FileImportJob))
#define FILE_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FILE_IMPORT_JOB, FileImportJobClass))
#define IS_FILE_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FILE_IMPORT_JOB))
#define IS_FILE_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FILE_IMPORT_JOB))
#define FILE_IMPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FILE_IMPORT_JOB, FileImportJobClass))

typedef struct _FileImportJob FileImportJob;
typedef struct _FileImportJobClass FileImportJobClass;
typedef struct _FileImportJobPrivate FileImportJobPrivate;
typedef struct _BatchImportRollPrivate BatchImportRollPrivate;

#define TYPE_IMPORT_ID (import_id_get_type ())
typedef struct _ImportID ImportID;

#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 TYPE_BATCH_IMPORT_RESULT (batch_import_result_get_type ())
#define BATCH_IMPORT_RESULT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_RESULT, BatchImportResult))
#define BATCH_IMPORT_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_RESULT, BatchImportResultClass))
#define IS_BATCH_IMPORT_RESULT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_RESULT))
#define IS_BATCH_IMPORT_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_RESULT))
#define BATCH_IMPORT_RESULT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_RESULT, BatchImportResultClass))

typedef struct _BatchImportResult BatchImportResult;
typedef struct _BatchImportResultClass BatchImportResultClass;
typedef struct _BatchImportResultPrivate BatchImportResultPrivate;

#define TYPE_IMPORT_MANIFEST (import_manifest_get_type ())
#define IMPORT_MANIFEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORT_MANIFEST, ImportManifest))
#define IMPORT_MANIFEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORT_MANIFEST, ImportManifestClass))
#define IS_IMPORT_MANIFEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORT_MANIFEST))
#define IS_IMPORT_MANIFEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORT_MANIFEST))
#define IMPORT_MANIFEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORT_MANIFEST, ImportManifestClass))

typedef struct _ImportManifest ImportManifest;
typedef struct _ImportManifestClass ImportManifestClass;
typedef struct _ImportManifestPrivate ImportManifestPrivate;

#define TYPE_BATCH_IMPORT (batch_import_get_type ())
#define BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT, BatchImport))
#define BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT, BatchImportClass))
#define IS_BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT))
#define IS_BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT))
#define BATCH_IMPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT, BatchImportClass))

typedef struct _BatchImport BatchImport;
typedef struct _BatchImportClass BatchImportClass;
typedef struct _BatchImportPrivate BatchImportPrivate;
typedef void (*BatchImportImportReporter) (ImportManifest* manifest, BatchImportRoll* import_roll, gpointer user_data);
typedef struct _DuplicatedFilePrivate DuplicatedFilePrivate;

#define TYPE_PHOTO_ID (photo_id_get_type ())
typedef struct _PhotoID PhotoID;

#define TYPE_VIDEO_ID (video_id_get_type ())
typedef struct _VideoID VideoID;
typedef enum  {
	BOX_LOCATION_OUTSIDE,
	BOX_LOCATION_INSIDE,
	BOX_LOCATION_TOP_SIDE,
	BOX_LOCATION_LEFT_SIDE,
	BOX_LOCATION_RIGHT_SIDE,
	BOX_LOCATION_BOTTOM_SIDE,
	BOX_LOCATION_TOP_LEFT,
	BOX_LOCATION_BOTTOM_LEFT,
	BOX_LOCATION_TOP_RIGHT,
	BOX_LOCATION_BOTTOM_RIGHT
} BoxLocation;

#define TYPE_BOX_LOCATION (box_location_get_type ())
typedef enum  {
	BOX_COMPLEMENTS_NONE,
	BOX_COMPLEMENTS_VERTICAL,
	BOX_COMPLEMENTS_HORIZONTAL,
	BOX_COMPLEMENTS_BOTH
} BoxComplements;

#define TYPE_BOX_COMPLEMENTS (box_complements_get_type ())

#define TYPE_BOX (box_get_type ())
typedef struct _Box Box;

#define TYPE_VIEW_MANAGER (view_manager_get_type ())
#define VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_MANAGER, ViewManager))
#define VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_MANAGER, ViewManagerClass))
#define IS_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_MANAGER))
#define IS_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_MANAGER))
#define VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_MANAGER, ViewManagerClass))

typedef struct _ViewManager ViewManager;
typedef struct _ViewManagerClass ViewManagerClass;
typedef struct _ViewManagerPrivate ViewManagerPrivate;

#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_COLLECTION_VIEW_MANAGER (collection_view_manager_get_type ())
#define COLLECTION_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManager))
#define COLLECTION_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManagerClass))
#define IS_COLLECTION_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_VIEW_MANAGER))
#define IS_COLLECTION_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_VIEW_MANAGER))
#define COLLECTION_VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManagerClass))

typedef struct _CollectionViewManager CollectionViewManager;
typedef struct _CollectionViewManagerClass CollectionViewManagerClass;
typedef struct _CollectionViewManagerPrivate CollectionViewManagerPrivate;

#define TYPE_CHECKERBOARD_PAGE (checkerboard_page_get_type ())
#define CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPage))
#define CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
#define IS_CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_PAGE))
#define IS_CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_PAGE))
#define CHECKERBOARD_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))

typedef struct _CheckerboardPage CheckerboardPage;
typedef struct _CheckerboardPageClass CheckerboardPageClass;

#define TYPE_MEDIA_PAGE (media_page_get_type ())
#define MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_PAGE, MediaPage))
#define MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_PAGE, MediaPageClass))
#define IS_MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_PAGE))
#define IS_MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_PAGE))
#define MEDIA_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_PAGE, MediaPageClass))

typedef struct _MediaPage MediaPage;
typedef struct _MediaPageClass MediaPageClass;

#define TYPE_COLLECTION_PAGE (collection_page_get_type ())
#define COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_PAGE, CollectionPage))
#define COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_PAGE, CollectionPageClass))
#define IS_COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_PAGE))
#define IS_COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_PAGE))
#define COLLECTION_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_PAGE, CollectionPageClass))

typedef struct _CollectionPage CollectionPage;
typedef struct _CollectionPageClass CollectionPageClass;

#define TYPE_RGB_ANALYTIC_PIXEL (rgb_analytic_pixel_get_type ())
typedef struct _RGBAnalyticPixel RGBAnalyticPixel;

#define TYPE_HSV_ANALYTIC_PIXEL (hsv_analytic_pixel_get_type ())
typedef struct _HSVAnalyticPixel HSVAnalyticPixel;
typedef enum  {
	COMPOSITION_MODE_NONE,
	COMPOSITION_MODE_RGB_MATRIX
} CompositionMode;

#define TYPE_COMPOSITION_MODE (composition_mode_get_type ())
typedef enum  {
	PIXEL_FORMAT_RGB,
	PIXEL_FORMAT_HSV
} PixelFormat;

#define TYPE_PIXEL_FORMAT (pixel_format_get_type ())
typedef enum  {
	PIXEL_TRANSFORMATION_TYPE_TONE_EXPANSION,
	PIXEL_TRANSFORMATION_TYPE_SHADOWS,
	PIXEL_TRANSFORMATION_TYPE_HIGHLIGHTS,
	PIXEL_TRANSFORMATION_TYPE_TEMPERATURE,
	PIXEL_TRANSFORMATION_TYPE_TINT,
	PIXEL_TRANSFORMATION_TYPE_SATURATION,
	PIXEL_TRANSFORMATION_TYPE_EXPOSURE
} PixelTransformationType;

#define TYPE_PIXEL_TRANSFORMATION_TYPE (pixel_transformation_type_get_type ())

#define TYPE_PIXEL_TRANSFORMATION_BUNDLE (pixel_transformation_bundle_get_type ())
#define PIXEL_TRANSFORMATION_BUNDLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundle))
#define PIXEL_TRANSFORMATION_BUNDLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundleClass))
#define IS_PIXEL_TRANSFORMATION_BUNDLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE))
#define IS_PIXEL_TRANSFORMATION_BUNDLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXEL_TRANSFORMATION_BUNDLE))
#define PIXEL_TRANSFORMATION_BUNDLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundleClass))

typedef struct _PixelTransformationBundle PixelTransformationBundle;
typedef struct _PixelTransformationBundleClass PixelTransformationBundleClass;
typedef struct _PixelTransformationBundlePrivate PixelTransformationBundlePrivate;

#define TYPE_PIXEL_TRANSFORMATION (pixel_transformation_get_type ())
#define PIXEL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXEL_TRANSFORMATION, PixelTransformation))
#define PIXEL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXEL_TRANSFORMATION, PixelTransformationClass))
#define IS_PIXEL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXEL_TRANSFORMATION))
#define IS_PIXEL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXEL_TRANSFORMATION))
#define PIXEL_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXEL_TRANSFORMATION, PixelTransformationClass))

typedef struct _PixelTransformation PixelTransformation;
typedef struct _PixelTransformationClass PixelTransformationClass;

#define TYPE_KEY_VALUE_MAP (key_value_map_get_type ())
#define KEY_VALUE_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_KEY_VALUE_MAP, KeyValueMap))
#define KEY_VALUE_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_KEY_VALUE_MAP, KeyValueMapClass))
#define IS_KEY_VALUE_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_KEY_VALUE_MAP))
#define IS_KEY_VALUE_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_KEY_VALUE_MAP))
#define KEY_VALUE_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_KEY_VALUE_MAP, KeyValueMapClass))

typedef struct _KeyValueMap KeyValueMap;
typedef struct _KeyValueMapClass KeyValueMapClass;

#define TYPE_PIXEL_TRANSFORMER (pixel_transformer_get_type ())
#define PIXEL_TRANSFORMER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXEL_TRANSFORMER, PixelTransformer))
#define PIXEL_TRANSFORMER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXEL_TRANSFORMER, PixelTransformerClass))
#define IS_PIXEL_TRANSFORMER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXEL_TRANSFORMER))
#define IS_PIXEL_TRANSFORMER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXEL_TRANSFORMER))
#define PIXEL_TRANSFORMER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXEL_TRANSFORMER, PixelTransformerClass))

typedef struct _PixelTransformer PixelTransformer;
typedef struct _PixelTransformerClass PixelTransformerClass;
typedef struct _PixelTransformationPrivate PixelTransformationPrivate;

#define TYPE_RGB_TRANSFORMATION (rgb_transformation_get_type ())
#define RGB_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RGB_TRANSFORMATION, RGBTransformation))
#define RGB_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RGB_TRANSFORMATION, RGBTransformationClass))
#define IS_RGB_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RGB_TRANSFORMATION))
#define IS_RGB_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RGB_TRANSFORMATION))
#define RGB_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RGB_TRANSFORMATION, RGBTransformationClass))

typedef struct _RGBTransformation RGBTransformation;
typedef struct _RGBTransformationClass RGBTransformationClass;
typedef struct _RGBTransformationPrivate RGBTransformationPrivate;

#define TYPE_HSV_TRANSFORMATION (hsv_transformation_get_type ())
#define HSV_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HSV_TRANSFORMATION, HSVTransformation))
#define HSV_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HSV_TRANSFORMATION, HSVTransformationClass))
#define IS_HSV_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HSV_TRANSFORMATION))
#define IS_HSV_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HSV_TRANSFORMATION))
#define HSV_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HSV_TRANSFORMATION, HSVTransformationClass))

typedef struct _HSVTransformation HSVTransformation;
typedef struct _HSVTransformationClass HSVTransformationClass;
typedef struct _HSVTransformationPrivate HSVTransformationPrivate;

#define TYPE_TINT_TRANSFORMATION (tint_transformation_get_type ())
#define TINT_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TINT_TRANSFORMATION, TintTransformation))
#define TINT_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TINT_TRANSFORMATION, TintTransformationClass))
#define IS_TINT_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TINT_TRANSFORMATION))
#define IS_TINT_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TINT_TRANSFORMATION))
#define TINT_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TINT_TRANSFORMATION, TintTransformationClass))

typedef struct _TintTransformation TintTransformation;
typedef struct _TintTransformationClass TintTransformationClass;
typedef struct _TintTransformationPrivate TintTransformationPrivate;

#define TYPE_TEMPERATURE_TRANSFORMATION (temperature_transformation_get_type ())
#define TEMPERATURE_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TEMPERATURE_TRANSFORMATION, TemperatureTransformation))
#define TEMPERATURE_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TEMPERATURE_TRANSFORMATION, TemperatureTransformationClass))
#define IS_TEMPERATURE_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TEMPERATURE_TRANSFORMATION))
#define IS_TEMPERATURE_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TEMPERATURE_TRANSFORMATION))
#define TEMPERATURE_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TEMPERATURE_TRANSFORMATION, TemperatureTransformationClass))

typedef struct _TemperatureTransformation TemperatureTransformation;
typedef struct _TemperatureTransformationClass TemperatureTransformationClass;
typedef struct _TemperatureTransformationPrivate TemperatureTransformationPrivate;

#define TYPE_SATURATION_TRANSFORMATION (saturation_transformation_get_type ())
#define SATURATION_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SATURATION_TRANSFORMATION, SaturationTransformation))
#define SATURATION_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SATURATION_TRANSFORMATION, SaturationTransformationClass))
#define IS_SATURATION_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SATURATION_TRANSFORMATION))
#define IS_SATURATION_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SATURATION_TRANSFORMATION))
#define SATURATION_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SATURATION_TRANSFORMATION, SaturationTransformationClass))

typedef struct _SaturationTransformation SaturationTransformation;
typedef struct _SaturationTransformationClass SaturationTransformationClass;
typedef struct _SaturationTransformationPrivate SaturationTransformationPrivate;

#define TYPE_EXPOSURE_TRANSFORMATION (exposure_transformation_get_type ())
#define EXPOSURE_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPOSURE_TRANSFORMATION, ExposureTransformation))
#define EXPOSURE_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPOSURE_TRANSFORMATION, ExposureTransformationClass))
#define IS_EXPOSURE_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPOSURE_TRANSFORMATION))
#define IS_EXPOSURE_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPOSURE_TRANSFORMATION))
#define EXPOSURE_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPOSURE_TRANSFORMATION, ExposureTransformationClass))

typedef struct _ExposureTransformation ExposureTransformation;
typedef struct _ExposureTransformationClass ExposureTransformationClass;
typedef struct _ExposureTransformationPrivate ExposureTransformationPrivate;
typedef struct _PixelTransformerPrivate PixelTransformerPrivate;

#define TYPE_INTENSITY_HISTOGRAM (intensity_histogram_get_type ())
#define INTENSITY_HISTOGRAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INTENSITY_HISTOGRAM, IntensityHistogram))
#define INTENSITY_HISTOGRAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INTENSITY_HISTOGRAM, IntensityHistogramClass))
#define IS_INTENSITY_HISTOGRAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INTENSITY_HISTOGRAM))
#define IS_INTENSITY_HISTOGRAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INTENSITY_HISTOGRAM))
#define INTENSITY_HISTOGRAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INTENSITY_HISTOGRAM, IntensityHistogramClass))

typedef struct _IntensityHistogram IntensityHistogram;
typedef struct _IntensityHistogramClass IntensityHistogramClass;
typedef struct _IntensityHistogramPrivate IntensityHistogramPrivate;

#define TYPE_EXPANSION_TRANSFORMATION (expansion_transformation_get_type ())
#define EXPANSION_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformation))
#define EXPANSION_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformationClass))
#define IS_EXPANSION_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPANSION_TRANSFORMATION))
#define IS_EXPANSION_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPANSION_TRANSFORMATION))
#define EXPANSION_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformationClass))

typedef struct _ExpansionTransformation ExpansionTransformation;
typedef struct _ExpansionTransformationClass ExpansionTransformationClass;
typedef struct _ExpansionTransformationPrivate ExpansionTransformationPrivate;

#define TYPE_SHADOW_DETAIL_TRANSFORMATION (shadow_detail_transformation_get_type ())
#define SHADOW_DETAIL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformation))
#define SHADOW_DETAIL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformationClass))
#define IS_SHADOW_DETAIL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SHADOW_DETAIL_TRANSFORMATION))
#define IS_SHADOW_DETAIL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SHADOW_DETAIL_TRANSFORMATION))
#define SHADOW_DETAIL_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformationClass))

typedef struct _ShadowDetailTransformation ShadowDetailTransformation;
typedef struct _ShadowDetailTransformationClass ShadowDetailTransformationClass;
typedef struct _ShadowDetailTransformationPrivate ShadowDetailTransformationPrivate;

#define TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION (hermite_gamma_approximation_function_get_type ())
#define HERMITE_GAMMA_APPROXIMATION_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION, HermiteGammaApproximationFunction))
#define HERMITE_GAMMA_APPROXIMATION_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION, HermiteGammaApproximationFunctionClass))
#define IS_HERMITE_GAMMA_APPROXIMATION_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION))
#define IS_HERMITE_GAMMA_APPROXIMATION_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION))
#define HERMITE_GAMMA_APPROXIMATION_FUNCTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION, HermiteGammaApproximationFunctionClass))

typedef struct _HermiteGammaApproximationFunction HermiteGammaApproximationFunction;
typedef struct _HermiteGammaApproximationFunctionClass HermiteGammaApproximationFunctionClass;
typedef struct _HermiteGammaApproximationFunctionPrivate HermiteGammaApproximationFunctionPrivate;

#define TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION (highlight_detail_transformation_get_type ())
#define HIGHLIGHT_DETAIL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformation))
#define HIGHLIGHT_DETAIL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformationClass))
#define IS_HIGHLIGHT_DETAIL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION))
#define IS_HIGHLIGHT_DETAIL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION))
#define HIGHLIGHT_DETAIL_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformationClass))

typedef struct _HighlightDetailTransformation HighlightDetailTransformation;
typedef struct _HighlightDetailTransformationClass HighlightDetailTransformationClass;
typedef struct _HighlightDetailTransformationPrivate HighlightDetailTransformationPrivate;

#define TYPE_COMMAND (command_get_type ())
#define COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND, Command))
#define COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND, CommandClass))
#define IS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND))
#define IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND))
#define COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND, CommandClass))

typedef struct _Command Command;
typedef struct _CommandClass CommandClass;
typedef struct _CommandPrivate CommandPrivate;
typedef struct _CommandManagerPrivate CommandManagerPrivate;

#define TYPE_PAGE_COMMAND (page_command_get_type ())
#define PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_COMMAND, PageCommand))
#define PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_COMMAND, PageCommandClass))
#define IS_PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_COMMAND))
#define IS_PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_COMMAND))
#define PAGE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_COMMAND, PageCommandClass))

typedef struct _PageCommand PageCommand;
typedef struct _PageCommandClass PageCommandClass;
typedef struct _PageCommandPrivate PageCommandPrivate;

#define TYPE_SINGLE_DATA_SOURCE_COMMAND (single_data_source_command_get_type ())
#define SINGLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand))
#define SINGLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommandClass))
#define IS_SINGLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND))
#define IS_SINGLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SINGLE_DATA_SOURCE_COMMAND))
#define SINGLE_DATA_SOURCE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommandClass))

typedef struct _SingleDataSourceCommand SingleDataSourceCommand;
typedef struct _SingleDataSourceCommandClass SingleDataSourceCommandClass;
typedef struct _SingleDataSourceCommandPrivate SingleDataSourceCommandPrivate;

#define TYPE_SIMPLE_PROXYABLE_COMMAND (simple_proxyable_command_get_type ())
#define SIMPLE_PROXYABLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SIMPLE_PROXYABLE_COMMAND, SimpleProxyableCommand))
#define SIMPLE_PROXYABLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SIMPLE_PROXYABLE_COMMAND, SimpleProxyableCommandClass))
#define IS_SIMPLE_PROXYABLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SIMPLE_PROXYABLE_COMMAND))
#define IS_SIMPLE_PROXYABLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SIMPLE_PROXYABLE_COMMAND))
#define SIMPLE_PROXYABLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SIMPLE_PROXYABLE_COMMAND, SimpleProxyableCommandClass))

typedef struct _SimpleProxyableCommand SimpleProxyableCommand;
typedef struct _SimpleProxyableCommandClass SimpleProxyableCommandClass;
typedef struct _SimpleProxyableCommandPrivate SimpleProxyableCommandPrivate;

#define TYPE_PROXYABLE (proxyable_get_type ())
#define PROXYABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PROXYABLE, Proxyable))
#define IS_PROXYABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PROXYABLE))
#define PROXYABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_PROXYABLE, ProxyableIface))

typedef struct _Proxyable Proxyable;
typedef struct _ProxyableIface ProxyableIface;

#define TYPE_SOURCE_PROXY (source_proxy_get_type ())
#define SOURCE_PROXY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_PROXY, SourceProxy))
#define SOURCE_PROXY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_PROXY, SourceProxyClass))
#define IS_SOURCE_PROXY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_PROXY))
#define IS_SOURCE_PROXY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_PROXY))
#define SOURCE_PROXY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_PROXY, SourceProxyClass))

typedef struct _SourceProxy SourceProxy;
typedef struct _SourceProxyClass SourceProxyClass;

#define TYPE_SINGLE_PHOTO_TRANSFORMATION_COMMAND (single_photo_transformation_command_get_type ())
#define SINGLE_PHOTO_TRANSFORMATION_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SINGLE_PHOTO_TRANSFORMATION_COMMAND, SinglePhotoTransformationCommand))
#define SINGLE_PHOTO_TRANSFORMATION_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SINGLE_PHOTO_TRANSFORMATION_COMMAND, SinglePhotoTransformationCommandClass))
#define IS_SINGLE_PHOTO_TRANSFORMATION_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SINGLE_PHOTO_TRANSFORMATION_COMMAND))
#define IS_SINGLE_PHOTO_TRANSFORMATION_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SINGLE_PHOTO_TRANSFORMATION_COMMAND))
#define SINGLE_PHOTO_TRANSFORMATION_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SINGLE_PHOTO_TRANSFORMATION_COMMAND, SinglePhotoTransformationCommandClass))

typedef struct _SinglePhotoTransformationCommand SinglePhotoTransformationCommand;
typedef struct _SinglePhotoTransformationCommandClass SinglePhotoTransformationCommandClass;
typedef struct _SinglePhotoTransformationCommandPrivate SinglePhotoTransformationCommandPrivate;

#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_GENERIC_PHOTO_TRANSFORMATION_COMMAND (generic_photo_transformation_command_get_type ())
#define GENERIC_PHOTO_TRANSFORMATION_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND, GenericPhotoTransformationCommand))
#define GENERIC_PHOTO_TRANSFORMATION_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND, GenericPhotoTransformationCommandClass))
#define IS_GENERIC_PHOTO_TRANSFORMATION_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND))
#define IS_GENERIC_PHOTO_TRANSFORMATION_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND))
#define GENERIC_PHOTO_TRANSFORMATION_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND, GenericPhotoTransformationCommandClass))

typedef struct _GenericPhotoTransformationCommand GenericPhotoTransformationCommand;
typedef struct _GenericPhotoTransformationCommandClass GenericPhotoTransformationCommandClass;
typedef struct _GenericPhotoTransformationCommandPrivate GenericPhotoTransformationCommandPrivate;

#define TYPE_MULTIPLE_DATA_SOURCE_COMMAND (multiple_data_source_command_get_type ())
#define MULTIPLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommand))
#define MULTIPLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommandClass))
#define IS_MULTIPLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULTIPLE_DATA_SOURCE_COMMAND))
#define IS_MULTIPLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MULTIPLE_DATA_SOURCE_COMMAND))
#define MULTIPLE_DATA_SOURCE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommandClass))

typedef struct _MultipleDataSourceCommand MultipleDataSourceCommand;
typedef struct _MultipleDataSourceCommandClass MultipleDataSourceCommandClass;
typedef struct _MultipleDataSourceCommandPrivate MultipleDataSourceCommandPrivate;

#define TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND (multiple_data_source_at_once_command_get_type ())
#define MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND, MultipleDataSourceAtOnceCommand))
#define MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND, MultipleDataSourceAtOnceCommandClass))
#define IS_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND))
#define IS_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND))
#define MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND, MultipleDataSourceAtOnceCommandClass))

typedef struct _MultipleDataSourceAtOnceCommand MultipleDataSourceAtOnceCommand;
typedef struct _MultipleDataSourceAtOnceCommandClass MultipleDataSourceAtOnceCommandClass;
typedef struct _MultipleDataSourceAtOnceCommandPrivate MultipleDataSourceAtOnceCommandPrivate;

#define TYPE_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND (multiple_photo_transformation_command_get_type ())
#define MULTIPLE_PHOTO_TRANSFORMATION_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND, MultiplePhotoTransformationCommand))
#define MULTIPLE_PHOTO_TRANSFORMATION_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND, MultiplePhotoTransformationCommandClass))
#define IS_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND))
#define IS_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND))
#define MULTIPLE_PHOTO_TRANSFORMATION_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND, MultiplePhotoTransformationCommandClass))

typedef struct _MultiplePhotoTransformationCommand MultiplePhotoTransformationCommand;
typedef struct _MultiplePhotoTransformationCommandClass MultiplePhotoTransformationCommandClass;
typedef struct _MultiplePhotoTransformationCommandPrivate MultiplePhotoTransformationCommandPrivate;

#define TYPE_ROTATE_SINGLE_COMMAND (rotate_single_command_get_type ())
#define ROTATE_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ROTATE_SINGLE_COMMAND, RotateSingleCommand))
#define ROTATE_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ROTATE_SINGLE_COMMAND, RotateSingleCommandClass))
#define IS_ROTATE_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ROTATE_SINGLE_COMMAND))
#define IS_ROTATE_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ROTATE_SINGLE_COMMAND))
#define ROTATE_SINGLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ROTATE_SINGLE_COMMAND, RotateSingleCommandClass))

typedef struct _RotateSingleCommand RotateSingleCommand;
typedef struct _RotateSingleCommandClass RotateSingleCommandClass;
typedef struct _RotateSingleCommandPrivate RotateSingleCommandPrivate;
typedef enum  {
	ROTATION_CLOCKWISE,
	ROTATION_COUNTERCLOCKWISE,
	ROTATION_MIRROR,
	ROTATION_UPSIDE_DOWN
} Rotation;

#define TYPE_ROTATION (rotation_get_type ())

#define TYPE_ROTATE_MULTIPLE_COMMAND (rotate_multiple_command_get_type ())
#define ROTATE_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ROTATE_MULTIPLE_COMMAND, RotateMultipleCommand))
#define ROTATE_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ROTATE_MULTIPLE_COMMAND, RotateMultipleCommandClass))
#define IS_ROTATE_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ROTATE_MULTIPLE_COMMAND))
#define IS_ROTATE_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ROTATE_MULTIPLE_COMMAND))
#define ROTATE_MULTIPLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ROTATE_MULTIPLE_COMMAND, RotateMultipleCommandClass))

typedef struct _RotateMultipleCommand RotateMultipleCommand;
typedef struct _RotateMultipleCommandClass RotateMultipleCommandClass;
typedef struct _RotateMultipleCommandPrivate RotateMultipleCommandPrivate;

#define TYPE_EDIT_TITLE_COMMAND (edit_title_command_get_type ())
#define EDIT_TITLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDIT_TITLE_COMMAND, EditTitleCommand))
#define EDIT_TITLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDIT_TITLE_COMMAND, EditTitleCommandClass))
#define IS_EDIT_TITLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDIT_TITLE_COMMAND))
#define IS_EDIT_TITLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDIT_TITLE_COMMAND))
#define EDIT_TITLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDIT_TITLE_COMMAND, EditTitleCommandClass))

typedef struct _EditTitleCommand EditTitleCommand;
typedef struct _EditTitleCommandClass EditTitleCommandClass;
typedef struct _EditTitleCommandPrivate EditTitleCommandPrivate;

#define TYPE_EDIT_COMMENT_COMMAND (edit_comment_command_get_type ())
#define EDIT_COMMENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDIT_COMMENT_COMMAND, EditCommentCommand))
#define EDIT_COMMENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDIT_COMMENT_COMMAND, EditCommentCommandClass))
#define IS_EDIT_COMMENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDIT_COMMENT_COMMAND))
#define IS_EDIT_COMMENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDIT_COMMENT_COMMAND))
#define EDIT_COMMENT_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDIT_COMMENT_COMMAND, EditCommentCommandClass))

typedef struct _EditCommentCommand EditCommentCommand;
typedef struct _EditCommentCommandClass EditCommentCommandClass;
typedef struct _EditCommentCommandPrivate EditCommentCommandPrivate;

#define TYPE_EDIT_MULTIPLE_TITLES_COMMAND (edit_multiple_titles_command_get_type ())
#define EDIT_MULTIPLE_TITLES_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDIT_MULTIPLE_TITLES_COMMAND, EditMultipleTitlesCommand))
#define EDIT_MULTIPLE_TITLES_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDIT_MULTIPLE_TITLES_COMMAND, EditMultipleTitlesCommandClass))
#define IS_EDIT_MULTIPLE_TITLES_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDIT_MULTIPLE_TITLES_COMMAND))
#define IS_EDIT_MULTIPLE_TITLES_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDIT_MULTIPLE_TITLES_COMMAND))
#define EDIT_MULTIPLE_TITLES_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDIT_MULTIPLE_TITLES_COMMAND, EditMultipleTitlesCommandClass))

typedef struct _EditMultipleTitlesCommand EditMultipleTitlesCommand;
typedef struct _EditMultipleTitlesCommandClass EditMultipleTitlesCommandClass;
typedef struct _EditMultipleTitlesCommandPrivate EditMultipleTitlesCommandPrivate;

#define TYPE_EDIT_MULTIPLE_COMMENTS_COMMAND (edit_multiple_comments_command_get_type ())
#define EDIT_MULTIPLE_COMMENTS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDIT_MULTIPLE_COMMENTS_COMMAND, EditMultipleCommentsCommand))
#define EDIT_MULTIPLE_COMMENTS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDIT_MULTIPLE_COMMENTS_COMMAND, EditMultipleCommentsCommandClass))
#define IS_EDIT_MULTIPLE_COMMENTS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDIT_MULTIPLE_COMMENTS_COMMAND))
#define IS_EDIT_MULTIPLE_COMMENTS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDIT_MULTIPLE_COMMENTS_COMMAND))
#define EDIT_MULTIPLE_COMMENTS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDIT_MULTIPLE_COMMENTS_COMMAND, EditMultipleCommentsCommandClass))

typedef struct _EditMultipleCommentsCommand EditMultipleCommentsCommand;
typedef struct _EditMultipleCommentsCommandClass EditMultipleCommentsCommandClass;
typedef struct _EditMultipleCommentsCommandPrivate EditMultipleCommentsCommandPrivate;

#define TYPE_RENAME_EVENT_COMMAND (rename_event_command_get_type ())
#define RENAME_EVENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RENAME_EVENT_COMMAND, RenameEventCommand))
#define RENAME_EVENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RENAME_EVENT_COMMAND, RenameEventCommandClass))
#define IS_RENAME_EVENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RENAME_EVENT_COMMAND))
#define IS_RENAME_EVENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RENAME_EVENT_COMMAND))
#define RENAME_EVENT_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RENAME_EVENT_COMMAND, RenameEventCommandClass))

typedef struct _RenameEventCommand RenameEventCommand;
typedef struct _RenameEventCommandClass RenameEventCommandClass;
typedef struct _RenameEventCommandPrivate RenameEventCommandPrivate;

#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;

#define TYPE_EVENT (event_get_type ())
#define EVENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT, Event))
#define EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT, EventClass))
#define IS_EVENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT))
#define IS_EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT))
#define EVENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT, EventClass))

typedef struct _Event Event;
typedef struct _EventClass EventClass;

#define TYPE_EDIT_EVENT_COMMENT_COMMAND (edit_event_comment_command_get_type ())
#define EDIT_EVENT_COMMENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDIT_EVENT_COMMENT_COMMAND, EditEventCommentCommand))
#define EDIT_EVENT_COMMENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDIT_EVENT_COMMENT_COMMAND, EditEventCommentCommandClass))
#define IS_EDIT_EVENT_COMMENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDIT_EVENT_COMMENT_COMMAND))
#define IS_EDIT_EVENT_COMMENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDIT_EVENT_COMMENT_COMMAND))
#define EDIT_EVENT_COMMENT_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDIT_EVENT_COMMENT_COMMAND, EditEventCommentCommandClass))

typedef struct _EditEventCommentCommand EditEventCommentCommand;
typedef struct _EditEventCommentCommandClass EditEventCommentCommandClass;
typedef struct _EditEventCommentCommandPrivate EditEventCommentCommandPrivate;

#define TYPE_SET_KEY_PHOTO_COMMAND (set_key_photo_command_get_type ())
#define SET_KEY_PHOTO_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SET_KEY_PHOTO_COMMAND, SetKeyPhotoCommand))
#define SET_KEY_PHOTO_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SET_KEY_PHOTO_COMMAND, SetKeyPhotoCommandClass))
#define IS_SET_KEY_PHOTO_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SET_KEY_PHOTO_COMMAND))
#define IS_SET_KEY_PHOTO_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SET_KEY_PHOTO_COMMAND))
#define SET_KEY_PHOTO_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SET_KEY_PHOTO_COMMAND, SetKeyPhotoCommandClass))

typedef struct _SetKeyPhotoCommand SetKeyPhotoCommand;
typedef struct _SetKeyPhotoCommandClass SetKeyPhotoCommandClass;
typedef struct _SetKeyPhotoCommandPrivate SetKeyPhotoCommandPrivate;

#define TYPE_REVERT_SINGLE_COMMAND (revert_single_command_get_type ())
#define REVERT_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_REVERT_SINGLE_COMMAND, RevertSingleCommand))
#define REVERT_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_REVERT_SINGLE_COMMAND, RevertSingleCommandClass))
#define IS_REVERT_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_REVERT_SINGLE_COMMAND))
#define IS_REVERT_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_REVERT_SINGLE_COMMAND))
#define REVERT_SINGLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_REVERT_SINGLE_COMMAND, RevertSingleCommandClass))

typedef struct _RevertSingleCommand RevertSingleCommand;
typedef struct _RevertSingleCommandClass RevertSingleCommandClass;
typedef struct _RevertSingleCommandPrivate RevertSingleCommandPrivate;

#define TYPE_REVERT_MULTIPLE_COMMAND (revert_multiple_command_get_type ())
#define REVERT_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_REVERT_MULTIPLE_COMMAND, RevertMultipleCommand))
#define REVERT_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_REVERT_MULTIPLE_COMMAND, RevertMultipleCommandClass))
#define IS_REVERT_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_REVERT_MULTIPLE_COMMAND))
#define IS_REVERT_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_REVERT_MULTIPLE_COMMAND))
#define REVERT_MULTIPLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_REVERT_MULTIPLE_COMMAND, RevertMultipleCommandClass))

typedef struct _RevertMultipleCommand RevertMultipleCommand;
typedef struct _RevertMultipleCommandClass RevertMultipleCommandClass;
typedef struct _RevertMultipleCommandPrivate RevertMultipleCommandPrivate;

#define TYPE_ENHANCE_SINGLE_COMMAND (enhance_single_command_get_type ())
#define ENHANCE_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ENHANCE_SINGLE_COMMAND, EnhanceSingleCommand))
#define ENHANCE_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ENHANCE_SINGLE_COMMAND, EnhanceSingleCommandClass))
#define IS_ENHANCE_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ENHANCE_SINGLE_COMMAND))
#define IS_ENHANCE_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ENHANCE_SINGLE_COMMAND))
#define ENHANCE_SINGLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ENHANCE_SINGLE_COMMAND, EnhanceSingleCommandClass))

typedef struct _EnhanceSingleCommand EnhanceSingleCommand;
typedef struct _EnhanceSingleCommandClass EnhanceSingleCommandClass;
typedef struct _EnhanceSingleCommandPrivate EnhanceSingleCommandPrivate;

#define TYPE_ENHANCE_MULTIPLE_COMMAND (enhance_multiple_command_get_type ())
#define ENHANCE_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ENHANCE_MULTIPLE_COMMAND, EnhanceMultipleCommand))
#define ENHANCE_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ENHANCE_MULTIPLE_COMMAND, EnhanceMultipleCommandClass))
#define IS_ENHANCE_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ENHANCE_MULTIPLE_COMMAND))
#define IS_ENHANCE_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ENHANCE_MULTIPLE_COMMAND))
#define ENHANCE_MULTIPLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ENHANCE_MULTIPLE_COMMAND, EnhanceMultipleCommandClass))

typedef struct _EnhanceMultipleCommand EnhanceMultipleCommand;
typedef struct _EnhanceMultipleCommandClass EnhanceMultipleCommandClass;
typedef struct _EnhanceMultipleCommandPrivate EnhanceMultipleCommandPrivate;

#define TYPE_UN_ENHANCE_SINGLE_COMMAND (un_enhance_single_command_get_type ())
#define UN_ENHANCE_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_UN_ENHANCE_SINGLE_COMMAND, UnEnhanceSingleCommand))
#define UN_ENHANCE_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_UN_ENHANCE_SINGLE_COMMAND, UnEnhanceSingleCommandClass))
#define IS_UN_ENHANCE_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_UN_ENHANCE_SINGLE_COMMAND))
#define IS_UN_ENHANCE_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_UN_ENHANCE_SINGLE_COMMAND))
#define UN_ENHANCE_SINGLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_UN_ENHANCE_SINGLE_COMMAND, UnEnhanceSingleCommandClass))

typedef struct _UnEnhanceSingleCommand UnEnhanceSingleCommand;
typedef struct _UnEnhanceSingleCommandClass UnEnhanceSingleCommandClass;
typedef struct _UnEnhanceSingleCommandPrivate UnEnhanceSingleCommandPrivate;

#define TYPE_UN_ENHANCE_MULTIPLE_COMMAND (un_enhance_multiple_command_get_type ())
#define UN_ENHANCE_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_UN_ENHANCE_MULTIPLE_COMMAND, UnEnhanceMultipleCommand))
#define UN_ENHANCE_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_UN_ENHANCE_MULTIPLE_COMMAND, UnEnhanceMultipleCommandClass))
#define IS_UN_ENHANCE_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_UN_ENHANCE_MULTIPLE_COMMAND))
#define IS_UN_ENHANCE_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_UN_ENHANCE_MULTIPLE_COMMAND))
#define UN_ENHANCE_MULTIPLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_UN_ENHANCE_MULTIPLE_COMMAND, UnEnhanceMultipleCommandClass))

typedef struct _UnEnhanceMultipleCommand UnEnhanceMultipleCommand;
typedef struct _UnEnhanceMultipleCommandClass UnEnhanceMultipleCommandClass;
typedef struct _UnEnhanceMultipleCommandPrivate UnEnhanceMultipleCommandPrivate;

#define TYPE_STRAIGHTEN_COMMAND (straighten_command_get_type ())
#define STRAIGHTEN_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_STRAIGHTEN_COMMAND, StraightenCommand))
#define STRAIGHTEN_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_STRAIGHTEN_COMMAND, StraightenCommandClass))
#define IS_STRAIGHTEN_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_STRAIGHTEN_COMMAND))
#define IS_STRAIGHTEN_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_STRAIGHTEN_COMMAND))
#define STRAIGHTEN_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_STRAIGHTEN_COMMAND, StraightenCommandClass))

typedef struct _StraightenCommand StraightenCommand;
typedef struct _StraightenCommandClass StraightenCommandClass;
typedef struct _StraightenCommandPrivate StraightenCommandPrivate;

#define TYPE_CROP_COMMAND (crop_command_get_type ())
#define CROP_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CROP_COMMAND, CropCommand))
#define CROP_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CROP_COMMAND, CropCommandClass))
#define IS_CROP_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CROP_COMMAND))
#define IS_CROP_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CROP_COMMAND))
#define CROP_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CROP_COMMAND, CropCommandClass))

typedef struct _CropCommand CropCommand;
typedef struct _CropCommandClass CropCommandClass;
typedef struct _CropCommandPrivate CropCommandPrivate;

#define TYPE_ADJUST_COLORS_SINGLE_COMMAND (adjust_colors_single_command_get_type ())
#define ADJUST_COLORS_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ADJUST_COLORS_SINGLE_COMMAND, AdjustColorsSingleCommand))
#define ADJUST_COLORS_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ADJUST_COLORS_SINGLE_COMMAND, AdjustColorsSingleCommandClass))
#define IS_ADJUST_COLORS_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ADJUST_COLORS_SINGLE_COMMAND))
#define IS_ADJUST_COLORS_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ADJUST_COLORS_SINGLE_COMMAND))
#define ADJUST_COLORS_SINGLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ADJUST_COLORS_SINGLE_COMMAND, AdjustColorsSingleCommandClass))

typedef struct _AdjustColorsSingleCommand AdjustColorsSingleCommand;
typedef struct _AdjustColorsSingleCommandClass AdjustColorsSingleCommandClass;
typedef struct _AdjustColorsSingleCommandPrivate AdjustColorsSingleCommandPrivate;

#define TYPE_ADJUST_COLORS_MULTIPLE_COMMAND (adjust_colors_multiple_command_get_type ())
#define ADJUST_COLORS_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ADJUST_COLORS_MULTIPLE_COMMAND, AdjustColorsMultipleCommand))
#define ADJUST_COLORS_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ADJUST_COLORS_MULTIPLE_COMMAND, AdjustColorsMultipleCommandClass))
#define IS_ADJUST_COLORS_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ADJUST_COLORS_MULTIPLE_COMMAND))
#define IS_ADJUST_COLORS_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ADJUST_COLORS_MULTIPLE_COMMAND))
#define ADJUST_COLORS_MULTIPLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ADJUST_COLORS_MULTIPLE_COMMAND, AdjustColorsMultipleCommandClass))

typedef struct _AdjustColorsMultipleCommand AdjustColorsMultipleCommand;
typedef struct _AdjustColorsMultipleCommandClass AdjustColorsMultipleCommandClass;
typedef struct _AdjustColorsMultipleCommandPrivate AdjustColorsMultipleCommandPrivate;

#define TYPE_REDEYE_COMMAND (redeye_command_get_type ())
#define REDEYE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_REDEYE_COMMAND, RedeyeCommand))
#define REDEYE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_REDEYE_COMMAND, RedeyeCommandClass))
#define IS_REDEYE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_REDEYE_COMMAND))
#define IS_REDEYE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_REDEYE_COMMAND))
#define REDEYE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_REDEYE_COMMAND, RedeyeCommandClass))

typedef struct _RedeyeCommand RedeyeCommand;
typedef struct _RedeyeCommandClass RedeyeCommandClass;
typedef struct _RedeyeCommandPrivate RedeyeCommandPrivate;

#define EDITING_TOOLS_TYPE_REDEYE_INSTANCE (editing_tools_redeye_instance_get_type ())
typedef struct _EditingToolsRedeyeInstance EditingToolsRedeyeInstance;

#define TYPE_MOVE_PHOTOS_COMMAND (move_photos_command_get_type ())
#define MOVE_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MOVE_PHOTOS_COMMAND, MovePhotosCommand))
#define MOVE_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MOVE_PHOTOS_COMMAND, MovePhotosCommandClass))
#define IS_MOVE_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MOVE_PHOTOS_COMMAND))
#define IS_MOVE_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MOVE_PHOTOS_COMMAND))
#define MOVE_PHOTOS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MOVE_PHOTOS_COMMAND, MovePhotosCommandClass))

typedef struct _MovePhotosCommand MovePhotosCommand;
typedef struct _MovePhotosCommandClass MovePhotosCommandClass;
typedef struct _MovePhotosCommandPrivate MovePhotosCommandPrivate;

#define MOVE_PHOTOS_COMMAND_TYPE_REAL_MOVE_PHOTOS_COMMAND (move_photos_command_real_move_photos_command_get_type ())
#define MOVE_PHOTOS_COMMAND_REAL_MOVE_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MOVE_PHOTOS_COMMAND_TYPE_REAL_MOVE_PHOTOS_COMMAND, MovePhotosCommandRealMovePhotosCommand))
#define MOVE_PHOTOS_COMMAND_REAL_MOVE_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MOVE_PHOTOS_COMMAND_TYPE_REAL_MOVE_PHOTOS_COMMAND, MovePhotosCommandRealMovePhotosCommandClass))
#define MOVE_PHOTOS_COMMAND_IS_REAL_MOVE_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MOVE_PHOTOS_COMMAND_TYPE_REAL_MOVE_PHOTOS_COMMAND))
#define MOVE_PHOTOS_COMMAND_IS_REAL_MOVE_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MOVE_PHOTOS_COMMAND_TYPE_REAL_MOVE_PHOTOS_COMMAND))
#define MOVE_PHOTOS_COMMAND_REAL_MOVE_PHOTOS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MOVE_PHOTOS_COMMAND_TYPE_REAL_MOVE_PHOTOS_COMMAND, MovePhotosCommandRealMovePhotosCommandClass))

typedef struct _MovePhotosCommandRealMovePhotosCommand MovePhotosCommandRealMovePhotosCommand;
typedef struct _MovePhotosCommandRealMovePhotosCommandClass MovePhotosCommandRealMovePhotosCommandClass;
typedef struct _MovePhotosCommandRealMovePhotosCommandPrivate MovePhotosCommandRealMovePhotosCommandPrivate;

#define TYPE_NEW_EVENT_COMMAND (new_event_command_get_type ())
#define NEW_EVENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NEW_EVENT_COMMAND, NewEventCommand))
#define NEW_EVENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NEW_EVENT_COMMAND, NewEventCommandClass))
#define IS_NEW_EVENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NEW_EVENT_COMMAND))
#define IS_NEW_EVENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NEW_EVENT_COMMAND))
#define NEW_EVENT_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NEW_EVENT_COMMAND, NewEventCommandClass))

typedef struct _NewEventCommand NewEventCommand;
typedef struct _NewEventCommandClass NewEventCommandClass;
typedef struct _NewEventCommandPrivate NewEventCommandPrivate;

#define TYPE_SET_EVENT_COMMAND (set_event_command_get_type ())
#define SET_EVENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SET_EVENT_COMMAND, SetEventCommand))
#define SET_EVENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SET_EVENT_COMMAND, SetEventCommandClass))
#define IS_SET_EVENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SET_EVENT_COMMAND))
#define IS_SET_EVENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SET_EVENT_COMMAND))
#define SET_EVENT_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SET_EVENT_COMMAND, SetEventCommandClass))

typedef struct _SetEventCommand SetEventCommand;
typedef struct _SetEventCommandClass SetEventCommandClass;
typedef struct _SetEventCommandPrivate SetEventCommandPrivate;

#define TYPE_MERGE_EVENTS_COMMAND (merge_events_command_get_type ())
#define MERGE_EVENTS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MERGE_EVENTS_COMMAND, MergeEventsCommand))
#define MERGE_EVENTS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MERGE_EVENTS_COMMAND, MergeEventsCommandClass))
#define IS_MERGE_EVENTS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MERGE_EVENTS_COMMAND))
#define IS_MERGE_EVENTS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MERGE_EVENTS_COMMAND))
#define MERGE_EVENTS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MERGE_EVENTS_COMMAND, MergeEventsCommandClass))

typedef struct _MergeEventsCommand MergeEventsCommand;
typedef struct _MergeEventsCommandClass MergeEventsCommandClass;
typedef struct _MergeEventsCommandPrivate MergeEventsCommandPrivate;

#define TYPE_DUPLICATE_MULTIPLE_PHOTOS_COMMAND (duplicate_multiple_photos_command_get_type ())
#define DUPLICATE_MULTIPLE_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DUPLICATE_MULTIPLE_PHOTOS_COMMAND, DuplicateMultiplePhotosCommand))
#define DUPLICATE_MULTIPLE_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DUPLICATE_MULTIPLE_PHOTOS_COMMAND, DuplicateMultiplePhotosCommandClass))
#define IS_DUPLICATE_MULTIPLE_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DUPLICATE_MULTIPLE_PHOTOS_COMMAND))
#define IS_DUPLICATE_MULTIPLE_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DUPLICATE_MULTIPLE_PHOTOS_COMMAND))
#define DUPLICATE_MULTIPLE_PHOTOS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DUPLICATE_MULTIPLE_PHOTOS_COMMAND, DuplicateMultiplePhotosCommandClass))

typedef struct _DuplicateMultiplePhotosCommand DuplicateMultiplePhotosCommand;
typedef struct _DuplicateMultiplePhotosCommandClass DuplicateMultiplePhotosCommandClass;
typedef struct _DuplicateMultiplePhotosCommandPrivate DuplicateMultiplePhotosCommandPrivate;

#define TYPE_SET_RAW_DEVELOPER_COMMAND (set_raw_developer_command_get_type ())
#define SET_RAW_DEVELOPER_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SET_RAW_DEVELOPER_COMMAND, SetRawDeveloperCommand))
#define SET_RAW_DEVELOPER_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SET_RAW_DEVELOPER_COMMAND, SetRawDeveloperCommandClass))
#define IS_SET_RAW_DEVELOPER_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SET_RAW_DEVELOPER_COMMAND))
#define IS_SET_RAW_DEVELOPER_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SET_RAW_DEVELOPER_COMMAND))
#define SET_RAW_DEVELOPER_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SET_RAW_DEVELOPER_COMMAND, SetRawDeveloperCommandClass))

typedef struct _SetRawDeveloperCommand SetRawDeveloperCommand;
typedef struct _SetRawDeveloperCommandClass SetRawDeveloperCommandClass;
typedef struct _SetRawDeveloperCommandPrivate SetRawDeveloperCommandPrivate;
typedef enum  {
	RAW_DEVELOPER_SHOTWELL = 0,
	RAW_DEVELOPER_CAMERA,
	RAW_DEVELOPER_EMBEDDED
} RawDeveloper;

#define TYPE_RAW_DEVELOPER (raw_developer_get_type ())

#define TYPE_ADJUST_DATE_TIME_PHOTO_COMMAND (adjust_date_time_photo_command_get_type ())
#define ADJUST_DATE_TIME_PHOTO_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ADJUST_DATE_TIME_PHOTO_COMMAND, AdjustDateTimePhotoCommand))
#define ADJUST_DATE_TIME_PHOTO_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ADJUST_DATE_TIME_PHOTO_COMMAND, AdjustDateTimePhotoCommandClass))
#define IS_ADJUST_DATE_TIME_PHOTO_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ADJUST_DATE_TIME_PHOTO_COMMAND))
#define IS_ADJUST_DATE_TIME_PHOTO_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ADJUST_DATE_TIME_PHOTO_COMMAND))
#define ADJUST_DATE_TIME_PHOTO_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ADJUST_DATE_TIME_PHOTO_COMMAND, AdjustDateTimePhotoCommandClass))

typedef struct _AdjustDateTimePhotoCommand AdjustDateTimePhotoCommand;
typedef struct _AdjustDateTimePhotoCommandClass AdjustDateTimePhotoCommandClass;
typedef struct _AdjustDateTimePhotoCommandPrivate AdjustDateTimePhotoCommandPrivate;

#define TYPE_DATEABLE (dateable_get_type ())
#define DATEABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATEABLE, Dateable))
#define IS_DATEABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATEABLE))
#define DATEABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_DATEABLE, DateableIface))

typedef struct _Dateable Dateable;
typedef struct _DateableIface DateableIface;

#define TYPE_ADJUST_DATE_TIME_PHOTOS_COMMAND (adjust_date_time_photos_command_get_type ())
#define ADJUST_DATE_TIME_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ADJUST_DATE_TIME_PHOTOS_COMMAND, AdjustDateTimePhotosCommand))
#define ADJUST_DATE_TIME_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ADJUST_DATE_TIME_PHOTOS_COMMAND, AdjustDateTimePhotosCommandClass))
#define IS_ADJUST_DATE_TIME_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ADJUST_DATE_TIME_PHOTOS_COMMAND))
#define IS_ADJUST_DATE_TIME_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ADJUST_DATE_TIME_PHOTOS_COMMAND))
#define ADJUST_DATE_TIME_PHOTOS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ADJUST_DATE_TIME_PHOTOS_COMMAND, AdjustDateTimePhotosCommandClass))

typedef struct _AdjustDateTimePhotosCommand AdjustDateTimePhotosCommand;
typedef struct _AdjustDateTimePhotosCommandClass AdjustDateTimePhotosCommandClass;
typedef struct _AdjustDateTimePhotosCommandPrivate AdjustDateTimePhotosCommandPrivate;

#define TYPE_ADD_TAGS_COMMAND (add_tags_command_get_type ())
#define ADD_TAGS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ADD_TAGS_COMMAND, AddTagsCommand))
#define ADD_TAGS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ADD_TAGS_COMMAND, AddTagsCommandClass))
#define IS_ADD_TAGS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ADD_TAGS_COMMAND))
#define IS_ADD_TAGS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ADD_TAGS_COMMAND))
#define ADD_TAGS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ADD_TAGS_COMMAND, AddTagsCommandClass))

typedef struct _AddTagsCommand AddTagsCommand;
typedef struct _AddTagsCommandClass AddTagsCommandClass;
typedef struct _AddTagsCommandPrivate AddTagsCommandPrivate;

#define TYPE_RENAME_TAG_COMMAND (rename_tag_command_get_type ())
#define RENAME_TAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RENAME_TAG_COMMAND, RenameTagCommand))
#define RENAME_TAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RENAME_TAG_COMMAND, RenameTagCommandClass))
#define IS_RENAME_TAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RENAME_TAG_COMMAND))
#define IS_RENAME_TAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RENAME_TAG_COMMAND))
#define RENAME_TAG_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RENAME_TAG_COMMAND, RenameTagCommandClass))

typedef struct _RenameTagCommand RenameTagCommand;
typedef struct _RenameTagCommandClass RenameTagCommandClass;
typedef struct _RenameTagCommandPrivate RenameTagCommandPrivate;

#define TYPE_TAG (tag_get_type ())
#define TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAG, Tag))
#define TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAG, TagClass))
#define IS_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAG))
#define IS_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAG))
#define TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAG, TagClass))

typedef struct _Tag Tag;
typedef struct _TagClass TagClass;

#define TYPE_DELETE_TAG_COMMAND (delete_tag_command_get_type ())
#define DELETE_TAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DELETE_TAG_COMMAND, DeleteTagCommand))
#define DELETE_TAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DELETE_TAG_COMMAND, DeleteTagCommandClass))
#define IS_DELETE_TAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DELETE_TAG_COMMAND))
#define IS_DELETE_TAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DELETE_TAG_COMMAND))
#define DELETE_TAG_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DELETE_TAG_COMMAND, DeleteTagCommandClass))

typedef struct _DeleteTagCommand DeleteTagCommand;
typedef struct _DeleteTagCommandClass DeleteTagCommandClass;
typedef struct _DeleteTagCommandPrivate DeleteTagCommandPrivate;

#define TYPE_NEW_CHILD_TAG_COMMAND (new_child_tag_command_get_type ())
#define NEW_CHILD_TAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NEW_CHILD_TAG_COMMAND, NewChildTagCommand))
#define NEW_CHILD_TAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NEW_CHILD_TAG_COMMAND, NewChildTagCommandClass))
#define IS_NEW_CHILD_TAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NEW_CHILD_TAG_COMMAND))
#define IS_NEW_CHILD_TAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NEW_CHILD_TAG_COMMAND))
#define NEW_CHILD_TAG_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NEW_CHILD_TAG_COMMAND, NewChildTagCommandClass))

typedef struct _NewChildTagCommand NewChildTagCommand;
typedef struct _NewChildTagCommandClass NewChildTagCommandClass;
typedef struct _NewChildTagCommandPrivate NewChildTagCommandPrivate;

#define TYPE_NEW_ROOT_TAG_COMMAND (new_root_tag_command_get_type ())
#define NEW_ROOT_TAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NEW_ROOT_TAG_COMMAND, NewRootTagCommand))
#define NEW_ROOT_TAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NEW_ROOT_TAG_COMMAND, NewRootTagCommandClass))
#define IS_NEW_ROOT_TAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NEW_ROOT_TAG_COMMAND))
#define IS_NEW_ROOT_TAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NEW_ROOT_TAG_COMMAND))
#define NEW_ROOT_TAG_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NEW_ROOT_TAG_COMMAND, NewRootTagCommandClass))

typedef struct _NewRootTagCommand NewRootTagCommand;
typedef struct _NewRootTagCommandClass NewRootTagCommandClass;
typedef struct _NewRootTagCommandPrivate NewRootTagCommandPrivate;

#define TYPE_REPARENT_TAG_COMMAND (reparent_tag_command_get_type ())
#define REPARENT_TAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_REPARENT_TAG_COMMAND, ReparentTagCommand))
#define REPARENT_TAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_REPARENT_TAG_COMMAND, ReparentTagCommandClass))
#define IS_REPARENT_TAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_REPARENT_TAG_COMMAND))
#define IS_REPARENT_TAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_REPARENT_TAG_COMMAND))
#define REPARENT_TAG_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_REPARENT_TAG_COMMAND, ReparentTagCommandClass))

typedef struct _ReparentTagCommand ReparentTagCommand;
typedef struct _ReparentTagCommandClass ReparentTagCommandClass;
typedef struct _ReparentTagCommandPrivate ReparentTagCommandPrivate;

#define TYPE_MODIFY_TAGS_COMMAND (modify_tags_command_get_type ())
#define MODIFY_TAGS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MODIFY_TAGS_COMMAND, ModifyTagsCommand))
#define MODIFY_TAGS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MODIFY_TAGS_COMMAND, ModifyTagsCommandClass))
#define IS_MODIFY_TAGS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MODIFY_TAGS_COMMAND))
#define IS_MODIFY_TAGS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MODIFY_TAGS_COMMAND))
#define MODIFY_TAGS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MODIFY_TAGS_COMMAND, ModifyTagsCommandClass))

typedef struct _ModifyTagsCommand ModifyTagsCommand;
typedef struct _ModifyTagsCommandClass ModifyTagsCommandClass;
typedef struct _ModifyTagsCommandPrivate ModifyTagsCommandPrivate;

#define TYPE_TAG_UNTAG_PHOTOS_COMMAND (tag_untag_photos_command_get_type ())
#define TAG_UNTAG_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAG_UNTAG_PHOTOS_COMMAND, TagUntagPhotosCommand))
#define TAG_UNTAG_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAG_UNTAG_PHOTOS_COMMAND, TagUntagPhotosCommandClass))
#define IS_TAG_UNTAG_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAG_UNTAG_PHOTOS_COMMAND))
#define IS_TAG_UNTAG_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAG_UNTAG_PHOTOS_COMMAND))
#define TAG_UNTAG_PHOTOS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAG_UNTAG_PHOTOS_COMMAND, TagUntagPhotosCommandClass))

typedef struct _TagUntagPhotosCommand TagUntagPhotosCommand;
typedef struct _TagUntagPhotosCommandClass TagUntagPhotosCommandClass;
typedef struct _TagUntagPhotosCommandPrivate TagUntagPhotosCommandPrivate;

#define TYPE_RENAME_SAVED_SEARCH_COMMAND (rename_saved_search_command_get_type ())
#define RENAME_SAVED_SEARCH_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RENAME_SAVED_SEARCH_COMMAND, RenameSavedSearchCommand))
#define RENAME_SAVED_SEARCH_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RENAME_SAVED_SEARCH_COMMAND, RenameSavedSearchCommandClass))
#define IS_RENAME_SAVED_SEARCH_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RENAME_SAVED_SEARCH_COMMAND))
#define IS_RENAME_SAVED_SEARCH_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RENAME_SAVED_SEARCH_COMMAND))
#define RENAME_SAVED_SEARCH_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RENAME_SAVED_SEARCH_COMMAND, RenameSavedSearchCommandClass))

typedef struct _RenameSavedSearchCommand RenameSavedSearchCommand;
typedef struct _RenameSavedSearchCommandClass RenameSavedSearchCommandClass;
typedef struct _RenameSavedSearchCommandPrivate RenameSavedSearchCommandPrivate;

#define TYPE_SAVED_SEARCH (saved_search_get_type ())
#define SAVED_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH, SavedSearch))
#define SAVED_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH, SavedSearchClass))
#define IS_SAVED_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH))
#define IS_SAVED_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH))
#define SAVED_SEARCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH, SavedSearchClass))

typedef struct _SavedSearch SavedSearch;
typedef struct _SavedSearchClass SavedSearchClass;

#define TYPE_DELETE_SAVED_SEARCH_COMMAND (delete_saved_search_command_get_type ())
#define DELETE_SAVED_SEARCH_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DELETE_SAVED_SEARCH_COMMAND, DeleteSavedSearchCommand))
#define DELETE_SAVED_SEARCH_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DELETE_SAVED_SEARCH_COMMAND, DeleteSavedSearchCommandClass))
#define IS_DELETE_SAVED_SEARCH_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DELETE_SAVED_SEARCH_COMMAND))
#define IS_DELETE_SAVED_SEARCH_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DELETE_SAVED_SEARCH_COMMAND))
#define DELETE_SAVED_SEARCH_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DELETE_SAVED_SEARCH_COMMAND, DeleteSavedSearchCommandClass))

typedef struct _DeleteSavedSearchCommand DeleteSavedSearchCommand;
typedef struct _DeleteSavedSearchCommandClass DeleteSavedSearchCommandClass;
typedef struct _DeleteSavedSearchCommandPrivate DeleteSavedSearchCommandPrivate;

#define TYPE_TRASH_UNTRASH_PHOTOS_COMMAND (trash_untrash_photos_command_get_type ())
#define TRASH_UNTRASH_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND, TrashUntrashPhotosCommand))
#define TRASH_UNTRASH_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND, TrashUntrashPhotosCommandClass))
#define IS_TRASH_UNTRASH_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND))
#define IS_TRASH_UNTRASH_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND))
#define TRASH_UNTRASH_PHOTOS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND, TrashUntrashPhotosCommandClass))

typedef struct _TrashUntrashPhotosCommand TrashUntrashPhotosCommand;
typedef struct _TrashUntrashPhotosCommandClass TrashUntrashPhotosCommandClass;
typedef struct _TrashUntrashPhotosCommandPrivate TrashUntrashPhotosCommandPrivate;

#define TYPE_FLAG_UNFLAG_COMMAND (flag_unflag_command_get_type ())
#define FLAG_UNFLAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FLAG_UNFLAG_COMMAND, FlagUnflagCommand))
#define FLAG_UNFLAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FLAG_UNFLAG_COMMAND, FlagUnflagCommandClass))
#define IS_FLAG_UNFLAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FLAG_UNFLAG_COMMAND))
#define IS_FLAG_UNFLAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FLAG_UNFLAG_COMMAND))
#define FLAG_UNFLAG_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FLAG_UNFLAG_COMMAND, FlagUnflagCommandClass))

typedef struct _FlagUnflagCommand FlagUnflagCommand;
typedef struct _FlagUnflagCommandClass FlagUnflagCommandClass;
typedef struct _FlagUnflagCommandPrivate FlagUnflagCommandPrivate;

#define TYPE_RGB_HISTOGRAM_MANIPULATOR (rgb_histogram_manipulator_get_type ())
#define RGB_HISTOGRAM_MANIPULATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RGB_HISTOGRAM_MANIPULATOR, RGBHistogramManipulator))
#define RGB_HISTOGRAM_MANIPULATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RGB_HISTOGRAM_MANIPULATOR, RGBHistogramManipulatorClass))
#define IS_RGB_HISTOGRAM_MANIPULATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RGB_HISTOGRAM_MANIPULATOR))
#define IS_RGB_HISTOGRAM_MANIPULATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RGB_HISTOGRAM_MANIPULATOR))
#define RGB_HISTOGRAM_MANIPULATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RGB_HISTOGRAM_MANIPULATOR, RGBHistogramManipulatorClass))

typedef struct _RGBHistogramManipulator RGBHistogramManipulator;
typedef struct _RGBHistogramManipulatorClass RGBHistogramManipulatorClass;
typedef struct _RGBHistogramManipulatorPrivate RGBHistogramManipulatorPrivate;
typedef enum  {
	SCALE_CONSTRAINT_ORIGINAL,
	SCALE_CONSTRAINT_DIMENSIONS,
	SCALE_CONSTRAINT_WIDTH,
	SCALE_CONSTRAINT_HEIGHT,
	SCALE_CONSTRAINT_FILL_VIEWPORT
} ScaleConstraint;

#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ())

#define TYPE_SCALING (scaling_get_type ())
typedef struct _Scaling Scaling;

#define TYPE_ZOOM_STATE (zoom_state_get_type ())
typedef struct _ZoomState ZoomState;

#define TYPE_DIRECTORY_MONITOR (directory_monitor_get_type ())
#define DIRECTORY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECTORY_MONITOR, DirectoryMonitor))
#define DIRECTORY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECTORY_MONITOR, DirectoryMonitorClass))
#define IS_DIRECTORY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECTORY_MONITOR))
#define IS_DIRECTORY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECTORY_MONITOR))
#define DIRECTORY_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECTORY_MONITOR, DirectoryMonitorClass))

typedef struct _DirectoryMonitor DirectoryMonitor;
typedef struct _DirectoryMonitorClass DirectoryMonitorClass;
typedef struct _DirectoryMonitorPrivate DirectoryMonitorPrivate;
typedef struct _DataCollectionPrivate DataCollectionPrivate;

#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 gint64 (*Comparator) (void* a, void* b, gpointer user_data);
typedef gboolean (*ComparatorPredicate) (DataObject* object, Alteration* alteration, gpointer user_data);
typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, gpointer user_data);

#define TYPE_MARKER (marker_get_type ())
#define MARKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MARKER, Marker))
#define IS_MARKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MARKER))
#define MARKER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_MARKER, MarkerIface))

typedef struct _Marker Marker;
typedef struct _MarkerIface MarkerIface;

#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;
typedef struct _SourceCollectionPrivate SourceCollectionPrivate;

#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;

#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ())
#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection))
#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION))
#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION))
#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))

typedef struct _DatabaseSourceCollection DatabaseSourceCollection;
typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass;
typedef struct _DatabaseSourceCollectionPrivate DatabaseSourceCollectionPrivate;

#define TYPE_CONTAINER_SOURCE_COLLECTION (container_source_collection_get_type ())
#define CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection))
#define CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass))
#define IS_CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONTAINER_SOURCE_COLLECTION))
#define IS_CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONTAINER_SOURCE_COLLECTION))
#define CONTAINER_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass))

typedef struct _ContainerSourceCollection ContainerSourceCollection;
typedef struct _ContainerSourceCollectionClass ContainerSourceCollectionClass;
typedef struct _ContainerSourceCollectionPrivate ContainerSourceCollectionPrivate;

#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_EVENT_SOURCE_COLLECTION (event_source_collection_get_type ())
#define EVENT_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollection))
#define EVENT_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollectionClass))
#define IS_EVENT_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_SOURCE_COLLECTION))
#define IS_EVENT_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_SOURCE_COLLECTION))
#define EVENT_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollectionClass))

typedef struct _EventSourceCollection EventSourceCollection;
typedef struct _EventSourceCollectionClass EventSourceCollectionClass;
typedef struct _EventSourceCollectionPrivate EventSourceCollectionPrivate;

#define TYPE_EVENT_ID (event_id_get_type ())
typedef struct _EventID EventID;
typedef struct _DataObjectPrivate DataObjectPrivate;
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_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;
typedef struct _ThumbnailSourcePrivate ThumbnailSourcePrivate;
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_GIF,
	PHOTO_FILE_FORMAT_WEBP,
	PHOTO_FILE_FORMAT_UNKNOWN
} PhotoFileFormat;

#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ())
typedef struct _EventSourcePrivate EventSourcePrivate;

#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;
typedef struct _EventPrivate EventPrivate;
typedef DataView* (*CreateView) (DataSource* source, gpointer user_data);
typedef enum  {
	EXPORT_FORMAT_MODE_UNMODIFIED,
	EXPORT_FORMAT_MODE_CURRENT,
	EXPORT_FORMAT_MODE_SPECIFIED,
	EXPORT_FORMAT_MODE_LAST
} ExportFormatMode;

#define TYPE_EXPORT_FORMAT_MODE (export_format_mode_get_type ())

#define TYPE_EXPORT_FORMAT_PARAMETERS (export_format_parameters_get_type ())
typedef struct _ExportFormatParameters ExportFormatParameters;
typedef enum  {
	JPEG_QUALITY_LOW = 50,
	JPEG_QUALITY_MEDIUM = 75,
	JPEG_QUALITY_HIGH = 90,
	JPEG_QUALITY_MAXIMUM = 100
} JpegQuality;

#define JPEG_TYPE_QUALITY (jpeg_quality_get_type ())

#define TYPE_EXPORTER (exporter_get_type ())
#define EXPORTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPORTER, Exporter))
#define EXPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPORTER, ExporterClass))
#define IS_EXPORTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPORTER))
#define IS_EXPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPORTER))
#define EXPORTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPORTER, ExporterClass))

typedef struct _Exporter Exporter;
typedef struct _ExporterClass ExporterClass;
typedef struct _ExporterPrivate ExporterPrivate;
typedef enum  {
	EXPORTER_OVERWRITE_YES,
	EXPORTER_OVERWRITE_NO,
	EXPORTER_OVERWRITE_CANCEL,
	EXPORTER_OVERWRITE_REPLACE_ALL
} ExporterOverwrite;

#define EXPORTER_TYPE_OVERWRITE (exporter_overwrite_get_type ())
typedef void (*ExporterCompletionCallback) (Exporter* exporter, gboolean is_cancelled, gpointer user_data);
typedef gboolean (*ExporterExportFailedCallback) (Exporter* exporter, GFile* file, gint remaining, GError* err, gpointer user_data);
typedef ExporterOverwrite (*ExporterOverwriteCallback) (Exporter* exporter, GFile* file, gpointer user_data);

#define TYPE_EXPORTER_UI (exporter_ui_get_type ())
#define EXPORTER_UI(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPORTER_UI, ExporterUI))
#define EXPORTER_UI_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPORTER_UI, ExporterUIClass))
#define IS_EXPORTER_UI(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPORTER_UI))
#define IS_EXPORTER_UI_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPORTER_UI))
#define EXPORTER_UI_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPORTER_UI, ExporterUIClass))

typedef struct _ExporterUI ExporterUI;
typedef struct _ExporterUIClass ExporterUIClass;
typedef struct _ExporterUIPrivate ExporterUIPrivate;
typedef struct _FullscreenWindowPrivate FullscreenWindowPrivate;

#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_LIBRARY_MONITOR_POOL (library_monitor_pool_get_type ())
#define LIBRARY_MONITOR_POOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_MONITOR_POOL, LibraryMonitorPool))
#define LIBRARY_MONITOR_POOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_MONITOR_POOL, LibraryMonitorPoolClass))
#define IS_LIBRARY_MONITOR_POOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_MONITOR_POOL))
#define IS_LIBRARY_MONITOR_POOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_MONITOR_POOL))
#define LIBRARY_MONITOR_POOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_MONITOR_POOL, LibraryMonitorPoolClass))

typedef struct _LibraryMonitorPool LibraryMonitorPool;
typedef struct _LibraryMonitorPoolClass LibraryMonitorPoolClass;
typedef struct _LibraryMonitorPoolPrivate LibraryMonitorPoolPrivate;

#define TYPE_LIBRARY_MONITOR (library_monitor_get_type ())
#define LIBRARY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_MONITOR, LibraryMonitor))
#define LIBRARY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_MONITOR, LibraryMonitorClass))
#define IS_LIBRARY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_MONITOR))
#define IS_LIBRARY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_MONITOR))
#define LIBRARY_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_MONITOR, LibraryMonitorClass))

typedef struct _LibraryMonitor LibraryMonitor;
typedef struct _LibraryMonitorClass LibraryMonitorClass;
typedef struct _LibraryMonitorPrivate LibraryMonitorPrivate;

#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;
typedef struct _BackingFileStatePrivate BackingFileStatePrivate;

#define TYPE_BACKING_PHOTO_ROW (backing_photo_row_get_type ())
#define BACKING_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKING_PHOTO_ROW, BackingPhotoRow))
#define BACKING_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKING_PHOTO_ROW, BackingPhotoRowClass))
#define IS_BACKING_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKING_PHOTO_ROW))
#define IS_BACKING_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKING_PHOTO_ROW))
#define BACKING_PHOTO_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKING_PHOTO_ROW, BackingPhotoRowClass))

typedef struct _BackingPhotoRow BackingPhotoRow;
typedef struct _BackingPhotoRowClass BackingPhotoRowClass;
typedef struct _MediaSourcePrivate MediaSourcePrivate;
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;

#define PHOTO_TYPE_EXCEPTION (photo_exception_get_type ())

#define TYPE_TRANSACTION_CONTROLLER (transaction_controller_get_type ())
#define TRANSACTION_CONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRANSACTION_CONTROLLER, TransactionController))
#define TRANSACTION_CONTROLLER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TRANSACTION_CONTROLLER, TransactionControllerClass))
#define IS_TRANSACTION_CONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRANSACTION_CONTROLLER))
#define IS_TRANSACTION_CONTROLLER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TRANSACTION_CONTROLLER))
#define TRANSACTION_CONTROLLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TRANSACTION_CONTROLLER, TransactionControllerClass))

typedef struct _TransactionController TransactionController;
typedef struct _TransactionControllerClass TransactionControllerClass;
typedef struct _SourceHoldingTankPrivate SourceHoldingTankPrivate;

#define TYPE_DATABASE_SOURCE_HOLDING_TANK (database_source_holding_tank_get_type ())
#define DATABASE_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTank))
#define DATABASE_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTankClass))
#define IS_DATABASE_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_HOLDING_TANK))
#define IS_DATABASE_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_HOLDING_TANK))
#define DATABASE_SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTankClass))

typedef struct _DatabaseSourceHoldingTank DatabaseSourceHoldingTank;
typedef struct _DatabaseSourceHoldingTankClass DatabaseSourceHoldingTankClass;
typedef struct _DatabaseSourceHoldingTankPrivate DatabaseSourceHoldingTankPrivate;

#define TYPE_MEDIA_SOURCE_HOLDING_TANK (media_source_holding_tank_get_type ())
#define MEDIA_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTank))
#define MEDIA_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTankClass))
#define IS_MEDIA_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_HOLDING_TANK))
#define IS_MEDIA_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_HOLDING_TANK))
#define MEDIA_SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTankClass))

typedef struct _MediaSourceHoldingTank MediaSourceHoldingTank;
typedef struct _MediaSourceHoldingTankClass MediaSourceHoldingTankClass;
typedef struct _MediaSourceHoldingTankPrivate MediaSourceHoldingTankPrivate;

#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ())
#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection))
#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))
#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION))
#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION))
#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))

typedef struct _MediaSourceCollection MediaSourceCollection;
typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass;
typedef gboolean (*SourceHoldingTankCheckToKeep) (DataSource* source, Alteration* alteration, gpointer user_data);
typedef gint64 (*GetSourceDatabaseKey) (DataSource* source, gpointer user_data);
typedef struct _TransactionControllerPrivate TransactionControllerPrivate;

#define TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER (media_source_transaction_controller_get_type ())
#define MEDIA_SOURCE_TRANSACTION_CONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER, MediaSourceTransactionController))
#define MEDIA_SOURCE_TRANSACTION_CONTROLLER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER, MediaSourceTransactionControllerClass))
#define IS_MEDIA_SOURCE_TRANSACTION_CONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER))
#define IS_MEDIA_SOURCE_TRANSACTION_CONTROLLER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER))
#define MEDIA_SOURCE_TRANSACTION_CONTROLLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER, MediaSourceTransactionControllerClass))

typedef struct _MediaSourceTransactionController MediaSourceTransactionController;
typedef struct _MediaSourceTransactionControllerClass MediaSourceTransactionControllerClass;
typedef struct _MediaSourceTransactionControllerPrivate MediaSourceTransactionControllerPrivate;
typedef struct _MediaSourceCollectionPrivate MediaSourceCollectionPrivate;

#define TYPE_WORKERS (workers_get_type ())
#define WORKERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WORKERS, Workers))
#define WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_WORKERS, WorkersClass))
#define IS_WORKERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WORKERS))
#define IS_WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_WORKERS))
#define WORKERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_WORKERS, WorkersClass))

typedef struct _Workers Workers;
typedef struct _WorkersClass WorkersClass;

#define TYPE_MEDIA_MONITOR (media_monitor_get_type ())
#define MEDIA_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_MONITOR, MediaMonitor))
#define MEDIA_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_MONITOR, MediaMonitorClass))
#define IS_MEDIA_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_MONITOR))
#define IS_MEDIA_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_MONITOR))
#define MEDIA_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_MONITOR, MediaMonitorClass))

typedef struct _MediaMonitor MediaMonitor;
typedef struct _MediaMonitorClass MediaMonitorClass;

#define TYPE_LIBRARY_PHOTO (library_photo_get_type ())
#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto))
#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass))
#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO))
#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO))
#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass))

typedef struct _LibraryPhoto LibraryPhoto;
typedef struct _LibraryPhotoClass LibraryPhotoClass;

#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_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 TYPE_MEDIA_COLLECTION_REGISTRY (media_collection_registry_get_type ())
#define MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry))
#define MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass))
#define IS_MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_COLLECTION_REGISTRY))
#define IS_MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_COLLECTION_REGISTRY))
#define MEDIA_COLLECTION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass))

typedef struct _MediaCollectionRegistry MediaCollectionRegistry;
typedef struct _MediaCollectionRegistryClass MediaCollectionRegistryClass;
typedef struct _MediaCollectionRegistryPrivate MediaCollectionRegistryPrivate;

#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 TYPE_MONITORABLE (monitorable_get_type ())
#define MONITORABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MONITORABLE, Monitorable))
#define IS_MONITORABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MONITORABLE))
#define MONITORABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_MONITORABLE, MonitorableIface))

typedef struct _Monitorable Monitorable;
typedef struct _MonitorableIface MonitorableIface;
typedef struct _MediaMetadataPrivate MediaMetadataPrivate;

#define TYPE_METADATA_DATE_TIME (metadata_date_time_get_type ())
#define METADATA_DATE_TIME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_METADATA_DATE_TIME, MetadataDateTime))
#define METADATA_DATE_TIME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_METADATA_DATE_TIME, MetadataDateTimeClass))
#define IS_METADATA_DATE_TIME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_METADATA_DATE_TIME))
#define IS_METADATA_DATE_TIME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_METADATA_DATE_TIME))
#define METADATA_DATE_TIME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_METADATA_DATE_TIME, MetadataDateTimeClass))

typedef struct _MetadataDateTime MetadataDateTime;
typedef struct _MetadataDateTimeClass MetadataDateTimeClass;

#define TYPE_METADATA_RATIONAL (metadata_rational_get_type ())
typedef struct _MetadataRational MetadataRational;

#define TYPE_METADATA_DATE_TIME_ERROR (metadata_date_time_error_get_type ())
typedef struct _MetadataDateTimePrivate MetadataDateTimePrivate;

#define TYPE_MONITORABLE_UPDATES (monitorable_updates_get_type ())
#define MONITORABLE_UPDATES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MONITORABLE_UPDATES, MonitorableUpdates))
#define MONITORABLE_UPDATES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MONITORABLE_UPDATES, MonitorableUpdatesClass))
#define IS_MONITORABLE_UPDATES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MONITORABLE_UPDATES))
#define IS_MONITORABLE_UPDATES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MONITORABLE_UPDATES))
#define MONITORABLE_UPDATES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MONITORABLE_UPDATES, MonitorableUpdatesClass))

typedef struct _MonitorableUpdates MonitorableUpdates;
typedef struct _MonitorableUpdatesClass MonitorableUpdatesClass;
typedef struct _MonitorableUpdatesPrivate MonitorableUpdatesPrivate;
typedef struct _MediaMonitorPrivate MediaMonitorPrivate;
typedef enum  {
	MEDIA_MONITOR_DISCOVERED_FILE_REPRESENTED,
	MEDIA_MONITOR_DISCOVERED_FILE_IGNORE,
	MEDIA_MONITOR_DISCOVERED_FILE_UNKNOWN
} MediaMonitorDiscoveredFile;

#define MEDIA_MONITOR_TYPE_DISCOVERED_FILE (media_monitor_discovered_file_get_type ())

#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 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;
typedef struct _MediaAccumulatorPrivate MediaAccumulatorPrivate;

#define TYPE_METADATA_WRITER (metadata_writer_get_type ())
#define METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_METADATA_WRITER, MetadataWriter))
#define METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_METADATA_WRITER, MetadataWriterClass))
#define IS_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_METADATA_WRITER))
#define IS_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_METADATA_WRITER))
#define METADATA_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_METADATA_WRITER, MetadataWriterClass))

typedef struct _MetadataWriter MetadataWriter;
typedef struct _MetadataWriterClass MetadataWriterClass;
typedef struct _MetadataWriterPrivate MetadataWriterPrivate;
typedef enum  {
	ORIENTATION_MIN = 1,
	ORIENTATION_TOP_LEFT = 1,
	ORIENTATION_TOP_RIGHT = 2,
	ORIENTATION_BOTTOM_RIGHT = 3,
	ORIENTATION_BOTTOM_LEFT = 4,
	ORIENTATION_LEFT_TOP = 5,
	ORIENTATION_RIGHT_TOP = 6,
	ORIENTATION_RIGHT_BOTTOM = 7,
	ORIENTATION_LEFT_BOTTOM = 8,
	ORIENTATION_MAX = 8
} Orientation;

#define TYPE_ORIENTATION (orientation_get_type ())
typedef enum  {
	BACKING_FETCH_MODE_SOURCE,
	BACKING_FETCH_MODE_BASELINE,
	BACKING_FETCH_MODE_MASTER,
	BACKING_FETCH_MODE_UNMODIFIED
} BackingFetchMode;

#define TYPE_BACKING_FETCH_MODE (backing_fetch_mode_get_type ())

#define TYPE_PHOTO_IMPORT_PARAMS (photo_import_params_get_type ())
#define PHOTO_IMPORT_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_IMPORT_PARAMS, PhotoImportParams))
#define PHOTO_IMPORT_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_IMPORT_PARAMS, PhotoImportParamsClass))
#define IS_PHOTO_IMPORT_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_IMPORT_PARAMS))
#define IS_PHOTO_IMPORT_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_IMPORT_PARAMS))
#define PHOTO_IMPORT_PARAMS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_IMPORT_PARAMS, PhotoImportParamsClass))

typedef struct _PhotoImportParams PhotoImportParams;
typedef struct _PhotoImportParamsClass PhotoImportParamsClass;
typedef struct _PhotoImportParamsPrivate PhotoImportParamsPrivate;
typedef enum  {
	PHOTO_FILE_SNIFFER_OPTIONS_GET_ALL = 0x00000000,
	PHOTO_FILE_SNIFFER_OPTIONS_NO_MD5 = 0x00000001
} PhotoFileSnifferOptions;

#define PHOTO_FILE_SNIFFER_TYPE_OPTIONS (photo_file_sniffer_options_get_type ())

#define TYPE_THUMBNAILS (thumbnails_get_type ())
#define THUMBNAILS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAILS, Thumbnails))
#define THUMBNAILS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAILS, ThumbnailsClass))
#define IS_THUMBNAILS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAILS))
#define IS_THUMBNAILS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAILS))
#define THUMBNAILS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAILS, ThumbnailsClass))

typedef struct _Thumbnails Thumbnails;
typedef struct _ThumbnailsClass ThumbnailsClass;

#define TYPE_PHOTO_ROW (photo_row_get_type ())
#define PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_ROW, PhotoRow))
#define PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_ROW, PhotoRowClass))
#define IS_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_ROW))
#define IS_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_ROW))
#define PHOTO_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_ROW, PhotoRowClass))

typedef struct _PhotoRow PhotoRow;
typedef struct _PhotoRowClass PhotoRowClass;

#define TYPE_PHOTO_TRANSFORMATION_STATE (photo_transformation_state_get_type ())
#define PHOTO_TRANSFORMATION_STATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_TRANSFORMATION_STATE, PhotoTransformationState))
#define PHOTO_TRANSFORMATION_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_TRANSFORMATION_STATE, PhotoTransformationStateClass))
#define IS_PHOTO_TRANSFORMATION_STATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_TRANSFORMATION_STATE))
#define IS_PHOTO_TRANSFORMATION_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_TRANSFORMATION_STATE))
#define PHOTO_TRANSFORMATION_STATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_TRANSFORMATION_STATE, PhotoTransformationStateClass))

typedef struct _PhotoTransformationState PhotoTransformationState;
typedef struct _PhotoTransformationStateClass PhotoTransformationStateClass;
typedef struct _PhotoTransformationStatePrivate PhotoTransformationStatePrivate;
typedef struct _PhotoSourcePrivate PhotoSourcePrivate;

#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;
typedef struct _PhotoPrivate PhotoPrivate;

#define TYPE_PHOTO_FILE_ADAPTER (photo_file_adapter_get_type ())
#define PHOTO_FILE_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter))
#define PHOTO_FILE_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterClass))
#define IS_PHOTO_FILE_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_ADAPTER))
#define IS_PHOTO_FILE_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_ADAPTER))
#define PHOTO_FILE_ADAPTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterClass))

typedef struct _PhotoFileAdapter PhotoFileAdapter;
typedef struct _PhotoFileAdapterClass PhotoFileAdapterClass;

#define TYPE_PHOTO_FILE_READER (photo_file_reader_get_type ())
#define PHOTO_FILE_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_READER, PhotoFileReader))
#define PHOTO_FILE_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_READER, PhotoFileReaderClass))
#define IS_PHOTO_FILE_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_READER))
#define IS_PHOTO_FILE_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_READER))
#define PHOTO_FILE_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_READER, PhotoFileReaderClass))

typedef struct _PhotoFileReader PhotoFileReader;
typedef struct _PhotoFileReaderClass PhotoFileReaderClass;

#define TYPE_DETECTED_PHOTO_INFORMATION (detected_photo_information_get_type ())
#define DETECTED_PHOTO_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DETECTED_PHOTO_INFORMATION, DetectedPhotoInformation))
#define DETECTED_PHOTO_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DETECTED_PHOTO_INFORMATION, DetectedPhotoInformationClass))
#define IS_DETECTED_PHOTO_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DETECTED_PHOTO_INFORMATION))
#define IS_DETECTED_PHOTO_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DETECTED_PHOTO_INFORMATION))
#define DETECTED_PHOTO_INFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DETECTED_PHOTO_INFORMATION, DetectedPhotoInformationClass))

typedef struct _DetectedPhotoInformation DetectedPhotoInformation;
typedef struct _DetectedPhotoInformationClass DetectedPhotoInformationClass;

#define PHOTO_TYPE_REIMPORT_MASTER_STATE (photo_reimport_master_state_get_type ())
#define PHOTO_REIMPORT_MASTER_STATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_TYPE_REIMPORT_MASTER_STATE, PhotoReimportMasterState))
#define PHOTO_REIMPORT_MASTER_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_TYPE_REIMPORT_MASTER_STATE, PhotoReimportMasterStateClass))
#define PHOTO_IS_REIMPORT_MASTER_STATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_TYPE_REIMPORT_MASTER_STATE))
#define PHOTO_IS_REIMPORT_MASTER_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_TYPE_REIMPORT_MASTER_STATE))
#define PHOTO_REIMPORT_MASTER_STATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_TYPE_REIMPORT_MASTER_STATE, PhotoReimportMasterStateClass))

typedef struct _PhotoReimportMasterState PhotoReimportMasterState;
typedef struct _PhotoReimportMasterStateClass PhotoReimportMasterStateClass;

#define PHOTO_TYPE_REIMPORT_EDITABLE_STATE (photo_reimport_editable_state_get_type ())
#define PHOTO_REIMPORT_EDITABLE_STATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_TYPE_REIMPORT_EDITABLE_STATE, PhotoReimportEditableState))
#define PHOTO_REIMPORT_EDITABLE_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_TYPE_REIMPORT_EDITABLE_STATE, PhotoReimportEditableStateClass))
#define PHOTO_IS_REIMPORT_EDITABLE_STATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_TYPE_REIMPORT_EDITABLE_STATE))
#define PHOTO_IS_REIMPORT_EDITABLE_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_TYPE_REIMPORT_EDITABLE_STATE))
#define PHOTO_REIMPORT_EDITABLE_STATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_TYPE_REIMPORT_EDITABLE_STATE, PhotoReimportEditableStateClass))

typedef struct _PhotoReimportEditableState PhotoReimportEditableState;
typedef struct _PhotoReimportEditableStateClass PhotoReimportEditableStateClass;

#define PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE (photo_reimport_raw_development_state_get_type ())
#define PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE, PhotoReimportRawDevelopmentState))
#define PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE, PhotoReimportRawDevelopmentStateClass))
#define PHOTO_IS_REIMPORT_RAW_DEVELOPMENT_STATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE))
#define PHOTO_IS_REIMPORT_RAW_DEVELOPMENT_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE))
#define PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE, PhotoReimportRawDevelopmentStateClass))

typedef struct _PhotoReimportRawDevelopmentState PhotoReimportRawDevelopmentState;
typedef struct _PhotoReimportRawDevelopmentStateClass PhotoReimportRawDevelopmentStateClass;

#define TYPE_BACKING_PHOTO_ID (backing_photo_id_get_type ())
typedef struct _BackingPhotoID BackingPhotoID;
typedef struct _PhotoReimportMasterStatePrivate PhotoReimportMasterStatePrivate;
typedef struct _PhotoReimportEditableStatePrivate PhotoReimportEditableStatePrivate;
typedef struct _PhotoReimportRawDevelopmentStatePrivate PhotoReimportRawDevelopmentStatePrivate;

#define TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION (library_photo_source_collection_get_type ())
#define LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection))
#define LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass))
#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION))
#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION))
#define LIBRARY_PHOTO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass))

typedef struct _LibraryPhotoSourceCollection LibraryPhotoSourceCollection;
typedef struct _LibraryPhotoSourceCollectionClass LibraryPhotoSourceCollectionClass;
typedef struct _LibraryPhotoSourceCollectionPrivate LibraryPhotoSourceCollectionPrivate;
typedef enum  {
	LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_UNKNOWN,
	LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_ONLINE,
	LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_OFFLINE,
	LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_TRASH,
	LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_EDITABLE,
	LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_DEVELOPER
} LibraryPhotoSourceCollectionState;

#define LIBRARY_PHOTO_SOURCE_COLLECTION_TYPE_STATE (library_photo_source_collection_state_get_type ())
typedef struct _LibraryPhotoPrivate LibraryPhotoPrivate;

#define TYPE_LIBRARY_PHOTO_SOURCE_HOLDING_TANK (library_photo_source_holding_tank_get_type ())
#define LIBRARY_PHOTO_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO_SOURCE_HOLDING_TANK, LibraryPhotoSourceHoldingTank))
#define LIBRARY_PHOTO_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO_SOURCE_HOLDING_TANK, LibraryPhotoSourceHoldingTankClass))
#define IS_LIBRARY_PHOTO_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO_SOURCE_HOLDING_TANK))
#define IS_LIBRARY_PHOTO_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO_SOURCE_HOLDING_TANK))
#define LIBRARY_PHOTO_SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO_SOURCE_HOLDING_TANK, LibraryPhotoSourceHoldingTankClass))

typedef struct _LibraryPhotoSourceHoldingTank LibraryPhotoSourceHoldingTank;
typedef struct _LibraryPhotoSourceHoldingTankClass LibraryPhotoSourceHoldingTankClass;
typedef struct _LibraryPhotoSourceHoldingTankPrivate LibraryPhotoSourceHoldingTankPrivate;

#define TYPE_PIXBUF_CACHE (pixbuf_cache_get_type ())
#define PIXBUF_CACHE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXBUF_CACHE, PixbufCache))
#define PIXBUF_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXBUF_CACHE, PixbufCacheClass))
#define IS_PIXBUF_CACHE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXBUF_CACHE))
#define IS_PIXBUF_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXBUF_CACHE))
#define PIXBUF_CACHE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXBUF_CACHE, PixbufCacheClass))

typedef struct _PixbufCache PixbufCache;
typedef struct _PixbufCacheClass PixbufCacheClass;
typedef struct _PixbufCachePrivate PixbufCachePrivate;
typedef enum  {
	PIXBUF_CACHE_PHOTO_TYPE_BASELINE,
	PIXBUF_CACHE_PHOTO_TYPE_MASTER
} PixbufCachePhotoType;

#define PIXBUF_CACHE_TYPE_PHOTO_TYPE (pixbuf_cache_photo_type_get_type ())
typedef gboolean (*PixbufCacheCacheFilter) (Photo* photo, gpointer user_data);
typedef enum  {
	BACKGROUND_JOB_JOB_PRIORITY_HIGHEST = 100,
	BACKGROUND_JOB_JOB_PRIORITY_HIGH = 75,
	BACKGROUND_JOB_JOB_PRIORITY_NORMAL = 50,
	BACKGROUND_JOB_JOB_PRIORITY_LOW = 25,
	BACKGROUND_JOB_JOB_PRIORITY_LOWEST = 0
} BackgroundJobJobPriority;

#define BACKGROUND_JOB_TYPE_JOB_PRIORITY (background_job_job_priority_get_type ())

#define PIXBUF_CACHE_TYPE_PIXBUF_CACHE_BATCH (pixbuf_cache_pixbuf_cache_batch_get_type ())
#define PIXBUF_CACHE_PIXBUF_CACHE_BATCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PIXBUF_CACHE_TYPE_PIXBUF_CACHE_BATCH, PixbufCachePixbufCacheBatch))
#define PIXBUF_CACHE_PIXBUF_CACHE_BATCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PIXBUF_CACHE_TYPE_PIXBUF_CACHE_BATCH, PixbufCachePixbufCacheBatchClass))
#define PIXBUF_CACHE_IS_PIXBUF_CACHE_BATCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PIXBUF_CACHE_TYPE_PIXBUF_CACHE_BATCH))
#define PIXBUF_CACHE_IS_PIXBUF_CACHE_BATCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PIXBUF_CACHE_TYPE_PIXBUF_CACHE_BATCH))
#define PIXBUF_CACHE_PIXBUF_CACHE_BATCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PIXBUF_CACHE_TYPE_PIXBUF_CACHE_BATCH, PixbufCachePixbufCacheBatchClass))

typedef struct _PixbufCachePixbufCacheBatch PixbufCachePixbufCacheBatch;
typedef struct _PixbufCachePixbufCacheBatchClass PixbufCachePixbufCacheBatchClass;
typedef struct _PixbufCachePixbufCacheBatchPrivate PixbufCachePixbufCacheBatchPrivate;
typedef enum  {
	CONTENT_LAYOUT_STANDARD_SIZE,
	CONTENT_LAYOUT_CUSTOM_SIZE,
	CONTENT_LAYOUT_IMAGE_PER_PAGE
} ContentLayout;

#define TYPE_CONTENT_LAYOUT (content_layout_get_type ())

#define TYPE_PRINT_SETTINGS (print_settings_get_type ())
#define PRINT_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PRINT_SETTINGS, PrintSettings))
#define PRINT_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PRINT_SETTINGS, PrintSettingsClass))
#define IS_PRINT_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PRINT_SETTINGS))
#define IS_PRINT_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PRINT_SETTINGS))
#define PRINT_SETTINGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PRINT_SETTINGS, PrintSettingsClass))

typedef struct _PrintSettings PrintSettings;
typedef struct _PrintSettingsClass PrintSettingsClass;
typedef struct _PrintSettingsPrivate PrintSettingsPrivate;

#define TYPE_MEASUREMENT (measurement_get_type ())
typedef struct _Measurement Measurement;
typedef enum  {
	MEASUREMENT_UNIT_INCHES,
	MEASUREMENT_UNIT_CENTIMETERS
} MeasurementUnit;

#define TYPE_MEASUREMENT_UNIT (measurement_unit_get_type ())

#define TYPE_PRINT_JOB (print_job_get_type ())
#define PRINT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PRINT_JOB, PrintJob))
#define PRINT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PRINT_JOB, PrintJobClass))
#define IS_PRINT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PRINT_JOB))
#define IS_PRINT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PRINT_JOB))
#define PRINT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PRINT_JOB, PrintJobClass))

typedef struct _PrintJob PrintJob;
typedef struct _PrintJobClass PrintJobClass;
typedef struct _PrintJobPrivate PrintJobPrivate;

#define TYPE_STANDARD_PRINT_SIZE (standard_print_size_get_type ())
#define STANDARD_PRINT_SIZE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_STANDARD_PRINT_SIZE, StandardPrintSize))
#define STANDARD_PRINT_SIZE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_STANDARD_PRINT_SIZE, StandardPrintSizeClass))
#define IS_STANDARD_PRINT_SIZE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_STANDARD_PRINT_SIZE))
#define IS_STANDARD_PRINT_SIZE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_STANDARD_PRINT_SIZE))
#define STANDARD_PRINT_SIZE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_STANDARD_PRINT_SIZE, StandardPrintSizeClass))

typedef struct _StandardPrintSize StandardPrintSize;
typedef struct _StandardPrintSizeClass StandardPrintSizeClass;
typedef struct _StandardPrintSizePrivate StandardPrintSizePrivate;

#define TYPE_PRINT_MANAGER (print_manager_get_type ())
#define PRINT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PRINT_MANAGER, PrintManager))
#define PRINT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PRINT_MANAGER, PrintManagerClass))
#define IS_PRINT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PRINT_MANAGER))
#define IS_PRINT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PRINT_MANAGER))
#define PRINT_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PRINT_MANAGER, PrintManagerClass))

typedef struct _PrintManager PrintManager;
typedef struct _PrintManagerClass PrintManagerClass;
typedef struct _PrintManagerPrivate PrintManagerPrivate;
typedef enum  {
	SEARCH_FILTER_CRITERIA_NONE = 0,
	SEARCH_FILTER_CRITERIA_RECURSIVE = 1 << 0,
	SEARCH_FILTER_CRITERIA_TEXT = 1 << 1,
	SEARCH_FILTER_CRITERIA_FLAG = 1 << 2,
	SEARCH_FILTER_CRITERIA_MEDIA = 1 << 3,
	SEARCH_FILTER_CRITERIA_ALL = 0xFFFFFFFFLL
} SearchFilterCriteria;

#define TYPE_SEARCH_FILTER_CRITERIA (search_filter_criteria_get_type ())

#define TYPE_VIEW_FILTER (view_filter_get_type ())
#define VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_FILTER, ViewFilter))
#define VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_FILTER, ViewFilterClass))
#define IS_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_FILTER))
#define IS_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_FILTER))
#define VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_FILTER, ViewFilterClass))

typedef struct _ViewFilter ViewFilter;
typedef struct _ViewFilterClass ViewFilterClass;
typedef struct _ViewFilterPrivate ViewFilterPrivate;

#define TYPE_SEARCH_VIEW_FILTER (search_view_filter_get_type ())
#define SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilter))
#define SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass))
#define IS_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_VIEW_FILTER))
#define IS_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_VIEW_FILTER))
#define SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass))

typedef struct _SearchViewFilter SearchViewFilter;
typedef struct _SearchViewFilterClass SearchViewFilterClass;
typedef struct _SearchViewFilterPrivate SearchViewFilterPrivate;

#define TYPE_DEFAULT_SEARCH_VIEW_FILTER (default_search_view_filter_get_type ())
#define DEFAULT_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilter))
#define DEFAULT_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilterClass))
#define IS_DEFAULT_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER))
#define IS_DEFAULT_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DEFAULT_SEARCH_VIEW_FILTER))
#define DEFAULT_SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilterClass))

typedef struct _DefaultSearchViewFilter DefaultSearchViewFilter;
typedef struct _DefaultSearchViewFilterClass DefaultSearchViewFilterClass;
typedef struct _DefaultSearchViewFilterPrivate DefaultSearchViewFilterPrivate;

#define TYPE_DISABLED_VIEW_FILTER (disabled_view_filter_get_type ())
#define DISABLED_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DISABLED_VIEW_FILTER, DisabledViewFilter))
#define DISABLED_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DISABLED_VIEW_FILTER, DisabledViewFilterClass))
#define IS_DISABLED_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DISABLED_VIEW_FILTER))
#define IS_DISABLED_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DISABLED_VIEW_FILTER))
#define DISABLED_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DISABLED_VIEW_FILTER, DisabledViewFilterClass))

typedef struct _DisabledViewFilter DisabledViewFilter;
typedef struct _DisabledViewFilterClass DisabledViewFilterClass;
typedef struct _DisabledViewFilterPrivate DisabledViewFilterPrivate;

#define TYPE_TEXT_ACTION (text_action_get_type ())
#define TEXT_ACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TEXT_ACTION, TextAction))
#define TEXT_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TEXT_ACTION, TextActionClass))
#define IS_TEXT_ACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TEXT_ACTION))
#define IS_TEXT_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TEXT_ACTION))
#define TEXT_ACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TEXT_ACTION, TextActionClass))

typedef struct _TextAction TextAction;
typedef struct _TextActionClass TextActionClass;
typedef struct _TextActionPrivate TextActionPrivate;

#define TYPE_SEARCH_FILTER_ENTRY (search_filter_entry_get_type ())
#define SEARCH_FILTER_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_FILTER_ENTRY, SearchFilterEntry))
#define SEARCH_FILTER_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_FILTER_ENTRY, SearchFilterEntryClass))
#define IS_SEARCH_FILTER_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_FILTER_ENTRY))
#define IS_SEARCH_FILTER_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_FILTER_ENTRY))
#define SEARCH_FILTER_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_FILTER_ENTRY, SearchFilterEntryClass))

typedef struct _SearchFilterEntry SearchFilterEntry;
typedef struct _SearchFilterEntryClass SearchFilterEntryClass;
typedef struct _SearchFilterEntryPrivate SearchFilterEntryPrivate;

#define TYPE_SORTED_LIST (sorted_list_get_type ())
#define SORTED_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SORTED_LIST, SortedList))
#define SORTED_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SORTED_LIST, SortedListClass))
#define IS_SORTED_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SORTED_LIST))
#define IS_SORTED_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SORTED_LIST))
#define SORTED_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SORTED_LIST, SortedListClass))

typedef struct _SortedList SortedList;
typedef struct _SortedListClass SortedListClass;
typedef struct _SortedListPrivate SortedListPrivate;

#define TYPE_TAG_SOURCE_COLLECTION (tag_source_collection_get_type ())
#define TAG_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAG_SOURCE_COLLECTION, TagSourceCollection))
#define TAG_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAG_SOURCE_COLLECTION, TagSourceCollectionClass))
#define IS_TAG_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAG_SOURCE_COLLECTION))
#define IS_TAG_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAG_SOURCE_COLLECTION))
#define TAG_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAG_SOURCE_COLLECTION, TagSourceCollectionClass))

typedef struct _TagSourceCollection TagSourceCollection;
typedef struct _TagSourceCollectionClass TagSourceCollectionClass;
typedef struct _TagSourceCollectionPrivate TagSourceCollectionPrivate;

#define TYPE_TAG_ID (tag_id_get_type ())
typedef struct _TagID TagID;
typedef struct _TagPrivate TagPrivate;

#define TYPE_TAG_ROW (tag_row_get_type ())
#define TAG_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAG_ROW, TagRow))
#define TAG_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAG_ROW, TagRowClass))
#define IS_TAG_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAG_ROW))
#define IS_TAG_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAG_ROW))
#define TAG_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAG_ROW, TagRowClass))

typedef struct _TagRow TagRow;
typedef struct _TagRowClass TagRowClass;
typedef struct _ThumbnailsPrivate ThumbnailsPrivate;
typedef enum  {
	THUMBNAIL_CACHE_SIZE_LARGEST = 360,
	THUMBNAIL_CACHE_SIZE_BIG = 360,
	THUMBNAIL_CACHE_SIZE_MEDIUM = 128,
	THUMBNAIL_CACHE_SIZE_SMALLEST = 128
} ThumbnailCacheSize;

#define THUMBNAIL_CACHE_TYPE_SIZE (thumbnail_cache_size_get_type ())

#define TYPE_THUMBNAIL_CACHE (thumbnail_cache_get_type ())
#define THUMBNAIL_CACHE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_CACHE, ThumbnailCache))
#define THUMBNAIL_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_CACHE, ThumbnailCacheClass))
#define IS_THUMBNAIL_CACHE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_CACHE))
#define IS_THUMBNAIL_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_CACHE))
#define THUMBNAIL_CACHE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_CACHE, ThumbnailCacheClass))

typedef struct _ThumbnailCache ThumbnailCache;
typedef struct _ThumbnailCacheClass ThumbnailCacheClass;
typedef struct _ThumbnailCachePrivate ThumbnailCachePrivate;
typedef void (*ThumbnailCacheAsyncFetchCallback) (GdkPixbuf* pixbuf, GdkPixbuf* unscaled, Dimensions* dim, GdkInterpType interp, GError* err, gpointer user_data);
typedef struct _DataViewPrivate DataViewPrivate;

#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;
typedef struct _ThumbnailViewPrivate ThumbnailViewPrivate;

#define TYPE_CHECKERBOARD_ITEM (checkerboard_item_get_type ())
#define CHECKERBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_ITEM, CheckerboardItem))
#define CHECKERBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_ITEM, CheckerboardItemClass))
#define IS_CHECKERBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_ITEM))
#define IS_CHECKERBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_ITEM))
#define CHECKERBOARD_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_ITEM, CheckerboardItemClass))

typedef struct _CheckerboardItem CheckerboardItem;
typedef struct _CheckerboardItemClass CheckerboardItemClass;
typedef struct _CheckerboardItemPrivate CheckerboardItemPrivate;

#define TYPE_THUMBNAIL (thumbnail_get_type ())
#define THUMBNAIL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL, Thumbnail))
#define THUMBNAIL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL, ThumbnailClass))
#define IS_THUMBNAIL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL))
#define IS_THUMBNAIL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL))
#define THUMBNAIL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL, ThumbnailClass))

typedef struct _Thumbnail Thumbnail;
typedef struct _ThumbnailClass ThumbnailClass;
typedef struct _ThumbnailPrivate ThumbnailPrivate;
typedef void (*DequeuedCallback) (gconstpointer item, gpointer user_data);

#define TYPE_TIMED_QUEUE (timed_queue_get_type ())
#define TIMED_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TIMED_QUEUE, TimedQueue))
#define TIMED_QUEUE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TIMED_QUEUE, TimedQueueClass))
#define IS_TIMED_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TIMED_QUEUE))
#define IS_TIMED_QUEUE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TIMED_QUEUE))
#define TIMED_QUEUE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TIMED_QUEUE, TimedQueueClass))

typedef struct _TimedQueue TimedQueue;
typedef struct _TimedQueueClass TimedQueueClass;
typedef struct _TimedQueuePrivate TimedQueuePrivate;

#define TYPE_HASH_TIMED_QUEUE (hash_timed_queue_get_type ())
#define HASH_TIMED_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HASH_TIMED_QUEUE, HashTimedQueue))
#define HASH_TIMED_QUEUE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HASH_TIMED_QUEUE, HashTimedQueueClass))
#define IS_HASH_TIMED_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HASH_TIMED_QUEUE))
#define IS_HASH_TIMED_QUEUE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HASH_TIMED_QUEUE))
#define HASH_TIMED_QUEUE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HASH_TIMED_QUEUE, HashTimedQueueClass))

typedef struct _HashTimedQueue HashTimedQueue;
typedef struct _HashTimedQueueClass HashTimedQueueClass;
typedef struct _HashTimedQueuePrivate HashTimedQueuePrivate;

#define TYPE_TOMBSTONE_SOURCE_COLLECTION (tombstone_source_collection_get_type ())
#define TOMBSTONE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TOMBSTONE_SOURCE_COLLECTION, TombstoneSourceCollection))
#define TOMBSTONE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TOMBSTONE_SOURCE_COLLECTION, TombstoneSourceCollectionClass))
#define IS_TOMBSTONE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TOMBSTONE_SOURCE_COLLECTION))
#define IS_TOMBSTONE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TOMBSTONE_SOURCE_COLLECTION))
#define TOMBSTONE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TOMBSTONE_SOURCE_COLLECTION, TombstoneSourceCollectionClass))

typedef struct _TombstoneSourceCollection TombstoneSourceCollection;
typedef struct _TombstoneSourceCollectionClass TombstoneSourceCollectionClass;
typedef struct _TombstoneSourceCollectionPrivate TombstoneSourceCollectionPrivate;

#define TYPE_TOMBSTONE (tombstone_get_type ())
#define TOMBSTONE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TOMBSTONE, Tombstone))
#define TOMBSTONE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TOMBSTONE, TombstoneClass))
#define IS_TOMBSTONE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TOMBSTONE))
#define IS_TOMBSTONE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TOMBSTONE))
#define TOMBSTONE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TOMBSTONE, TombstoneClass))

typedef struct _Tombstone Tombstone;
typedef struct _TombstoneClass TombstoneClass;

#define TYPE_TOMBSTONED_FILE (tombstoned_file_get_type ())
#define TOMBSTONED_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TOMBSTONED_FILE, TombstonedFile))
#define TOMBSTONED_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TOMBSTONED_FILE, TombstonedFileClass))
#define IS_TOMBSTONED_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TOMBSTONED_FILE))
#define IS_TOMBSTONED_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TOMBSTONED_FILE))
#define TOMBSTONED_FILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TOMBSTONED_FILE, TombstonedFileClass))

typedef struct _TombstonedFile TombstonedFile;
typedef struct _TombstonedFileClass TombstonedFileClass;
typedef struct _TombstonedFilePrivate TombstonedFilePrivate;
typedef struct _TombstonePrivate TombstonePrivate;
typedef enum  {
	TOMBSTONE_REASON_REMOVED_BY_USER = 0,
	TOMBSTONE_REASON_AUTO_DETECTED_DUPLICATE = 1
} TombstoneReason;

#define TOMBSTONE_TYPE_REASON (tombstone_reason_get_type ())

#define TYPE_TOMBSTONE_ID (tombstone_id_get_type ())
typedef struct _TombstoneID TombstoneID;

#define TYPE_UPGRADES (upgrades_get_type ())
#define UPGRADES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_UPGRADES, Upgrades))
#define UPGRADES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_UPGRADES, UpgradesClass))
#define IS_UPGRADES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_UPGRADES))
#define IS_UPGRADES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_UPGRADES))
#define UPGRADES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_UPGRADES, UpgradesClass))

typedef struct _Upgrades Upgrades;
typedef struct _UpgradesClass UpgradesClass;
typedef struct _UpgradesPrivate UpgradesPrivate;

#define TYPE_VIDEO_METADATA (video_metadata_get_type ())
#define VIDEO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_METADATA, VideoMetadata))
#define VIDEO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_METADATA, VideoMetadataClass))
#define IS_VIDEO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_METADATA))
#define IS_VIDEO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_METADATA))
#define VIDEO_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_METADATA, VideoMetadataClass))

typedef struct _VideoMetadata VideoMetadata;
typedef struct _VideoMetadataClass VideoMetadataClass;
typedef struct _VideoMetadataPrivate VideoMetadataPrivate;

#define TYPE_VIDEO_ERROR (video_error_get_type ())

#define TYPE_VIDEO_IMPORT_PARAMS (video_import_params_get_type ())
#define VIDEO_IMPORT_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_IMPORT_PARAMS, VideoImportParams))
#define VIDEO_IMPORT_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_IMPORT_PARAMS, VideoImportParamsClass))
#define IS_VIDEO_IMPORT_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_IMPORT_PARAMS))
#define IS_VIDEO_IMPORT_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_IMPORT_PARAMS))
#define VIDEO_IMPORT_PARAMS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_IMPORT_PARAMS, VideoImportParamsClass))

typedef struct _VideoImportParams VideoImportParams;
typedef struct _VideoImportParamsClass VideoImportParamsClass;
typedef struct _VideoImportParamsPrivate VideoImportParamsPrivate;

#define TYPE_VIDEO_ROW (video_row_get_type ())
#define VIDEO_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_ROW, VideoRow))
#define VIDEO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_ROW, VideoRowClass))
#define IS_VIDEO_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_ROW))
#define IS_VIDEO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_ROW))
#define VIDEO_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_ROW, VideoRowClass))

typedef struct _VideoRow VideoRow;
typedef struct _VideoRowClass VideoRowClass;

#define TYPE_VIDEO_READER (video_reader_get_type ())
#define VIDEO_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_READER, VideoReader))
#define VIDEO_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_READER, VideoReaderClass))
#define IS_VIDEO_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_READER))
#define IS_VIDEO_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_READER))
#define VIDEO_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_READER, VideoReaderClass))

typedef struct _VideoReader VideoReader;
typedef struct _VideoReaderClass VideoReaderClass;
typedef struct _VideoReaderPrivate VideoReaderPrivate;
typedef struct _VideoSourcePrivate VideoSourcePrivate;
typedef struct _VideoPrivate VideoPrivate;

#define TYPE_VIDEO_SOURCE_COLLECTION (video_source_collection_get_type ())
#define VIDEO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollection))
#define VIDEO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollectionClass))
#define IS_VIDEO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE_COLLECTION))
#define IS_VIDEO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE_COLLECTION))
#define VIDEO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollectionClass))

typedef struct _VideoSourceCollection VideoSourceCollection;
typedef struct _VideoSourceCollectionClass VideoSourceCollectionClass;

#define VIDEO_TYPE_INTERPRETABLE_RESULTS (video_interpretable_results_get_type ())
#define VIDEO_INTERPRETABLE_RESULTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIDEO_TYPE_INTERPRETABLE_RESULTS, VideoInterpretableResults))
#define VIDEO_INTERPRETABLE_RESULTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIDEO_TYPE_INTERPRETABLE_RESULTS, VideoInterpretableResultsClass))
#define VIDEO_IS_INTERPRETABLE_RESULTS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIDEO_TYPE_INTERPRETABLE_RESULTS))
#define VIDEO_IS_INTERPRETABLE_RESULTS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIDEO_TYPE_INTERPRETABLE_RESULTS))
#define VIDEO_INTERPRETABLE_RESULTS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIDEO_TYPE_INTERPRETABLE_RESULTS, VideoInterpretableResultsClass))

typedef struct _VideoInterpretableResults VideoInterpretableResults;
typedef struct _VideoInterpretableResultsClass VideoInterpretableResultsClass;
typedef struct _VideoInterpretableResultsPrivate VideoInterpretableResultsPrivate;
typedef struct _VideoSourceCollectionPrivate VideoSourceCollectionPrivate;
typedef enum  {
	VIDEO_SOURCE_COLLECTION_STATE_UNKNOWN,
	VIDEO_SOURCE_COLLECTION_STATE_ONLINE,
	VIDEO_SOURCE_COLLECTION_STATE_OFFLINE,
	VIDEO_SOURCE_COLLECTION_STATE_TRASH
} VideoSourceCollectionState;

#define VIDEO_SOURCE_COLLECTION_TYPE_STATE (video_source_collection_state_get_type ())

#define TYPE_ZOOM_BUFFER (zoom_buffer_get_type ())
#define ZOOM_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ZOOM_BUFFER, ZoomBuffer))
#define ZOOM_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ZOOM_BUFFER, ZoomBufferClass))
#define IS_ZOOM_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ZOOM_BUFFER))
#define IS_ZOOM_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ZOOM_BUFFER))
#define ZOOM_BUFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ZOOM_BUFFER, ZoomBufferClass))

typedef struct _ZoomBuffer ZoomBuffer;
typedef struct _ZoomBufferClass ZoomBufferClass;
typedef struct _ZoomBufferPrivate ZoomBufferPrivate;

#define TYPE_SINGLE_PHOTO_PAGE (single_photo_page_get_type ())
#define SINGLE_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage))
#define SINGLE_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPageClass))
#define IS_SINGLE_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SINGLE_PHOTO_PAGE))
#define IS_SINGLE_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SINGLE_PHOTO_PAGE))
#define SINGLE_PHOTO_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPageClass))

typedef struct _SinglePhotoPage SinglePhotoPage;
typedef struct _SinglePhotoPageClass SinglePhotoPageClass;

#define SIDEBAR_TYPE_BRANCH (sidebar_branch_get_type ())
#define SIDEBAR_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranch))
#define SIDEBAR_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_BRANCH, SidebarBranchClass))
#define SIDEBAR_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_BRANCH))
#define SIDEBAR_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_BRANCH))
#define SIDEBAR_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranchClass))

typedef struct _SidebarBranch SidebarBranch;
typedef struct _SidebarBranchClass SidebarBranchClass;
typedef struct _SidebarBranchPrivate SidebarBranchPrivate;

#define CAMERA_TYPE_BRANCH (camera_branch_get_type ())
#define CAMERA_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CAMERA_TYPE_BRANCH, CameraBranch))
#define CAMERA_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CAMERA_TYPE_BRANCH, CameraBranchClass))
#define CAMERA_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CAMERA_TYPE_BRANCH))
#define CAMERA_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CAMERA_TYPE_BRANCH))
#define CAMERA_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CAMERA_TYPE_BRANCH, CameraBranchClass))

typedef struct _CameraBranch CameraBranch;
typedef struct _CameraBranchClass CameraBranchClass;
typedef struct _CameraBranchPrivate CameraBranchPrivate;

#define TYPE_DISCOVERED_CAMERA (discovered_camera_get_type ())
#define DISCOVERED_CAMERA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DISCOVERED_CAMERA, DiscoveredCamera))
#define DISCOVERED_CAMERA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DISCOVERED_CAMERA, DiscoveredCameraClass))
#define IS_DISCOVERED_CAMERA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DISCOVERED_CAMERA))
#define IS_DISCOVERED_CAMERA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DISCOVERED_CAMERA))
#define DISCOVERED_CAMERA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DISCOVERED_CAMERA, DiscoveredCameraClass))

typedef struct _DiscoveredCamera DiscoveredCamera;
typedef struct _DiscoveredCameraClass DiscoveredCameraClass;

#define SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY (sidebar_simple_page_entry_get_type ())
#define SIDEBAR_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry))
#define SIDEBAR_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass))
#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY))
#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY))
#define SIDEBAR_SIMPLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass))

typedef struct _SidebarSimplePageEntry SidebarSimplePageEntry;
typedef struct _SidebarSimplePageEntryClass SidebarSimplePageEntryClass;

#define CAMERA_TYPE_SIDEBAR_ENTRY (camera_sidebar_entry_get_type ())
#define CAMERA_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CAMERA_TYPE_SIDEBAR_ENTRY, CameraSidebarEntry))
#define CAMERA_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CAMERA_TYPE_SIDEBAR_ENTRY, CameraSidebarEntryClass))
#define CAMERA_IS_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CAMERA_TYPE_SIDEBAR_ENTRY))
#define CAMERA_IS_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CAMERA_TYPE_SIDEBAR_ENTRY))
#define CAMERA_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CAMERA_TYPE_SIDEBAR_ENTRY, CameraSidebarEntryClass))

typedef struct _CameraSidebarEntry CameraSidebarEntry;
typedef struct _CameraSidebarEntryClass CameraSidebarEntryClass;

#define SIDEBAR_TYPE_ENTRY (sidebar_entry_get_type ())
#define SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntry))
#define SIDEBAR_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_ENTRY))
#define SIDEBAR_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntryIface))

typedef struct _SidebarEntry SidebarEntry;
typedef struct _SidebarEntryIface SidebarEntryIface;

#define SIDEBAR_TYPE_TREE (sidebar_tree_get_type ())
#define SIDEBAR_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_TREE, SidebarTree))
#define SIDEBAR_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_TREE, SidebarTreeClass))
#define SIDEBAR_IS_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_TREE))
#define SIDEBAR_IS_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_TREE))
#define SIDEBAR_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_TREE, SidebarTreeClass))

typedef struct _SidebarTree SidebarTree;
typedef struct _SidebarTreeClass SidebarTreeClass;

#define SIDEBAR_TYPE_EXPANDABLE_ENTRY (sidebar_expandable_entry_get_type ())
#define SIDEBAR_EXPANDABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY, SidebarExpandableEntry))
#define SIDEBAR_IS_EXPANDABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY))
#define SIDEBAR_EXPANDABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY, SidebarExpandableEntryIface))

typedef struct _SidebarExpandableEntry SidebarExpandableEntry;
typedef struct _SidebarExpandableEntryIface SidebarExpandableEntryIface;

#define SIDEBAR_TYPE_GROUPING (sidebar_grouping_get_type ())
#define SIDEBAR_GROUPING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_GROUPING, SidebarGrouping))
#define SIDEBAR_GROUPING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_GROUPING, SidebarGroupingClass))
#define SIDEBAR_IS_GROUPING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_GROUPING))
#define SIDEBAR_IS_GROUPING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_GROUPING))
#define SIDEBAR_GROUPING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_GROUPING, SidebarGroupingClass))

typedef struct _SidebarGrouping SidebarGrouping;
typedef struct _SidebarGroupingClass SidebarGroupingClass;
typedef struct _SidebarGroupingPrivate SidebarGroupingPrivate;

#define CAMERA_TYPE_GROUPING (camera_grouping_get_type ())
#define CAMERA_GROUPING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CAMERA_TYPE_GROUPING, CameraGrouping))
#define CAMERA_GROUPING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CAMERA_TYPE_GROUPING, CameraGroupingClass))
#define CAMERA_IS_GROUPING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CAMERA_TYPE_GROUPING))
#define CAMERA_IS_GROUPING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CAMERA_TYPE_GROUPING))
#define CAMERA_GROUPING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CAMERA_TYPE_GROUPING, CameraGroupingClass))

typedef struct _CameraGrouping CameraGrouping;
typedef struct _CameraGroupingClass CameraGroupingClass;
typedef struct _CameraGroupingPrivate CameraGroupingPrivate;

#define SIDEBAR_TYPE_SELECTABLE_ENTRY (sidebar_selectable_entry_get_type ())
#define SIDEBAR_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntry))
#define SIDEBAR_IS_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY))
#define SIDEBAR_SELECTABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntryIface))

typedef struct _SidebarSelectableEntry SidebarSelectableEntry;
typedef struct _SidebarSelectableEntryIface SidebarSelectableEntryIface;

#define SIDEBAR_TYPE_PAGE_REPRESENTATIVE (sidebar_page_representative_get_type ())
#define SIDEBAR_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative))
#define SIDEBAR_IS_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE))
#define SIDEBAR_PAGE_REPRESENTATIVE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentativeIface))

typedef struct _SidebarPageRepresentative SidebarPageRepresentative;
typedef struct _SidebarPageRepresentativeIface SidebarPageRepresentativeIface;

#define SIDEBAR_TYPE_CONTEXTABLE (sidebar_contextable_get_type ())
#define SIDEBAR_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextable))
#define SIDEBAR_IS_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_CONTEXTABLE))
#define SIDEBAR_CONTEXTABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextableIface))

typedef struct _SidebarContextable SidebarContextable;
typedef struct _SidebarContextableIface SidebarContextableIface;
typedef struct _SidebarSimplePageEntryPrivate SidebarSimplePageEntryPrivate;
typedef struct _CameraSidebarEntryPrivate CameraSidebarEntryPrivate;
typedef struct _DiscoveredCameraPrivate DiscoveredCameraPrivate;

#define TYPE_CAMERA_TABLE (camera_table_get_type ())
#define CAMERA_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CAMERA_TABLE, CameraTable))
#define CAMERA_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CAMERA_TABLE, CameraTableClass))
#define IS_CAMERA_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CAMERA_TABLE))
#define IS_CAMERA_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CAMERA_TABLE))
#define CAMERA_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CAMERA_TABLE, CameraTableClass))

typedef struct _CameraTable CameraTable;
typedef struct _CameraTableClass CameraTableClass;
typedef struct _CameraTablePrivate CameraTablePrivate;

#define TYPE_GPHOTO_ERROR (gphoto_error_get_type ())

#define GP_TYPE_CONTEXT_WRAPPER (gp_context_wrapper_get_type ())
#define GP_CONTEXT_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GP_TYPE_CONTEXT_WRAPPER, GPContextWrapper))
#define GP_CONTEXT_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GP_TYPE_CONTEXT_WRAPPER, GPContextWrapperClass))
#define GP_IS_CONTEXT_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GP_TYPE_CONTEXT_WRAPPER))
#define GP_IS_CONTEXT_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GP_TYPE_CONTEXT_WRAPPER))
#define GP_CONTEXT_WRAPPER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GP_TYPE_CONTEXT_WRAPPER, GPContextWrapperClass))

typedef struct _GPContextWrapper GPContextWrapper;
typedef struct _GPContextWrapperClass GPContextWrapperClass;
typedef struct _GPContextWrapperPrivate GPContextWrapperPrivate;

#define GP_TYPE_SPIN_IDLE_WRAPPER (gp_spin_idle_wrapper_get_type ())
#define GP_SPIN_IDLE_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GP_TYPE_SPIN_IDLE_WRAPPER, GPSpinIdleWrapper))
#define GP_SPIN_IDLE_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GP_TYPE_SPIN_IDLE_WRAPPER, GPSpinIdleWrapperClass))
#define GP_IS_SPIN_IDLE_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GP_TYPE_SPIN_IDLE_WRAPPER))
#define GP_IS_SPIN_IDLE_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GP_TYPE_SPIN_IDLE_WRAPPER))
#define GP_SPIN_IDLE_WRAPPER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GP_TYPE_SPIN_IDLE_WRAPPER, GPSpinIdleWrapperClass))

typedef struct _GPSpinIdleWrapper GPSpinIdleWrapper;
typedef struct _GPSpinIdleWrapperClass GPSpinIdleWrapperClass;
typedef struct _GPSpinIdleWrapperPrivate GPSpinIdleWrapperPrivate;

#define TYPE_CHECKERBOARD_LAYOUT (checkerboard_layout_get_type ())
#define CHECKERBOARD_LAYOUT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_LAYOUT, CheckerboardLayout))
#define CHECKERBOARD_LAYOUT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_LAYOUT, CheckerboardLayoutClass))
#define IS_CHECKERBOARD_LAYOUT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_LAYOUT))
#define IS_CHECKERBOARD_LAYOUT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_LAYOUT))
#define CHECKERBOARD_LAYOUT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_LAYOUT, CheckerboardLayoutClass))

typedef struct _CheckerboardLayout CheckerboardLayout;
typedef struct _CheckerboardLayoutClass CheckerboardLayoutClass;
typedef struct _CheckerboardLayoutPrivate CheckerboardLayoutPrivate;

#define TYPE_ADJUST_DATE_TIME_DIALOG (adjust_date_time_dialog_get_type ())
#define ADJUST_DATE_TIME_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ADJUST_DATE_TIME_DIALOG, AdjustDateTimeDialog))
#define ADJUST_DATE_TIME_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ADJUST_DATE_TIME_DIALOG, AdjustDateTimeDialogClass))
#define IS_ADJUST_DATE_TIME_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ADJUST_DATE_TIME_DIALOG))
#define IS_ADJUST_DATE_TIME_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ADJUST_DATE_TIME_DIALOG))
#define ADJUST_DATE_TIME_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ADJUST_DATE_TIME_DIALOG, AdjustDateTimeDialogClass))

typedef struct _AdjustDateTimeDialog AdjustDateTimeDialog;
typedef struct _AdjustDateTimeDialogClass AdjustDateTimeDialogClass;
typedef struct _AdjustDateTimeDialogPrivate AdjustDateTimeDialogPrivate;

#define IMPORT_UI_TYPE_QUESTION_PARAMS (import_ui_question_params_get_type ())
#define IMPORT_UI_QUESTION_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), IMPORT_UI_TYPE_QUESTION_PARAMS, ImportUIQuestionParams))
#define IMPORT_UI_QUESTION_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), IMPORT_UI_TYPE_QUESTION_PARAMS, ImportUIQuestionParamsClass))
#define IMPORT_UI_IS_QUESTION_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), IMPORT_UI_TYPE_QUESTION_PARAMS))
#define IMPORT_UI_IS_QUESTION_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), IMPORT_UI_TYPE_QUESTION_PARAMS))
#define IMPORT_UI_QUESTION_PARAMS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), IMPORT_UI_TYPE_QUESTION_PARAMS, ImportUIQuestionParamsClass))

typedef struct _ImportUIQuestionParams ImportUIQuestionParams;
typedef struct _ImportUIQuestionParamsClass ImportUIQuestionParamsClass;
typedef struct _ImportUIQuestionParamsPrivate ImportUIQuestionParamsPrivate;

#define TYPE_TEXT_ENTRY_DIALOG_MEDIATOR (text_entry_dialog_mediator_get_type ())
#define TEXT_ENTRY_DIALOG_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, TextEntryDialogMediator))
#define TEXT_ENTRY_DIALOG_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, TextEntryDialogMediatorClass))
#define IS_TEXT_ENTRY_DIALOG_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR))
#define IS_TEXT_ENTRY_DIALOG_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR))
#define TEXT_ENTRY_DIALOG_MEDIATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, TextEntryDialogMediatorClass))

typedef struct _TextEntryDialogMediator TextEntryDialogMediator;
typedef struct _TextEntryDialogMediatorClass TextEntryDialogMediatorClass;
typedef struct _TextEntryDialogMediatorPrivate TextEntryDialogMediatorPrivate;

#define TYPE_ENTRY_MULTI_COMPLETION (entry_multi_completion_get_type ())
#define ENTRY_MULTI_COMPLETION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ENTRY_MULTI_COMPLETION, EntryMultiCompletion))
#define ENTRY_MULTI_COMPLETION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ENTRY_MULTI_COMPLETION, EntryMultiCompletionClass))
#define IS_ENTRY_MULTI_COMPLETION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ENTRY_MULTI_COMPLETION))
#define IS_ENTRY_MULTI_COMPLETION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ENTRY_MULTI_COMPLETION))
#define ENTRY_MULTI_COMPLETION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ENTRY_MULTI_COMPLETION, EntryMultiCompletionClass))

typedef struct _EntryMultiCompletion EntryMultiCompletion;
typedef struct _EntryMultiCompletionClass EntryMultiCompletionClass;
typedef struct _EntryMultiCompletionPrivate EntryMultiCompletionPrivate;

#define TYPE_EVENT_RENAME_DIALOG (event_rename_dialog_get_type ())
#define EVENT_RENAME_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_RENAME_DIALOG, EventRenameDialog))
#define EVENT_RENAME_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_RENAME_DIALOG, EventRenameDialogClass))
#define IS_EVENT_RENAME_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_RENAME_DIALOG))
#define IS_EVENT_RENAME_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_RENAME_DIALOG))
#define EVENT_RENAME_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_RENAME_DIALOG, EventRenameDialogClass))

typedef struct _EventRenameDialog EventRenameDialog;
typedef struct _EventRenameDialogClass EventRenameDialogClass;
typedef struct _EventRenameDialogPrivate EventRenameDialogPrivate;

#define TYPE_WELCOME_SERVICE_ENTRY (welcome_service_entry_get_type ())
#define WELCOME_SERVICE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WELCOME_SERVICE_ENTRY, WelcomeServiceEntry))
#define IS_WELCOME_SERVICE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WELCOME_SERVICE_ENTRY))
#define WELCOME_SERVICE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_WELCOME_SERVICE_ENTRY, WelcomeServiceEntryIface))

typedef struct _WelcomeServiceEntry WelcomeServiceEntry;
typedef struct _WelcomeServiceEntryIface WelcomeServiceEntryIface;

#define TYPE_EXPORT_DIALOG (export_dialog_get_type ())
#define EXPORT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPORT_DIALOG, ExportDialog))
#define EXPORT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPORT_DIALOG, ExportDialogClass))
#define IS_EXPORT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPORT_DIALOG))
#define IS_EXPORT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPORT_DIALOG))
#define EXPORT_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPORT_DIALOG, ExportDialogClass))

typedef struct _ExportDialog ExportDialog;
typedef struct _ExportDialogClass ExportDialogClass;
typedef struct _ExportDialogPrivate ExportDialogPrivate;

#define TYPE_PREFERENCES_DIALOG (preferences_dialog_get_type ())
#define PREFERENCES_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PREFERENCES_DIALOG, PreferencesDialog))
#define PREFERENCES_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PREFERENCES_DIALOG, PreferencesDialogClass))
#define IS_PREFERENCES_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PREFERENCES_DIALOG))
#define IS_PREFERENCES_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PREFERENCES_DIALOG))
#define PREFERENCES_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PREFERENCES_DIALOG, PreferencesDialogClass))

typedef struct _PreferencesDialog PreferencesDialog;
typedef struct _PreferencesDialogClass PreferencesDialogClass;
typedef struct _PreferencesDialogPrivate PreferencesDialogPrivate;

#define TYPE_PROGRESS_DIALOG (progress_dialog_get_type ())
#define PROGRESS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PROGRESS_DIALOG, ProgressDialog))
#define PROGRESS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PROGRESS_DIALOG, ProgressDialogClass))
#define IS_PROGRESS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PROGRESS_DIALOG))
#define IS_PROGRESS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PROGRESS_DIALOG))
#define PROGRESS_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PROGRESS_DIALOG, ProgressDialogClass))

typedef struct _ProgressDialog ProgressDialog;
typedef struct _ProgressDialogClass ProgressDialogClass;
typedef struct _ProgressDialogPrivate ProgressDialogPrivate;

#define TYPE_SAVED_SEARCH_DIALOG (saved_search_dialog_get_type ())
#define SAVED_SEARCH_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialog))
#define SAVED_SEARCH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialogClass))
#define IS_SAVED_SEARCH_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_DIALOG))
#define IS_SAVED_SEARCH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_DIALOG))
#define SAVED_SEARCH_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialogClass))

typedef struct _SavedSearchDialog SavedSearchDialog;
typedef struct _SavedSearchDialogClass SavedSearchDialogClass;
typedef struct _SavedSearchDialogPrivate SavedSearchDialogPrivate;

#define TYPE_TEXT_ENTRY_DIALOG (text_entry_dialog_get_type ())
#define TEXT_ENTRY_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TEXT_ENTRY_DIALOG, TextEntryDialog))
#define TEXT_ENTRY_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TEXT_ENTRY_DIALOG, TextEntryDialogClass))
#define IS_TEXT_ENTRY_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TEXT_ENTRY_DIALOG))
#define IS_TEXT_ENTRY_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TEXT_ENTRY_DIALOG))
#define TEXT_ENTRY_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TEXT_ENTRY_DIALOG, TextEntryDialogClass))

typedef struct _TextEntryDialog TextEntryDialog;
typedef struct _TextEntryDialogClass TextEntryDialogClass;
typedef struct _TextEntryDialogPrivate TextEntryDialogPrivate;
typedef gboolean (*TextEntryDialogOnModifyValidateType) (const gchar* text, gpointer user_data);

#define TYPE_CONFIGURATION_ERROR (configuration_error_get_type ())

#define TYPE_CONFIGURATION_ENGINE (configuration_engine_get_type ())
#define CONFIGURATION_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_ENGINE, ConfigurationEngine))
#define IS_CONFIGURATION_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_ENGINE))
#define CONFIGURATION_ENGINE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_CONFIGURATION_ENGINE, ConfigurationEngineIface))

typedef struct _ConfigurationEngine ConfigurationEngine;
typedef struct _ConfigurationEngineIface ConfigurationEngineIface;

#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ())
#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade))
#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass))
#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE))
#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE))
#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass))

typedef struct _ConfigurationFacade ConfigurationFacade;
typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass;
typedef struct _ConfigurationFacadePrivate ConfigurationFacadePrivate;

#define CONFIG_TYPE_FACADE (config_facade_get_type ())
#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade))
#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass))
#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE))
#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE))
#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass))

typedef struct _ConfigFacade ConfigFacade;
typedef struct _ConfigFacadeClass ConfigFacadeClass;
typedef struct _ConfigFacadePrivate ConfigFacadePrivate;

#define TYPE_GSETTINGS_CONFIGURATION_ENGINE (gsettings_configuration_engine_get_type ())
#define GSETTINGS_CONFIGURATION_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine))
#define GSETTINGS_CONFIGURATION_ENGINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngineClass))
#define IS_GSETTINGS_CONFIGURATION_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GSETTINGS_CONFIGURATION_ENGINE))
#define IS_GSETTINGS_CONFIGURATION_ENGINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GSETTINGS_CONFIGURATION_ENGINE))
#define GSETTINGS_CONFIGURATION_ENGINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngineClass))

typedef struct _GSettingsConfigurationEngine GSettingsConfigurationEngine;
typedef struct _GSettingsConfigurationEngineClass GSettingsConfigurationEngineClass;
typedef struct _GSettingsConfigurationEnginePrivate GSettingsConfigurationEnginePrivate;
typedef struct _AlterationPrivate AlterationPrivate;

#define TYPE_DATA_SET (data_set_get_type ())
#define DATA_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SET, DataSet))
#define DATA_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SET, DataSetClass))
#define IS_DATA_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SET))
#define IS_DATA_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SET))
#define DATA_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SET, DataSetClass))

typedef struct _DataSet DataSet;
typedef struct _DataSetClass DataSetClass;
typedef gboolean (*MarkedAction) (DataObject* object, GObject* user, gpointer user_data);
typedef gboolean (*ValueEqualFunc) (GValue* a, GValue* b, gpointer user_data);
typedef struct _DataSetPrivate DataSetPrivate;
typedef void (*DataSourceContactSubscriber) (DataView* view, gpointer user_data);
typedef void (*DataSourceContactSubscriberAlteration) (DataView* view, Alteration* alteration, gpointer user_data);
typedef struct _SourceSnapshotPrivate SourceSnapshotPrivate;
typedef struct _SourceBacklinkPrivate SourceBacklinkPrivate;
typedef struct _SourceProxyPrivate SourceProxyPrivate;

#define TYPE_PHOTO_VIEW (photo_view_get_type ())
#define PHOTO_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_VIEW, PhotoView))
#define PHOTO_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_VIEW, PhotoViewClass))
#define IS_PHOTO_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_VIEW))
#define IS_PHOTO_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_VIEW))
#define PHOTO_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_VIEW, PhotoViewClass))

typedef struct _PhotoView PhotoView;
typedef struct _PhotoViewClass PhotoViewClass;
typedef struct _PhotoViewPrivate PhotoViewPrivate;

#define TYPE_VIDEO_VIEW (video_view_get_type ())
#define VIDEO_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_VIEW, VideoView))
#define VIDEO_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_VIEW, VideoViewClass))
#define IS_VIDEO_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_VIEW))
#define IS_VIDEO_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_VIEW))
#define VIDEO_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_VIEW, VideoViewClass))

typedef struct _VideoView VideoView;
typedef struct _VideoViewClass VideoViewClass;
typedef struct _VideoViewPrivate VideoViewPrivate;

#define TYPE_EVENT_VIEW (event_view_get_type ())
#define EVENT_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_VIEW, EventView))
#define EVENT_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_VIEW, EventViewClass))
#define IS_EVENT_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_VIEW))
#define IS_EVENT_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_VIEW))
#define EVENT_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_VIEW, EventViewClass))

typedef struct _EventView EventView;
typedef struct _EventViewClass EventViewClass;
typedef struct _EventViewPrivate EventViewPrivate;
typedef gboolean (*CoreTrackerIncludeUnincludeObject) (DataObject* object, gpointer user_data);

#define TYPE_SINGLETON_COLLECTION (singleton_collection_get_type ())
#define SINGLETON_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SINGLETON_COLLECTION, SingletonCollection))
#define SINGLETON_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SINGLETON_COLLECTION, SingletonCollectionClass))
#define IS_SINGLETON_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SINGLETON_COLLECTION))
#define IS_SINGLETON_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SINGLETON_COLLECTION))
#define SINGLETON_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SINGLETON_COLLECTION, SingletonCollectionClass))

typedef struct _SingletonCollection SingletonCollection;
typedef struct _SingletonCollectionClass SingletonCollectionClass;
typedef struct _SingletonCollectionPrivate SingletonCollectionPrivate;

#define TYPE_UNKNOWN_TOTAL_MONITOR (unknown_total_monitor_get_type ())
#define UNKNOWN_TOTAL_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_UNKNOWN_TOTAL_MONITOR, UnknownTotalMonitor))
#define UNKNOWN_TOTAL_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_UNKNOWN_TOTAL_MONITOR, UnknownTotalMonitorClass))
#define IS_UNKNOWN_TOTAL_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_UNKNOWN_TOTAL_MONITOR))
#define IS_UNKNOWN_TOTAL_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_UNKNOWN_TOTAL_MONITOR))
#define UNKNOWN_TOTAL_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_UNKNOWN_TOTAL_MONITOR, UnknownTotalMonitorClass))

typedef struct _UnknownTotalMonitor UnknownTotalMonitor;
typedef struct _UnknownTotalMonitorClass UnknownTotalMonitorClass;
typedef struct _UnknownTotalMonitorPrivate UnknownTotalMonitorPrivate;

#define TYPE_AGGREGATE_PROGRESS_MONITOR (aggregate_progress_monitor_get_type ())
#define AGGREGATE_PROGRESS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_AGGREGATE_PROGRESS_MONITOR, AggregateProgressMonitor))
#define AGGREGATE_PROGRESS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_AGGREGATE_PROGRESS_MONITOR, AggregateProgressMonitorClass))
#define IS_AGGREGATE_PROGRESS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_AGGREGATE_PROGRESS_MONITOR))
#define IS_AGGREGATE_PROGRESS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_AGGREGATE_PROGRESS_MONITOR))
#define AGGREGATE_PROGRESS_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_AGGREGATE_PROGRESS_MONITOR, AggregateProgressMonitorClass))

typedef struct _AggregateProgressMonitor AggregateProgressMonitor;
typedef struct _AggregateProgressMonitorClass AggregateProgressMonitorClass;
typedef struct _AggregateProgressMonitorPrivate AggregateProgressMonitorPrivate;
typedef struct _ViewCollectionPrivate ViewCollectionPrivate;

#define VIEW_COLLECTION_TYPE_MONITOR (view_collection_monitor_get_type ())
#define VIEW_COLLECTION_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitor))
#define VIEW_COLLECTION_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass))
#define VIEW_COLLECTION_IS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_COLLECTION_TYPE_MONITOR))
#define VIEW_COLLECTION_IS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_COLLECTION_TYPE_MONITOR))
#define VIEW_COLLECTION_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass))

typedef struct _ViewCollectionMonitor ViewCollectionMonitor;
typedef struct _ViewCollectionMonitorClass ViewCollectionMonitorClass;
typedef gboolean (*CreateViewPredicate) (DataSource* source, gpointer user_data);
typedef struct _ViewCollectionMonitorPrivate ViewCollectionMonitorPrivate;

#define TYPE_DATABASE_TABLE (database_table_get_type ())
#define DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_TABLE, DatabaseTable))
#define DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_TABLE, DatabaseTableClass))
#define IS_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_TABLE))
#define IS_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_TABLE))
#define DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_TABLE, DatabaseTableClass))

typedef struct _DatabaseTable DatabaseTable;
typedef struct _DatabaseTableClass DatabaseTableClass;
typedef struct _DatabaseTablePrivate DatabaseTablePrivate;
typedef enum  {
	DB_VERIFY_RESULT_OK,
	DB_VERIFY_RESULT_FUTURE_VERSION,
	DB_VERIFY_RESULT_UPGRADE_ERROR,
	DB_VERIFY_RESULT_NO_UPGRADE_AVAILABLE
} DbVerifyResult;

#define DB_TYPE_VERIFY_RESULT (db_verify_result_get_type ())

#define TYPE_EVENT_ROW (event_row_get_type ())
#define EVENT_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_ROW, EventRow))
#define EVENT_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_ROW, EventRowClass))
#define IS_EVENT_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_ROW))
#define IS_EVENT_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_ROW))
#define EVENT_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_ROW, EventRowClass))

typedef struct _EventRow EventRow;
typedef struct _EventRowClass EventRowClass;
typedef struct _EventRowPrivate EventRowPrivate;

#define TYPE_EVENT_TABLE (event_table_get_type ())
#define EVENT_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_TABLE, EventTable))
#define EVENT_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_TABLE, EventTableClass))
#define IS_EVENT_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_TABLE))
#define IS_EVENT_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_TABLE))
#define EVENT_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_TABLE, EventTableClass))

typedef struct _EventTable EventTable;
typedef struct _EventTableClass EventTableClass;
typedef struct _EventTablePrivate EventTablePrivate;
typedef struct _PhotoRowPrivate PhotoRowPrivate;

#define TYPE_PHOTO_TABLE (photo_table_get_type ())
#define PHOTO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_TABLE, PhotoTable))
#define PHOTO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_TABLE, PhotoTableClass))
#define IS_PHOTO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_TABLE))
#define IS_PHOTO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_TABLE))
#define PHOTO_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_TABLE, PhotoTableClass))

typedef struct _PhotoTable PhotoTable;
typedef struct _PhotoTableClass PhotoTableClass;
typedef struct _PhotoTablePrivate PhotoTablePrivate;
typedef struct _BackingPhotoRowPrivate BackingPhotoRowPrivate;

#define TYPE_BACKING_PHOTO_TABLE (backing_photo_table_get_type ())
#define BACKING_PHOTO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKING_PHOTO_TABLE, BackingPhotoTable))
#define BACKING_PHOTO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKING_PHOTO_TABLE, BackingPhotoTableClass))
#define IS_BACKING_PHOTO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKING_PHOTO_TABLE))
#define IS_BACKING_PHOTO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKING_PHOTO_TABLE))
#define BACKING_PHOTO_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKING_PHOTO_TABLE, BackingPhotoTableClass))

typedef struct _BackingPhotoTable BackingPhotoTable;
typedef struct _BackingPhotoTableClass BackingPhotoTableClass;
typedef struct _BackingPhotoTablePrivate BackingPhotoTablePrivate;

#define TYPE_SAVED_SEARCH_ID (saved_search_id_get_type ())
typedef struct _SavedSearchID SavedSearchID;

#define TYPE_SAVED_SEARCH_ROW (saved_search_row_get_type ())
#define SAVED_SEARCH_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_ROW, SavedSearchRow))
#define SAVED_SEARCH_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_ROW, SavedSearchRowClass))
#define IS_SAVED_SEARCH_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_ROW))
#define IS_SAVED_SEARCH_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_ROW))
#define SAVED_SEARCH_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_ROW, SavedSearchRowClass))

typedef struct _SavedSearchRow SavedSearchRow;
typedef struct _SavedSearchRowClass SavedSearchRowClass;
typedef struct _SavedSearchRowPrivate SavedSearchRowPrivate;
typedef enum  {
	SEARCH_OPERATOR_ANY = 0,
	SEARCH_OPERATOR_ALL,
	SEARCH_OPERATOR_NONE
} SearchOperator;

#define TYPE_SEARCH_OPERATOR (search_operator_get_type ())

#define TYPE_SEARCH_CONDITION (search_condition_get_type ())
#define SEARCH_CONDITION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION, SearchCondition))
#define SEARCH_CONDITION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION, SearchConditionClass))
#define IS_SEARCH_CONDITION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION))
#define IS_SEARCH_CONDITION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION))
#define SEARCH_CONDITION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION, SearchConditionClass))

typedef struct _SearchCondition SearchCondition;
typedef struct _SearchConditionClass SearchConditionClass;

#define TYPE_SAVED_SEARCH_DB_TABLE (saved_search_db_table_get_type ())
#define SAVED_SEARCH_DB_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_DB_TABLE, SavedSearchDBTable))
#define SAVED_SEARCH_DB_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_DB_TABLE, SavedSearchDBTableClass))
#define IS_SAVED_SEARCH_DB_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_DB_TABLE))
#define IS_SAVED_SEARCH_DB_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_DB_TABLE))
#define SAVED_SEARCH_DB_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_DB_TABLE, SavedSearchDBTableClass))

typedef struct _SavedSearchDBTable SavedSearchDBTable;
typedef struct _SavedSearchDBTableClass SavedSearchDBTableClass;
typedef struct _SavedSearchDBTablePrivate SavedSearchDBTablePrivate;
typedef struct _TagRowPrivate TagRowPrivate;

#define TYPE_TAG_TABLE (tag_table_get_type ())
#define TAG_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAG_TABLE, TagTable))
#define TAG_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAG_TABLE, TagTableClass))
#define IS_TAG_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAG_TABLE))
#define IS_TAG_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAG_TABLE))
#define TAG_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAG_TABLE, TagTableClass))

typedef struct _TagTable TagTable;
typedef struct _TagTableClass TagTableClass;
typedef struct _TagTablePrivate TagTablePrivate;

#define TYPE_TOMBSTONE_ROW (tombstone_row_get_type ())
#define TOMBSTONE_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TOMBSTONE_ROW, TombstoneRow))
#define TOMBSTONE_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TOMBSTONE_ROW, TombstoneRowClass))
#define IS_TOMBSTONE_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TOMBSTONE_ROW))
#define IS_TOMBSTONE_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TOMBSTONE_ROW))
#define TOMBSTONE_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TOMBSTONE_ROW, TombstoneRowClass))

typedef struct _TombstoneRow TombstoneRow;
typedef struct _TombstoneRowClass TombstoneRowClass;
typedef struct _TombstoneRowPrivate TombstoneRowPrivate;

#define TYPE_TOMBSTONE_TABLE (tombstone_table_get_type ())
#define TOMBSTONE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TOMBSTONE_TABLE, TombstoneTable))
#define TOMBSTONE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TOMBSTONE_TABLE, TombstoneTableClass))
#define IS_TOMBSTONE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TOMBSTONE_TABLE))
#define IS_TOMBSTONE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TOMBSTONE_TABLE))
#define TOMBSTONE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TOMBSTONE_TABLE, TombstoneTableClass))

typedef struct _TombstoneTable TombstoneTable;
typedef struct _TombstoneTableClass TombstoneTableClass;
typedef struct _TombstoneTablePrivate TombstoneTablePrivate;

#define TYPE_VERSION_TABLE (version_table_get_type ())
#define VERSION_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VERSION_TABLE, VersionTable))
#define VERSION_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VERSION_TABLE, VersionTableClass))
#define IS_VERSION_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VERSION_TABLE))
#define IS_VERSION_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VERSION_TABLE))
#define VERSION_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VERSION_TABLE, VersionTableClass))

typedef struct _VersionTable VersionTable;
typedef struct _VersionTableClass VersionTableClass;
typedef struct _VersionTablePrivate VersionTablePrivate;
typedef struct _VideoRowPrivate VideoRowPrivate;

#define TYPE_VIDEO_TABLE (video_table_get_type ())
#define VIDEO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_TABLE, VideoTable))
#define VIDEO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_TABLE, VideoTableClass))
#define IS_VIDEO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_TABLE))
#define IS_VIDEO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_TABLE))
#define VIDEO_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_TABLE, VideoTableClass))

typedef struct _VideoTable VideoTable;
typedef struct _VideoTableClass VideoTableClass;
typedef struct _VideoTablePrivate VideoTablePrivate;

#define TYPE_DIRECT_PHOTO (direct_photo_get_type ())
#define DIRECT_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECT_PHOTO, DirectPhoto))
#define DIRECT_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECT_PHOTO, DirectPhotoClass))
#define IS_DIRECT_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECT_PHOTO))
#define IS_DIRECT_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECT_PHOTO))
#define DIRECT_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECT_PHOTO, DirectPhotoClass))

typedef struct _DirectPhoto DirectPhoto;
typedef struct _DirectPhotoClass DirectPhotoClass;
typedef struct _DirectPhotoPrivate DirectPhotoPrivate;

#define TYPE_DIRECT_PHOTO_SOURCE_COLLECTION (direct_photo_source_collection_get_type ())
#define DIRECT_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECT_PHOTO_SOURCE_COLLECTION, DirectPhotoSourceCollection))
#define DIRECT_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECT_PHOTO_SOURCE_COLLECTION, DirectPhotoSourceCollectionClass))
#define IS_DIRECT_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECT_PHOTO_SOURCE_COLLECTION))
#define IS_DIRECT_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECT_PHOTO_SOURCE_COLLECTION))
#define DIRECT_PHOTO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECT_PHOTO_SOURCE_COLLECTION, DirectPhotoSourceCollectionClass))

typedef struct _DirectPhotoSourceCollection DirectPhotoSourceCollection;
typedef struct _DirectPhotoSourceCollectionClass DirectPhotoSourceCollectionClass;
typedef struct _DirectPhotoSourceCollectionPrivate DirectPhotoSourceCollectionPrivate;

#define TYPE_DIRECT_VIEW (direct_view_get_type ())
#define DIRECT_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECT_VIEW, DirectView))
#define DIRECT_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECT_VIEW, DirectViewClass))
#define IS_DIRECT_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECT_VIEW))
#define IS_DIRECT_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECT_VIEW))
#define DIRECT_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECT_VIEW, DirectViewClass))

typedef struct _DirectView DirectView;
typedef struct _DirectViewClass DirectViewClass;
typedef struct _DirectViewPrivate DirectViewPrivate;

#define TYPE_DIRECT_WINDOW (direct_window_get_type ())
#define DIRECT_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECT_WINDOW, DirectWindow))
#define DIRECT_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECT_WINDOW, DirectWindowClass))
#define IS_DIRECT_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECT_WINDOW))
#define IS_DIRECT_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECT_WINDOW))
#define DIRECT_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECT_WINDOW, DirectWindowClass))

typedef struct _DirectWindow DirectWindow;
typedef struct _DirectWindowClass DirectWindowClass;
typedef struct _DirectWindowPrivate DirectWindowPrivate;

#define TYPE_EDITING_HOST_PAGE (editing_host_page_get_type ())
#define EDITING_HOST_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDITING_HOST_PAGE, EditingHostPage))
#define EDITING_HOST_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDITING_HOST_PAGE, EditingHostPageClass))
#define IS_EDITING_HOST_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDITING_HOST_PAGE))
#define IS_EDITING_HOST_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDITING_HOST_PAGE))
#define EDITING_HOST_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDITING_HOST_PAGE, EditingHostPageClass))

typedef struct _EditingHostPage EditingHostPage;
typedef struct _EditingHostPageClass EditingHostPageClass;

#define TYPE_DIRECT_PHOTO_PAGE (direct_photo_page_get_type ())
#define DIRECT_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPage))
#define DIRECT_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPageClass))
#define IS_DIRECT_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECT_PHOTO_PAGE))
#define IS_DIRECT_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECT_PHOTO_PAGE))
#define DIRECT_PHOTO_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPageClass))

typedef struct _DirectPhotoPage DirectPhotoPage;
typedef struct _DirectPhotoPageClass DirectPhotoPageClass;

#define EDITING_TOOLS_TYPE_EDITING_TOOL (editing_tools_editing_tool_get_type ())
#define EDITING_TOOLS_EDITING_TOOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool))
#define EDITING_TOOLS_EDITING_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingToolClass))
#define EDITING_TOOLS_IS_EDITING_TOOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_TYPE_EDITING_TOOL))
#define EDITING_TOOLS_IS_EDITING_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_TYPE_EDITING_TOOL))
#define EDITING_TOOLS_EDITING_TOOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingToolClass))

typedef struct _EditingToolsEditingTool EditingToolsEditingTool;
typedef struct _EditingToolsEditingToolClass EditingToolsEditingToolClass;
typedef struct _EditingToolsEditingToolPrivate EditingToolsEditingToolPrivate;

#define EDITING_TOOLS_TYPE_PHOTO_CANVAS (editing_tools_photo_canvas_get_type ())
#define EDITING_TOOLS_PHOTO_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_TYPE_PHOTO_CANVAS, EditingToolsPhotoCanvas))
#define EDITING_TOOLS_PHOTO_CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_TYPE_PHOTO_CANVAS, EditingToolsPhotoCanvasClass))
#define EDITING_TOOLS_IS_PHOTO_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_TYPE_PHOTO_CANVAS))
#define EDITING_TOOLS_IS_PHOTO_CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_TYPE_PHOTO_CANVAS))
#define EDITING_TOOLS_PHOTO_CANVAS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_TYPE_PHOTO_CANVAS, EditingToolsPhotoCanvasClass))

typedef struct _EditingToolsPhotoCanvas EditingToolsPhotoCanvas;
typedef struct _EditingToolsPhotoCanvasClass EditingToolsPhotoCanvasClass;

#define EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW (editing_tools_editing_tool_window_get_type ())
#define EDITING_TOOLS_EDITING_TOOL_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW, EditingToolsEditingToolWindow))
#define EDITING_TOOLS_EDITING_TOOL_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW, EditingToolsEditingToolWindowClass))
#define EDITING_TOOLS_IS_EDITING_TOOL_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW))
#define EDITING_TOOLS_IS_EDITING_TOOL_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW))
#define EDITING_TOOLS_EDITING_TOOL_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW, EditingToolsEditingToolWindowClass))

typedef struct _EditingToolsEditingToolWindow EditingToolsEditingToolWindow;
typedef struct _EditingToolsEditingToolWindowClass EditingToolsEditingToolWindowClass;

#define EDITING_TOOLS_TYPE_ADJUST_TOOL (editing_tools_adjust_tool_get_type ())
#define EDITING_TOOLS_ADJUST_TOOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_TYPE_ADJUST_TOOL, EditingToolsAdjustTool))
#define EDITING_TOOLS_ADJUST_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_TYPE_ADJUST_TOOL, EditingToolsAdjustToolClass))
#define EDITING_TOOLS_IS_ADJUST_TOOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_TYPE_ADJUST_TOOL))
#define EDITING_TOOLS_IS_ADJUST_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_TYPE_ADJUST_TOOL))
#define EDITING_TOOLS_ADJUST_TOOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_TYPE_ADJUST_TOOL, EditingToolsAdjustToolClass))

typedef struct _EditingToolsAdjustTool EditingToolsAdjustTool;
typedef struct _EditingToolsAdjustToolClass EditingToolsAdjustToolClass;
typedef struct _EditingToolsAdjustToolPrivate EditingToolsAdjustToolPrivate;

#define EDITING_TOOLS_TYPE_CROP_TOOL (editing_tools_crop_tool_get_type ())
#define EDITING_TOOLS_CROP_TOOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_TYPE_CROP_TOOL, EditingToolsCropTool))
#define EDITING_TOOLS_CROP_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_TYPE_CROP_TOOL, EditingToolsCropToolClass))
#define EDITING_TOOLS_IS_CROP_TOOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_TYPE_CROP_TOOL))
#define EDITING_TOOLS_IS_CROP_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_TYPE_CROP_TOOL))
#define EDITING_TOOLS_CROP_TOOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_TYPE_CROP_TOOL, EditingToolsCropToolClass))

typedef struct _EditingToolsCropTool EditingToolsCropTool;
typedef struct _EditingToolsCropToolClass EditingToolsCropToolClass;
typedef struct _EditingToolsCropToolPrivate EditingToolsCropToolPrivate;
typedef EditingToolsEditingTool* (*EditingToolsEditingToolFactory) (void);
typedef struct _EditingToolsEditingToolWindowPrivate EditingToolsEditingToolWindowPrivate;
typedef struct _EditingToolsPhotoCanvasPrivate EditingToolsPhotoCanvasPrivate;

#define EDITING_TOOLS_TYPE_REDEYE_TOOL (editing_tools_redeye_tool_get_type ())
#define EDITING_TOOLS_REDEYE_TOOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_TYPE_REDEYE_TOOL, EditingToolsRedeyeTool))
#define EDITING_TOOLS_REDEYE_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_TYPE_REDEYE_TOOL, EditingToolsRedeyeToolClass))
#define EDITING_TOOLS_IS_REDEYE_TOOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_TYPE_REDEYE_TOOL))
#define EDITING_TOOLS_IS_REDEYE_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_TYPE_REDEYE_TOOL))
#define EDITING_TOOLS_REDEYE_TOOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_TYPE_REDEYE_TOOL, EditingToolsRedeyeToolClass))

typedef struct _EditingToolsRedeyeTool EditingToolsRedeyeTool;
typedef struct _EditingToolsRedeyeToolClass EditingToolsRedeyeToolClass;
typedef struct _EditingToolsRedeyeToolPrivate EditingToolsRedeyeToolPrivate;

#define EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL (editing_tools_straighten_tool_get_type ())
#define EDITING_TOOLS_STRAIGHTEN_TOOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL, EditingToolsStraightenTool))
#define EDITING_TOOLS_STRAIGHTEN_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL, EditingToolsStraightenToolClass))
#define EDITING_TOOLS_IS_STRAIGHTEN_TOOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL))
#define EDITING_TOOLS_IS_STRAIGHTEN_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL))
#define EDITING_TOOLS_STRAIGHTEN_TOOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL, EditingToolsStraightenToolClass))

typedef struct _EditingToolsStraightenTool EditingToolsStraightenTool;
typedef struct _EditingToolsStraightenToolClass EditingToolsStraightenToolClass;
typedef struct _EditingToolsStraightenToolPrivate EditingToolsStraightenToolPrivate;

#define EVENTS_TYPE_BRANCH (events_branch_get_type ())
#define EVENTS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_BRANCH, EventsBranch))
#define EVENTS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_BRANCH, EventsBranchClass))
#define EVENTS_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_BRANCH))
#define EVENTS_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_BRANCH))
#define EVENTS_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_BRANCH, EventsBranchClass))

typedef struct _EventsBranch EventsBranch;
typedef struct _EventsBranchClass EventsBranchClass;
typedef struct _EventsBranchPrivate EventsBranchPrivate;

#define EVENTS_TYPE_DIRECTORY_ENTRY (events_directory_entry_get_type ())
#define EVENTS_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_DIRECTORY_ENTRY, EventsDirectoryEntry))
#define EVENTS_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_DIRECTORY_ENTRY, EventsDirectoryEntryClass))
#define EVENTS_IS_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_DIRECTORY_ENTRY))
#define EVENTS_IS_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_DIRECTORY_ENTRY))
#define EVENTS_DIRECTORY_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_DIRECTORY_ENTRY, EventsDirectoryEntryClass))

typedef struct _EventsDirectoryEntry EventsDirectoryEntry;
typedef struct _EventsDirectoryEntryClass EventsDirectoryEntryClass;

#define EVENTS_TYPE_MASTER_DIRECTORY_ENTRY (events_master_directory_entry_get_type ())
#define EVENTS_MASTER_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_MASTER_DIRECTORY_ENTRY, EventsMasterDirectoryEntry))
#define EVENTS_MASTER_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_MASTER_DIRECTORY_ENTRY, EventsMasterDirectoryEntryClass))
#define EVENTS_IS_MASTER_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_MASTER_DIRECTORY_ENTRY))
#define EVENTS_IS_MASTER_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_MASTER_DIRECTORY_ENTRY))
#define EVENTS_MASTER_DIRECTORY_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_MASTER_DIRECTORY_ENTRY, EventsMasterDirectoryEntryClass))

typedef struct _EventsMasterDirectoryEntry EventsMasterDirectoryEntry;
typedef struct _EventsMasterDirectoryEntryClass EventsMasterDirectoryEntryClass;

#define EVENTS_TYPE_EVENT_ENTRY (events_event_entry_get_type ())
#define EVENTS_EVENT_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry))
#define EVENTS_EVENT_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_EVENT_ENTRY, EventsEventEntryClass))
#define EVENTS_IS_EVENT_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_EVENT_ENTRY))
#define EVENTS_IS_EVENT_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_EVENT_ENTRY))
#define EVENTS_EVENT_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_EVENT_ENTRY, EventsEventEntryClass))

typedef struct _EventsEventEntry EventsEventEntry;
typedef struct _EventsEventEntryClass EventsEventEntryClass;
typedef struct _EventsDirectoryEntryPrivate EventsDirectoryEntryPrivate;
typedef struct _EventsMasterDirectoryEntryPrivate EventsMasterDirectoryEntryPrivate;

#define EVENTS_TYPE_YEAR_DIRECTORY_ENTRY (events_year_directory_entry_get_type ())
#define EVENTS_YEAR_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, EventsYearDirectoryEntry))
#define EVENTS_YEAR_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, EventsYearDirectoryEntryClass))
#define EVENTS_IS_YEAR_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_YEAR_DIRECTORY_ENTRY))
#define EVENTS_IS_YEAR_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_YEAR_DIRECTORY_ENTRY))
#define EVENTS_YEAR_DIRECTORY_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, EventsYearDirectoryEntryClass))

typedef struct _EventsYearDirectoryEntry EventsYearDirectoryEntry;
typedef struct _EventsYearDirectoryEntryClass EventsYearDirectoryEntryClass;
typedef struct _EventsYearDirectoryEntryPrivate EventsYearDirectoryEntryPrivate;

#define EVENTS_TYPE_MONTH_DIRECTORY_ENTRY (events_month_directory_entry_get_type ())
#define EVENTS_MONTH_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, EventsMonthDirectoryEntry))
#define EVENTS_MONTH_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, EventsMonthDirectoryEntryClass))
#define EVENTS_IS_MONTH_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_MONTH_DIRECTORY_ENTRY))
#define EVENTS_IS_MONTH_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_MONTH_DIRECTORY_ENTRY))
#define EVENTS_MONTH_DIRECTORY_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, EventsMonthDirectoryEntryClass))

typedef struct _EventsMonthDirectoryEntry EventsMonthDirectoryEntry;
typedef struct _EventsMonthDirectoryEntryClass EventsMonthDirectoryEntryClass;
typedef struct _EventsMonthDirectoryEntryPrivate EventsMonthDirectoryEntryPrivate;

#define EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY (events_undated_directory_entry_get_type ())
#define EVENTS_UNDATED_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY, EventsUndatedDirectoryEntry))
#define EVENTS_UNDATED_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY, EventsUndatedDirectoryEntryClass))
#define EVENTS_IS_UNDATED_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY))
#define EVENTS_IS_UNDATED_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY))
#define EVENTS_UNDATED_DIRECTORY_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY, EventsUndatedDirectoryEntryClass))

typedef struct _EventsUndatedDirectoryEntry EventsUndatedDirectoryEntry;
typedef struct _EventsUndatedDirectoryEntryClass EventsUndatedDirectoryEntryClass;
typedef struct _EventsUndatedDirectoryEntryPrivate EventsUndatedDirectoryEntryPrivate;

#define SIDEBAR_TYPE_RENAMEABLE_ENTRY (sidebar_renameable_entry_get_type ())
#define SIDEBAR_RENAMEABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY, SidebarRenameableEntry))
#define SIDEBAR_IS_RENAMEABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY))
#define SIDEBAR_RENAMEABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY, SidebarRenameableEntryIface))

typedef struct _SidebarRenameableEntry SidebarRenameableEntry;
typedef struct _SidebarRenameableEntryIface SidebarRenameableEntryIface;

#define SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY (sidebar_internal_drop_target_entry_get_type ())
#define SIDEBAR_INTERNAL_DROP_TARGET_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY, SidebarInternalDropTargetEntry))
#define SIDEBAR_IS_INTERNAL_DROP_TARGET_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY))
#define SIDEBAR_INTERNAL_DROP_TARGET_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY, SidebarInternalDropTargetEntryIface))

typedef struct _SidebarInternalDropTargetEntry SidebarInternalDropTargetEntry;
typedef struct _SidebarInternalDropTargetEntryIface SidebarInternalDropTargetEntryIface;
typedef struct _EventsEventEntryPrivate EventsEventEntryPrivate;

#define EVENTS_TYPE_NO_EVENT_ENTRY (events_no_event_entry_get_type ())
#define EVENTS_NO_EVENT_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_NO_EVENT_ENTRY, EventsNoEventEntry))
#define EVENTS_NO_EVENT_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_NO_EVENT_ENTRY, EventsNoEventEntryClass))
#define EVENTS_IS_NO_EVENT_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_NO_EVENT_ENTRY))
#define EVENTS_IS_NO_EVENT_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_NO_EVENT_ENTRY))
#define EVENTS_NO_EVENT_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_NO_EVENT_ENTRY, EventsNoEventEntryClass))

typedef struct _EventsNoEventEntry EventsNoEventEntry;
typedef struct _EventsNoEventEntryClass EventsNoEventEntryClass;
typedef struct _EventsNoEventEntryPrivate EventsNoEventEntryPrivate;

#define LIBRARY_TYPE_BRANCH (library_branch_get_type ())
#define LIBRARY_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_BRANCH, LibraryBranch))
#define LIBRARY_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_BRANCH, LibraryBranchClass))
#define LIBRARY_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_BRANCH))
#define LIBRARY_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_BRANCH))
#define LIBRARY_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_BRANCH, LibraryBranchClass))

typedef struct _LibraryBranch LibraryBranch;
typedef struct _LibraryBranchClass LibraryBranchClass;
typedef struct _LibraryBranchPrivate LibraryBranchPrivate;

#define LIBRARY_TYPE_PHOTOS_ENTRY (library_photos_entry_get_type ())
#define LIBRARY_PHOTOS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_PHOTOS_ENTRY, LibraryPhotosEntry))
#define LIBRARY_PHOTOS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_PHOTOS_ENTRY, LibraryPhotosEntryClass))
#define LIBRARY_IS_PHOTOS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_PHOTOS_ENTRY))
#define LIBRARY_IS_PHOTOS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_PHOTOS_ENTRY))
#define LIBRARY_PHOTOS_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_PHOTOS_ENTRY, LibraryPhotosEntryClass))

typedef struct _LibraryPhotosEntry LibraryPhotosEntry;
typedef struct _LibraryPhotosEntryClass LibraryPhotosEntryClass;

#define LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY (library_hideable_page_entry_get_type ())
#define LIBRARY_HIDEABLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry))
#define LIBRARY_HIDEABLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntryClass))
#define LIBRARY_IS_HIDEABLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY))
#define LIBRARY_IS_HIDEABLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY))
#define LIBRARY_HIDEABLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntryClass))

typedef struct _LibraryHideablePageEntry LibraryHideablePageEntry;
typedef struct _LibraryHideablePageEntryClass LibraryHideablePageEntryClass;

#define LIBRARY_TYPE_VIDEOS_ENTRY (library_videos_entry_get_type ())
#define LIBRARY_VIDEOS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_VIDEOS_ENTRY, LibraryVideosEntry))
#define LIBRARY_VIDEOS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_VIDEOS_ENTRY, LibraryVideosEntryClass))
#define LIBRARY_IS_VIDEOS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_VIDEOS_ENTRY))
#define LIBRARY_IS_VIDEOS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_VIDEOS_ENTRY))
#define LIBRARY_VIDEOS_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_VIDEOS_ENTRY, LibraryVideosEntryClass))

typedef struct _LibraryVideosEntry LibraryVideosEntry;
typedef struct _LibraryVideosEntryClass LibraryVideosEntryClass;

#define LIBRARY_TYPE_RAWS_ENTRY (library_raws_entry_get_type ())
#define LIBRARY_RAWS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_RAWS_ENTRY, LibraryRawsEntry))
#define LIBRARY_RAWS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_RAWS_ENTRY, LibraryRawsEntryClass))
#define LIBRARY_IS_RAWS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_RAWS_ENTRY))
#define LIBRARY_IS_RAWS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_RAWS_ENTRY))
#define LIBRARY_RAWS_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_RAWS_ENTRY, LibraryRawsEntryClass))

typedef struct _LibraryRawsEntry LibraryRawsEntry;
typedef struct _LibraryRawsEntryClass LibraryRawsEntryClass;

#define LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY (library_flagged_sidebar_entry_get_type ())
#define LIBRARY_FLAGGED_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY, LibraryFlaggedSidebarEntry))
#define LIBRARY_FLAGGED_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY, LibraryFlaggedSidebarEntryClass))
#define LIBRARY_IS_FLAGGED_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY))
#define LIBRARY_IS_FLAGGED_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY))
#define LIBRARY_FLAGGED_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY, LibraryFlaggedSidebarEntryClass))

typedef struct _LibraryFlaggedSidebarEntry LibraryFlaggedSidebarEntry;
typedef struct _LibraryFlaggedSidebarEntryClass LibraryFlaggedSidebarEntryClass;

#define LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY (library_last_import_sidebar_entry_get_type ())
#define LIBRARY_LAST_IMPORT_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntry))
#define LIBRARY_LAST_IMPORT_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntryClass))
#define LIBRARY_IS_LAST_IMPORT_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY))
#define LIBRARY_IS_LAST_IMPORT_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY))
#define LIBRARY_LAST_IMPORT_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntryClass))

typedef struct _LibraryLastImportSidebarEntry LibraryLastImportSidebarEntry;
typedef struct _LibraryLastImportSidebarEntryClass LibraryLastImportSidebarEntryClass;

#define LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY (library_import_queue_sidebar_entry_get_type ())
#define LIBRARY_IMPORT_QUEUE_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, LibraryImportQueueSidebarEntry))
#define LIBRARY_IMPORT_QUEUE_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, LibraryImportQueueSidebarEntryClass))
#define LIBRARY_IS_IMPORT_QUEUE_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY))
#define LIBRARY_IS_IMPORT_QUEUE_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY))
#define LIBRARY_IMPORT_QUEUE_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, LibraryImportQueueSidebarEntryClass))

typedef struct _LibraryImportQueueSidebarEntry LibraryImportQueueSidebarEntry;
typedef struct _LibraryImportQueueSidebarEntryClass LibraryImportQueueSidebarEntryClass;

#define LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY (library_offline_sidebar_entry_get_type ())
#define LIBRARY_OFFLINE_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY, LibraryOfflineSidebarEntry))
#define LIBRARY_OFFLINE_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY, LibraryOfflineSidebarEntryClass))
#define LIBRARY_IS_OFFLINE_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY))
#define LIBRARY_IS_OFFLINE_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY))
#define LIBRARY_OFFLINE_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY, LibraryOfflineSidebarEntryClass))

typedef struct _LibraryOfflineSidebarEntry LibraryOfflineSidebarEntry;
typedef struct _LibraryOfflineSidebarEntryClass LibraryOfflineSidebarEntryClass;

#define LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY (library_trash_sidebar_entry_get_type ())
#define LIBRARY_TRASH_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY, LibraryTrashSidebarEntry))
#define LIBRARY_TRASH_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY, LibraryTrashSidebarEntryClass))
#define LIBRARY_IS_TRASH_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY))
#define LIBRARY_IS_TRASH_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY))
#define LIBRARY_TRASH_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY, LibraryTrashSidebarEntryClass))

typedef struct _LibraryTrashSidebarEntry LibraryTrashSidebarEntry;
typedef struct _LibraryTrashSidebarEntryClass LibraryTrashSidebarEntryClass;
typedef struct _LibraryHideablePageEntryPrivate LibraryHideablePageEntryPrivate;
typedef struct _PagePrivate PagePrivate;
typedef struct _CheckerboardPagePrivate CheckerboardPagePrivate;
typedef struct _MediaPagePrivate MediaPagePrivate;
typedef struct _CollectionPagePrivate CollectionPagePrivate;

#define LIBRARY_TYPE_MAIN_PAGE (library_main_page_get_type ())
#define LIBRARY_MAIN_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_MAIN_PAGE, LibraryMainPage))
#define LIBRARY_MAIN_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_MAIN_PAGE, LibraryMainPageClass))
#define LIBRARY_IS_MAIN_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_MAIN_PAGE))
#define LIBRARY_IS_MAIN_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_MAIN_PAGE))
#define LIBRARY_MAIN_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_MAIN_PAGE, LibraryMainPageClass))

typedef struct _LibraryMainPage LibraryMainPage;
typedef struct _LibraryMainPageClass LibraryMainPageClass;
typedef struct _LibraryMainPagePrivate LibraryMainPagePrivate;
typedef struct _LibraryFlaggedSidebarEntryPrivate LibraryFlaggedSidebarEntryPrivate;
typedef struct _LibraryImportQueueSidebarEntryPrivate LibraryImportQueueSidebarEntryPrivate;
typedef struct _LibraryLastImportSidebarEntryPrivate LibraryLastImportSidebarEntryPrivate;

#define TYPE_LIBRARY_WINDOW (library_window_get_type ())
#define LIBRARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_WINDOW, LibraryWindow))
#define LIBRARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_WINDOW, LibraryWindowClass))
#define IS_LIBRARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_WINDOW))
#define IS_LIBRARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_WINDOW))
#define LIBRARY_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_WINDOW, LibraryWindowClass))

typedef struct _LibraryWindow LibraryWindow;
typedef struct _LibraryWindowClass LibraryWindowClass;
typedef struct _LibraryWindowPrivate LibraryWindowPrivate;
typedef enum  {
	LIBRARY_WINDOW_TARGET_TYPE_URI_LIST,
	LIBRARY_WINDOW_TARGET_TYPE_MEDIA_LIST,
	LIBRARY_WINDOW_TARGET_TYPE_TAG_PATH
} LibraryWindowTargetType;

#define LIBRARY_WINDOW_TYPE_TARGET_TYPE (library_window_target_type_get_type ())
typedef struct _LibraryOfflineSidebarEntryPrivate LibraryOfflineSidebarEntryPrivate;

#define TYPE_TOP_DISPLAY (top_display_get_type ())
#define TOP_DISPLAY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TOP_DISPLAY, TopDisplay))
#define TOP_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TOP_DISPLAY, TopDisplayClass))
#define IS_TOP_DISPLAY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TOP_DISPLAY))
#define IS_TOP_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TOP_DISPLAY))
#define TOP_DISPLAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TOP_DISPLAY, TopDisplayClass))

typedef struct _TopDisplay TopDisplay;
typedef struct _TopDisplayClass TopDisplayClass;
typedef struct _TopDisplayPrivate TopDisplayPrivate;
typedef struct _LibraryTrashSidebarEntryPrivate LibraryTrashSidebarEntryPrivate;

#define TYPE_PHOTO_FILE_SNIFFER (photo_file_sniffer_get_type ())
#define PHOTO_FILE_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer))
#define PHOTO_FILE_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSnifferClass))
#define IS_PHOTO_FILE_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_SNIFFER))
#define IS_PHOTO_FILE_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_SNIFFER))
#define PHOTO_FILE_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSnifferClass))

typedef struct _PhotoFileSniffer PhotoFileSniffer;
typedef struct _PhotoFileSnifferClass PhotoFileSnifferClass;
typedef struct _PhotoFileSnifferPrivate PhotoFileSnifferPrivate;

#define TYPE_GDK_SNIFFER (gdk_sniffer_get_type ())
#define GDK_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GDK_SNIFFER, GdkSniffer))
#define GDK_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GDK_SNIFFER, GdkSnifferClass))
#define IS_GDK_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GDK_SNIFFER))
#define IS_GDK_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GDK_SNIFFER))
#define GDK_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GDK_SNIFFER, GdkSnifferClass))

typedef struct _GdkSniffer GdkSniffer;
typedef struct _GdkSnifferClass GdkSnifferClass;
typedef struct _GdkSnifferPrivate GdkSnifferPrivate;

#define PHOTOS_TYPE_BMP_SNIFFER (photos_bmp_sniffer_get_type ())
#define PHOTOS_BMP_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTOS_TYPE_BMP_SNIFFER, PhotosBmpSniffer))
#define PHOTOS_BMP_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTOS_TYPE_BMP_SNIFFER, PhotosBmpSnifferClass))
#define PHOTOS_IS_BMP_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTOS_TYPE_BMP_SNIFFER))
#define PHOTOS_IS_BMP_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTOS_TYPE_BMP_SNIFFER))
#define PHOTOS_BMP_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTOS_TYPE_BMP_SNIFFER, PhotosBmpSnifferClass))

typedef struct _PhotosBmpSniffer PhotosBmpSniffer;
typedef struct _PhotosBmpSnifferClass PhotosBmpSnifferClass;
typedef struct _PhotosBmpSnifferPrivate PhotosBmpSnifferPrivate;
typedef struct _PhotoFileAdapterPrivate PhotoFileAdapterPrivate;
typedef struct _PhotoFileReaderPrivate PhotoFileReaderPrivate;

#define TYPE_GDK_READER (gdk_reader_get_type ())
#define GDK_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GDK_READER, GdkReader))
#define GDK_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GDK_READER, GdkReaderClass))
#define IS_GDK_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GDK_READER))
#define IS_GDK_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GDK_READER))
#define GDK_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GDK_READER, GdkReaderClass))

typedef struct _GdkReader GdkReader;
typedef struct _GdkReaderClass GdkReaderClass;
typedef struct _GdkReaderPrivate GdkReaderPrivate;

#define PHOTOS_TYPE_BMP_READER (photos_bmp_reader_get_type ())
#define PHOTOS_BMP_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTOS_TYPE_BMP_READER, PhotosBmpReader))
#define PHOTOS_BMP_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTOS_TYPE_BMP_READER, PhotosBmpReaderClass))
#define PHOTOS_IS_BMP_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTOS_TYPE_BMP_READER))
#define PHOTOS_IS_BMP_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTOS_TYPE_BMP_READER))
#define PHOTOS_BMP_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTOS_TYPE_BMP_READER, PhotosBmpReaderClass))

typedef struct _PhotosBmpReader PhotosBmpReader;
typedef struct _PhotosBmpReaderClass PhotosBmpReaderClass;
typedef struct _PhotosBmpReaderPrivate PhotosBmpReaderPrivate;

#define TYPE_PHOTO_FILE_WRITER (photo_file_writer_get_type ())
#define PHOTO_FILE_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_WRITER, PhotoFileWriter))
#define PHOTO_FILE_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_WRITER, PhotoFileWriterClass))
#define IS_PHOTO_FILE_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_WRITER))
#define IS_PHOTO_FILE_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_WRITER))
#define PHOTO_FILE_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_WRITER, PhotoFileWriterClass))

typedef struct _PhotoFileWriter PhotoFileWriter;
typedef struct _PhotoFileWriterClass PhotoFileWriterClass;
typedef struct _PhotoFileWriterPrivate PhotoFileWriterPrivate;

#define PHOTOS_TYPE_BMP_WRITER (photos_bmp_writer_get_type ())
#define PHOTOS_BMP_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTOS_TYPE_BMP_WRITER, PhotosBmpWriter))
#define PHOTOS_BMP_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTOS_TYPE_BMP_WRITER, PhotosBmpWriterClass))
#define PHOTOS_IS_BMP_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTOS_TYPE_BMP_WRITER))
#define PHOTOS_IS_BMP_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTOS_TYPE_BMP_WRITER))
#define PHOTOS_BMP_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTOS_TYPE_BMP_WRITER, PhotosBmpWriterClass))

typedef struct _PhotosBmpWriter PhotosBmpWriter;
typedef struct _PhotosBmpWriterClass PhotosBmpWriterClass;
typedef struct _PhotosBmpWriterPrivate PhotosBmpWriterPrivate;

#define TYPE_PHOTO_FILE_METADATA_WRITER (photo_file_metadata_writer_get_type ())
#define PHOTO_FILE_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriter))
#define PHOTO_FILE_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriterClass))
#define IS_PHOTO_FILE_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_METADATA_WRITER))
#define IS_PHOTO_FILE_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_METADATA_WRITER))
#define PHOTO_FILE_METADATA_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriterClass))

typedef struct _PhotoFileMetadataWriter PhotoFileMetadataWriter;
typedef struct _PhotoFileMetadataWriterClass PhotoFileMetadataWriterClass;
typedef struct _PhotoFileMetadataWriterPrivate PhotoFileMetadataWriterPrivate;

#define PHOTOS_TYPE_BMP_METADATA_WRITER (photos_bmp_metadata_writer_get_type ())
#define PHOTOS_BMP_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTOS_TYPE_BMP_METADATA_WRITER, PhotosBmpMetadataWriter))
#define PHOTOS_BMP_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTOS_TYPE_BMP_METADATA_WRITER, PhotosBmpMetadataWriterClass))
#define PHOTOS_IS_BMP_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTOS_TYPE_BMP_METADATA_WRITER))
#define PHOTOS_IS_BMP_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTOS_TYPE_BMP_METADATA_WRITER))
#define PHOTOS_BMP_METADATA_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTOS_TYPE_BMP_METADATA_WRITER, PhotosBmpMetadataWriterClass))

typedef struct _PhotosBmpMetadataWriter PhotosBmpMetadataWriter;
typedef struct _PhotosBmpMetadataWriterClass PhotosBmpMetadataWriterClass;
typedef struct _PhotosBmpMetadataWriterPrivate PhotosBmpMetadataWriterPrivate;

#define TYPE_PHOTO_FILE_FORMAT_DRIVER (photo_file_format_driver_get_type ())
#define PHOTO_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriver))
#define PHOTO_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriverClass))
#define IS_PHOTO_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_FORMAT_DRIVER))
#define IS_PHOTO_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_FORMAT_DRIVER))
#define PHOTO_FILE_FORMAT_DRIVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriverClass))

typedef struct _PhotoFileFormatDriver PhotoFileFormatDriver;
typedef struct _PhotoFileFormatDriverClass PhotoFileFormatDriverClass;
typedef struct _PhotoFileFormatDriverPrivate PhotoFileFormatDriverPrivate;

#define TYPE_PHOTO_FILE_FORMAT_PROPERTIES (photo_file_format_properties_get_type ())
#define PHOTO_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatProperties))
#define PHOTO_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatPropertiesClass))
#define IS_PHOTO_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES))
#define IS_PHOTO_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_FORMAT_PROPERTIES))
#define PHOTO_FILE_FORMAT_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatPropertiesClass))

typedef struct _PhotoFileFormatProperties PhotoFileFormatProperties;
typedef struct _PhotoFileFormatPropertiesClass PhotoFileFormatPropertiesClass;

#define PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER (photos_bmp_file_format_driver_get_type ())
#define PHOTOS_BMP_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER, PhotosBmpFileFormatDriver))
#define PHOTOS_BMP_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER, PhotosBmpFileFormatDriverClass))
#define PHOTOS_IS_BMP_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER))
#define PHOTOS_IS_BMP_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER))
#define PHOTOS_BMP_FILE_FORMAT_DRIVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER, PhotosBmpFileFormatDriverClass))

typedef struct _PhotosBmpFileFormatDriver PhotosBmpFileFormatDriver;
typedef struct _PhotosBmpFileFormatDriverClass PhotosBmpFileFormatDriverClass;
typedef struct _PhotosBmpFileFormatDriverPrivate PhotosBmpFileFormatDriverPrivate;

#define TYPE_GIF_SNIFFER (gif_sniffer_get_type ())
#define GIF_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GIF_SNIFFER, GifSniffer))
#define GIF_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GIF_SNIFFER, GifSnifferClass))
#define IS_GIF_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GIF_SNIFFER))
#define IS_GIF_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GIF_SNIFFER))
#define GIF_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GIF_SNIFFER, GifSnifferClass))

typedef struct _GifSniffer GifSniffer;
typedef struct _GifSnifferClass GifSnifferClass;
typedef struct _GifSnifferPrivate GifSnifferPrivate;

#define TYPE_GIF_READER (gif_reader_get_type ())
#define GIF_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GIF_READER, GifReader))
#define GIF_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GIF_READER, GifReaderClass))
#define IS_GIF_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GIF_READER))
#define IS_GIF_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GIF_READER))
#define GIF_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GIF_READER, GifReaderClass))

typedef struct _GifReader GifReader;
typedef struct _GifReaderClass GifReaderClass;
typedef struct _GifReaderPrivate GifReaderPrivate;

#define TYPE_GIF_FILE_FORMAT_DRIVER (gif_file_format_driver_get_type ())
#define GIF_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GIF_FILE_FORMAT_DRIVER, GifFileFormatDriver))
#define GIF_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GIF_FILE_FORMAT_DRIVER, GifFileFormatDriverClass))
#define IS_GIF_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GIF_FILE_FORMAT_DRIVER))
#define IS_GIF_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GIF_FILE_FORMAT_DRIVER))
#define GIF_FILE_FORMAT_DRIVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GIF_FILE_FORMAT_DRIVER, GifFileFormatDriverClass))

typedef struct _GifFileFormatDriver GifFileFormatDriver;
typedef struct _GifFileFormatDriverClass GifFileFormatDriverClass;
typedef struct _GifFileFormatDriverPrivate GifFileFormatDriverPrivate;
typedef enum  {
	GRAW_COLORSPACE_RAW = 0,
	GRAW_COLORSPACE_SRGB = 1,
	GRAW_COLORSPACE_ADOBE = 2,
	GRAW_COLORSPACE_WIDE = 3,
	GRAW_COLORSPACE_PROPHOTO = 4,
	GRAW_COLORSPACE_XYZ = 5
} GRawColorspace;

#define GRAW_TYPE_COLORSPACE (graw_colorspace_get_type ())

#define GRAW_TYPE_EXCEPTION (graw_exception_get_type ())
typedef enum  {
	GRAW_FLIP_FROM_SOURCE = -1,
	GRAW_FLIP_NONE = 0,
	GRAW_FLIP_UPSIDE_DOWN = 3,
	GRAW_FLIP_COUNTERCLOCKWISE = 5,
	GRAW_FLIP_CLOCKWISE = 6
} GRawFlip;

#define GRAW_TYPE_FLIP (graw_flip_get_type ())
typedef enum  {
	GRAW_FUJI_ROTATE_USE = -1,
	GRAW_FUJI_ROTATE_DONT_USE = 0
} GRawFujiRotate;

#define GRAW_TYPE_FUJI_ROTATE (graw_fuji_rotate_get_type ())
typedef enum  {
	GRAW_HIGHLIGHT_MODE_CLIP = 0,
	GRAW_HIGHLIGHT_MODE_UNCLIP = 1,
	GRAW_HIGHLIGHT_MODE_BLEND = 2,
	GRAW_HIGHLIGHT_MODE_REBUILD = 3
} GRawHighlightMode;

#define GRAW_TYPE_HIGHLIGHT_MODE (graw_highlight_mode_get_type ())
typedef enum  {
	GRAW_INTERPOLATION_QUALITY_LINEAR = 0,
	GRAW_INTERPOLATION_QUALITY_VNG = 1,
	GRAW_INTERPOLATION_QUALITY_PPG = 2,
	GRAW_INTERPOLATION_QUALITY_AHD = 3
} GRawInterpolationQuality;

#define GRAW_TYPE_INTERPOLATION_QUALITY (graw_interpolation_quality_get_type ())

#define GRAW_TYPE_PROCESSED_IMAGE (graw_processed_image_get_type ())
#define GRAW_PROCESSED_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GRAW_TYPE_PROCESSED_IMAGE, GRawProcessedImage))
#define GRAW_PROCESSED_IMAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GRAW_TYPE_PROCESSED_IMAGE, GRawProcessedImageClass))
#define GRAW_IS_PROCESSED_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GRAW_TYPE_PROCESSED_IMAGE))
#define GRAW_IS_PROCESSED_IMAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GRAW_TYPE_PROCESSED_IMAGE))
#define GRAW_PROCESSED_IMAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GRAW_TYPE_PROCESSED_IMAGE, GRawProcessedImageClass))

typedef struct _GRawProcessedImage GRawProcessedImage;
typedef struct _GRawProcessedImageClass GRawProcessedImageClass;
typedef struct _GRawProcessedImagePrivate GRawProcessedImagePrivate;

#define GRAW_TYPE_PROCESSOR (graw_processor_get_type ())
#define GRAW_PROCESSOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GRAW_TYPE_PROCESSOR, GRawProcessor))
#define GRAW_PROCESSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GRAW_TYPE_PROCESSOR, GRawProcessorClass))
#define GRAW_IS_PROCESSOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GRAW_TYPE_PROCESSOR))
#define GRAW_IS_PROCESSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GRAW_TYPE_PROCESSOR))
#define GRAW_PROCESSOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GRAW_TYPE_PROCESSOR, GRawProcessorClass))

typedef struct _GRawProcessor GRawProcessor;
typedef struct _GRawProcessorClass GRawProcessorClass;
typedef struct _GRawProcessorPrivate GRawProcessorPrivate;

#define TYPE_JFIF_FILE_FORMAT_DRIVER (jfif_file_format_driver_get_type ())
#define JFIF_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_JFIF_FILE_FORMAT_DRIVER, JfifFileFormatDriver))
#define JFIF_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_JFIF_FILE_FORMAT_DRIVER, JfifFileFormatDriverClass))
#define IS_JFIF_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_JFIF_FILE_FORMAT_DRIVER))
#define IS_JFIF_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_JFIF_FILE_FORMAT_DRIVER))
#define JFIF_FILE_FORMAT_DRIVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_JFIF_FILE_FORMAT_DRIVER, JfifFileFormatDriverClass))

typedef struct _JfifFileFormatDriver JfifFileFormatDriver;
typedef struct _JfifFileFormatDriverClass JfifFileFormatDriverClass;
typedef struct _JfifFileFormatDriverPrivate JfifFileFormatDriverPrivate;
typedef struct _PhotoFileFormatPropertiesPrivate PhotoFileFormatPropertiesPrivate;
typedef enum  {
	PHOTO_FILE_FORMAT_FLAGS_NONE = 0x00000000
} PhotoFileFormatFlags;

#define TYPE_PHOTO_FILE_FORMAT_FLAGS (photo_file_format_flags_get_type ())

#define TYPE_JFIF_FILE_FORMAT_PROPERTIES (jfif_file_format_properties_get_type ())
#define JFIF_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_JFIF_FILE_FORMAT_PROPERTIES, JfifFileFormatProperties))
#define JFIF_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_JFIF_FILE_FORMAT_PROPERTIES, JfifFileFormatPropertiesClass))
#define IS_JFIF_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_JFIF_FILE_FORMAT_PROPERTIES))
#define IS_JFIF_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_JFIF_FILE_FORMAT_PROPERTIES))
#define JFIF_FILE_FORMAT_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_JFIF_FILE_FORMAT_PROPERTIES, JfifFileFormatPropertiesClass))

typedef struct _JfifFileFormatProperties JfifFileFormatProperties;
typedef struct _JfifFileFormatPropertiesClass JfifFileFormatPropertiesClass;
typedef struct _JfifFileFormatPropertiesPrivate JfifFileFormatPropertiesPrivate;

#define TYPE_JFIF_SNIFFER (jfif_sniffer_get_type ())
#define JFIF_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_JFIF_SNIFFER, JfifSniffer))
#define JFIF_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_JFIF_SNIFFER, JfifSnifferClass))
#define IS_JFIF_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_JFIF_SNIFFER))
#define IS_JFIF_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_JFIF_SNIFFER))
#define JFIF_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_JFIF_SNIFFER, JfifSnifferClass))

typedef struct _JfifSniffer JfifSniffer;
typedef struct _JfifSnifferClass JfifSnifferClass;
typedef struct _JfifSnifferPrivate JfifSnifferPrivate;

#define TYPE_JFIF_READER (jfif_reader_get_type ())
#define JFIF_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_JFIF_READER, JfifReader))
#define JFIF_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_JFIF_READER, JfifReaderClass))
#define IS_JFIF_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_JFIF_READER))
#define IS_JFIF_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_JFIF_READER))
#define JFIF_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_JFIF_READER, JfifReaderClass))

typedef struct _JfifReader JfifReader;
typedef struct _JfifReaderClass JfifReaderClass;
typedef struct _JfifReaderPrivate JfifReaderPrivate;

#define TYPE_JFIF_WRITER (jfif_writer_get_type ())
#define JFIF_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_JFIF_WRITER, JfifWriter))
#define JFIF_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_JFIF_WRITER, JfifWriterClass))
#define IS_JFIF_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_JFIF_WRITER))
#define IS_JFIF_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_JFIF_WRITER))
#define JFIF_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_JFIF_WRITER, JfifWriterClass))

typedef struct _JfifWriter JfifWriter;
typedef struct _JfifWriterClass JfifWriterClass;
typedef struct _JfifWriterPrivate JfifWriterPrivate;

#define TYPE_JFIF_METADATA_WRITER (jfif_metadata_writer_get_type ())
#define JFIF_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_JFIF_METADATA_WRITER, JfifMetadataWriter))
#define JFIF_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_JFIF_METADATA_WRITER, JfifMetadataWriterClass))
#define IS_JFIF_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_JFIF_METADATA_WRITER))
#define IS_JFIF_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_JFIF_METADATA_WRITER))
#define JFIF_METADATA_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_JFIF_METADATA_WRITER, JfifMetadataWriterClass))

typedef struct _JfifMetadataWriter JfifMetadataWriter;
typedef struct _JfifMetadataWriterClass JfifMetadataWriterClass;
typedef struct _JfifMetadataWriterPrivate JfifMetadataWriterPrivate;
typedef enum  {
	JPEG_MARKER_INVALID = 0x00,
	JPEG_MARKER_SOI = 0xD8,
	JPEG_MARKER_EOI = 0xD9,
	JPEG_MARKER_APP0 = 0xE0,
	JPEG_MARKER_APP1 = 0xE1
} JpegMarker;

#define JPEG_TYPE_MARKER (jpeg_marker_get_type ())

#define TYPE_PHOTO_FORMAT_ERROR (photo_format_error_get_type ())
typedef struct _DetectedPhotoInformationPrivate DetectedPhotoInformationPrivate;

#define TYPE_PHOTO_FILE_INTERROGATOR (photo_file_interrogator_get_type ())
#define PHOTO_FILE_INTERROGATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_INTERROGATOR, PhotoFileInterrogator))
#define PHOTO_FILE_INTERROGATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_INTERROGATOR, PhotoFileInterrogatorClass))
#define IS_PHOTO_FILE_INTERROGATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_INTERROGATOR))
#define IS_PHOTO_FILE_INTERROGATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_INTERROGATOR))
#define PHOTO_FILE_INTERROGATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_INTERROGATOR, PhotoFileInterrogatorClass))

typedef struct _PhotoFileInterrogator PhotoFileInterrogator;
typedef struct _PhotoFileInterrogatorClass PhotoFileInterrogatorClass;
typedef struct _PhotoFileInterrogatorPrivate PhotoFileInterrogatorPrivate;
typedef enum  {
	METADATA_DOMAIN_UNKNOWN,
	METADATA_DOMAIN_EXIF,
	METADATA_DOMAIN_XMP,
	METADATA_DOMAIN_IPTC
} MetadataDomain;

#define TYPE_METADATA_DOMAIN (metadata_domain_get_type ())

#define TYPE_HIERARCHICAL_KEYWORD_FIELD (hierarchical_keyword_field_get_type ())
#define HIERARCHICAL_KEYWORD_FIELD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HIERARCHICAL_KEYWORD_FIELD, HierarchicalKeywordField))
#define HIERARCHICAL_KEYWORD_FIELD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HIERARCHICAL_KEYWORD_FIELD, HierarchicalKeywordFieldClass))
#define IS_HIERARCHICAL_KEYWORD_FIELD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HIERARCHICAL_KEYWORD_FIELD))
#define IS_HIERARCHICAL_KEYWORD_FIELD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HIERARCHICAL_KEYWORD_FIELD))
#define HIERARCHICAL_KEYWORD_FIELD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HIERARCHICAL_KEYWORD_FIELD, HierarchicalKeywordFieldClass))

typedef struct _HierarchicalKeywordField HierarchicalKeywordField;
typedef struct _HierarchicalKeywordFieldClass HierarchicalKeywordFieldClass;
typedef struct _HierarchicalKeywordFieldPrivate HierarchicalKeywordFieldPrivate;

#define TYPE_PHOTO_PREVIEW (photo_preview_get_type ())
#define PHOTO_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_PREVIEW, PhotoPreview))
#define PHOTO_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_PREVIEW, PhotoPreviewClass))
#define IS_PHOTO_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_PREVIEW))
#define IS_PHOTO_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_PREVIEW))
#define PHOTO_PREVIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_PREVIEW, PhotoPreviewClass))

typedef struct _PhotoPreview PhotoPreview;
typedef struct _PhotoPreviewClass PhotoPreviewClass;
typedef struct _PhotoPreviewPrivate PhotoPreviewPrivate;
typedef struct _PhotoMetadataPrivate PhotoMetadataPrivate;
typedef enum  {
	PHOTO_METADATA_SET_OPTION_ALL_DOMAINS,
	PHOTO_METADATA_SET_OPTION_ONLY_IF_DOMAIN_PRESENT,
	PHOTO_METADATA_SET_OPTION_AT_LEAST_DEFAULT_DOMAIN
} PhotoMetadataSetOption;

#define PHOTO_METADATA_TYPE_SET_OPTION (photo_metadata_set_option_get_type ())
typedef enum  {
	PREPARE_INPUT_TEXT_OPTIONS_EMPTY_IS_NULL = 1 << 0,
	PREPARE_INPUT_TEXT_OPTIONS_VALIDATE = 1 << 1,
	PREPARE_INPUT_TEXT_OPTIONS_INVALID_IS_NULL = 1 << 2,
	PREPARE_INPUT_TEXT_OPTIONS_STRIP = 1 << 3,
	PREPARE_INPUT_TEXT_OPTIONS_STRIP_CRLF = 1 << 4,
	PREPARE_INPUT_TEXT_OPTIONS_NORMALIZE = 1 << 5,
	PREPARE_INPUT_TEXT_OPTIONS_DEFAULT = ((((PREPARE_INPUT_TEXT_OPTIONS_EMPTY_IS_NULL | PREPARE_INPUT_TEXT_OPTIONS_VALIDATE) | PREPARE_INPUT_TEXT_OPTIONS_INVALID_IS_NULL) | PREPARE_INPUT_TEXT_OPTIONS_STRIP_CRLF) | PREPARE_INPUT_TEXT_OPTIONS_STRIP) | PREPARE_INPUT_TEXT_OPTIONS_NORMALIZE
} PrepareInputTextOptions;

#define TYPE_PREPARE_INPUT_TEXT_OPTIONS (prepare_input_text_options_get_type ())

#define TYPE_PNG_SNIFFER (png_sniffer_get_type ())
#define PNG_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PNG_SNIFFER, PngSniffer))
#define PNG_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PNG_SNIFFER, PngSnifferClass))
#define IS_PNG_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PNG_SNIFFER))
#define IS_PNG_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PNG_SNIFFER))
#define PNG_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PNG_SNIFFER, PngSnifferClass))

typedef struct _PngSniffer PngSniffer;
typedef struct _PngSnifferClass PngSnifferClass;
typedef struct _PngSnifferPrivate PngSnifferPrivate;

#define TYPE_PNG_READER (png_reader_get_type ())
#define PNG_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PNG_READER, PngReader))
#define PNG_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PNG_READER, PngReaderClass))
#define IS_PNG_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PNG_READER))
#define IS_PNG_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PNG_READER))
#define PNG_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PNG_READER, PngReaderClass))

typedef struct _PngReader PngReader;
typedef struct _PngReaderClass PngReaderClass;
typedef struct _PngReaderPrivate PngReaderPrivate;

#define TYPE_PNG_WRITER (png_writer_get_type ())
#define PNG_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PNG_WRITER, PngWriter))
#define PNG_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PNG_WRITER, PngWriterClass))
#define IS_PNG_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PNG_WRITER))
#define IS_PNG_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PNG_WRITER))
#define PNG_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PNG_WRITER, PngWriterClass))

typedef struct _PngWriter PngWriter;
typedef struct _PngWriterClass PngWriterClass;
typedef struct _PngWriterPrivate PngWriterPrivate;

#define TYPE_PNG_METADATA_WRITER (png_metadata_writer_get_type ())
#define PNG_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PNG_METADATA_WRITER, PngMetadataWriter))
#define PNG_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PNG_METADATA_WRITER, PngMetadataWriterClass))
#define IS_PNG_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PNG_METADATA_WRITER))
#define IS_PNG_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PNG_METADATA_WRITER))
#define PNG_METADATA_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PNG_METADATA_WRITER, PngMetadataWriterClass))

typedef struct _PngMetadataWriter PngMetadataWriter;
typedef struct _PngMetadataWriterClass PngMetadataWriterClass;
typedef struct _PngMetadataWriterPrivate PngMetadataWriterPrivate;

#define TYPE_PNG_FILE_FORMAT_DRIVER (png_file_format_driver_get_type ())
#define PNG_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PNG_FILE_FORMAT_DRIVER, PngFileFormatDriver))
#define PNG_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PNG_FILE_FORMAT_DRIVER, PngFileFormatDriverClass))
#define IS_PNG_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PNG_FILE_FORMAT_DRIVER))
#define IS_PNG_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PNG_FILE_FORMAT_DRIVER))
#define PNG_FILE_FORMAT_DRIVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PNG_FILE_FORMAT_DRIVER, PngFileFormatDriverClass))

typedef struct _PngFileFormatDriver PngFileFormatDriver;
typedef struct _PngFileFormatDriverClass PngFileFormatDriverClass;
typedef struct _PngFileFormatDriverPrivate PngFileFormatDriverPrivate;

#define TYPE_RAW_FILE_FORMAT_DRIVER (raw_file_format_driver_get_type ())
#define RAW_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RAW_FILE_FORMAT_DRIVER, RawFileFormatDriver))
#define RAW_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RAW_FILE_FORMAT_DRIVER, RawFileFormatDriverClass))
#define IS_RAW_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RAW_FILE_FORMAT_DRIVER))
#define IS_RAW_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RAW_FILE_FORMAT_DRIVER))
#define RAW_FILE_FORMAT_DRIVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RAW_FILE_FORMAT_DRIVER, RawFileFormatDriverClass))

typedef struct _RawFileFormatDriver RawFileFormatDriver;
typedef struct _RawFileFormatDriverClass RawFileFormatDriverClass;
typedef struct _RawFileFormatDriverPrivate RawFileFormatDriverPrivate;

#define TYPE_RAW_FILE_FORMAT_PROPERTIES (raw_file_format_properties_get_type ())
#define RAW_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RAW_FILE_FORMAT_PROPERTIES, RawFileFormatProperties))
#define RAW_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RAW_FILE_FORMAT_PROPERTIES, RawFileFormatPropertiesClass))
#define IS_RAW_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RAW_FILE_FORMAT_PROPERTIES))
#define IS_RAW_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RAW_FILE_FORMAT_PROPERTIES))
#define RAW_FILE_FORMAT_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RAW_FILE_FORMAT_PROPERTIES, RawFileFormatPropertiesClass))

typedef struct _RawFileFormatProperties RawFileFormatProperties;
typedef struct _RawFileFormatPropertiesClass RawFileFormatPropertiesClass;
typedef struct _RawFileFormatPropertiesPrivate RawFileFormatPropertiesPrivate;

#define TYPE_RAW_SNIFFER (raw_sniffer_get_type ())
#define RAW_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RAW_SNIFFER, RawSniffer))
#define RAW_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RAW_SNIFFER, RawSnifferClass))
#define IS_RAW_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RAW_SNIFFER))
#define IS_RAW_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RAW_SNIFFER))
#define RAW_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RAW_SNIFFER, RawSnifferClass))

typedef struct _RawSniffer RawSniffer;
typedef struct _RawSnifferClass RawSnifferClass;
typedef struct _RawSnifferPrivate RawSnifferPrivate;

#define TYPE_RAW_READER (raw_reader_get_type ())
#define RAW_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RAW_READER, RawReader))
#define RAW_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RAW_READER, RawReaderClass))
#define IS_RAW_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RAW_READER))
#define IS_RAW_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RAW_READER))
#define RAW_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RAW_READER, RawReaderClass))

typedef struct _RawReader RawReader;
typedef struct _RawReaderClass RawReaderClass;
typedef struct _RawReaderPrivate RawReaderPrivate;

#define PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER (photos_tiff_file_format_driver_get_type ())
#define PHOTOS_TIFF_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER, PhotosTiffFileFormatDriver))
#define PHOTOS_TIFF_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER, PhotosTiffFileFormatDriverClass))
#define PHOTOS_IS_TIFF_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER))
#define PHOTOS_IS_TIFF_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER))
#define PHOTOS_TIFF_FILE_FORMAT_DRIVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER, PhotosTiffFileFormatDriverClass))

typedef struct _PhotosTiffFileFormatDriver PhotosTiffFileFormatDriver;
typedef struct _PhotosTiffFileFormatDriverClass PhotosTiffFileFormatDriverClass;
typedef struct _PhotosTiffFileFormatDriverPrivate PhotosTiffFileFormatDriverPrivate;

#define TYPE_WEB_PSNIFFER (web_psniffer_get_type ())
#define WEB_PSNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WEB_PSNIFFER, WebPSniffer))
#define WEB_PSNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_WEB_PSNIFFER, WebPSnifferClass))
#define IS_WEB_PSNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WEB_PSNIFFER))
#define IS_WEB_PSNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_WEB_PSNIFFER))
#define WEB_PSNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_WEB_PSNIFFER, WebPSnifferClass))

typedef struct _WebPSniffer WebPSniffer;
typedef struct _WebPSnifferClass WebPSnifferClass;
typedef struct _WebPSnifferPrivate WebPSnifferPrivate;

#define TYPE_WEB_PREADER (web_preader_get_type ())
#define WEB_PREADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WEB_PREADER, WebPReader))
#define WEB_PREADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_WEB_PREADER, WebPReaderClass))
#define IS_WEB_PREADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WEB_PREADER))
#define IS_WEB_PREADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_WEB_PREADER))
#define WEB_PREADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_WEB_PREADER, WebPReaderClass))

typedef struct _WebPReader WebPReader;
typedef struct _WebPReaderClass WebPReaderClass;
typedef struct _WebPReaderPrivate WebPReaderPrivate;

#define TYPE_WEB_PFILE_FORMAT_DRIVER (web_pfile_format_driver_get_type ())
#define WEB_PFILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WEB_PFILE_FORMAT_DRIVER, WebPFileFormatDriver))
#define WEB_PFILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_WEB_PFILE_FORMAT_DRIVER, WebPFileFormatDriverClass))
#define IS_WEB_PFILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WEB_PFILE_FORMAT_DRIVER))
#define IS_WEB_PFILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_WEB_PFILE_FORMAT_DRIVER))
#define WEB_PFILE_FORMAT_DRIVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_WEB_PFILE_FORMAT_DRIVER, WebPFileFormatDriverClass))

typedef struct _WebPFileFormatDriver WebPFileFormatDriver;
typedef struct _WebPFileFormatDriverClass WebPFileFormatDriverClass;
typedef struct _WebPFileFormatDriverPrivate WebPFileFormatDriverPrivate;

#define PLUGINS_TYPE_EXTENSION_POINT (plugins_extension_point_get_type ())
#define PLUGINS_EXTENSION_POINT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLUGINS_TYPE_EXTENSION_POINT, PluginsExtensionPoint))
#define PLUGINS_EXTENSION_POINT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLUGINS_TYPE_EXTENSION_POINT, PluginsExtensionPointClass))
#define PLUGINS_IS_EXTENSION_POINT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLUGINS_TYPE_EXTENSION_POINT))
#define PLUGINS_IS_EXTENSION_POINT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLUGINS_TYPE_EXTENSION_POINT))
#define PLUGINS_EXTENSION_POINT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLUGINS_TYPE_EXTENSION_POINT, PluginsExtensionPointClass))

typedef struct _PluginsExtensionPoint PluginsExtensionPoint;
typedef struct _PluginsExtensionPointClass PluginsExtensionPointClass;
typedef struct _PluginsExtensionPointPrivate PluginsExtensionPointPrivate;

#define PLUGINS_TYPE_NOTIFIER (plugins_notifier_get_type ())
#define PLUGINS_NOTIFIER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLUGINS_TYPE_NOTIFIER, PluginsNotifier))
#define PLUGINS_NOTIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLUGINS_TYPE_NOTIFIER, PluginsNotifierClass))
#define PLUGINS_IS_NOTIFIER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLUGINS_TYPE_NOTIFIER))
#define PLUGINS_IS_NOTIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLUGINS_TYPE_NOTIFIER))
#define PLUGINS_NOTIFIER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLUGINS_TYPE_NOTIFIER, PluginsNotifierClass))

typedef struct _PluginsNotifier PluginsNotifier;
typedef struct _PluginsNotifierClass PluginsNotifierClass;
typedef struct _PluginsNotifierPrivate PluginsNotifierPrivate;

#define SPIT_TYPE_PLUGGABLE (spit_pluggable_get_type ())
#define SPIT_PLUGGABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_TYPE_PLUGGABLE, SpitPluggable))
#define SPIT_IS_PLUGGABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_TYPE_PLUGGABLE))
#define SPIT_PLUGGABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_TYPE_PLUGGABLE, SpitPluggableIface))

typedef struct _SpitPluggable SpitPluggable;
typedef struct _SpitPluggableIface SpitPluggableIface;

#define SPIT_TYPE_PLUGGABLE_INFO (spit_pluggable_info_get_type ())
typedef struct _SpitPluggableInfo SpitPluggableInfo;

#define SPIT_TYPE_HOST_INTERFACE (spit_host_interface_get_type ())
#define SPIT_HOST_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_TYPE_HOST_INTERFACE, SpitHostInterface))
#define SPIT_IS_HOST_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_TYPE_HOST_INTERFACE))
#define SPIT_HOST_INTERFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_TYPE_HOST_INTERFACE, SpitHostInterfaceIface))

typedef struct _SpitHostInterface SpitHostInterface;
typedef struct _SpitHostInterfaceIface SpitHostInterfaceIface;

#define PLUGINS_TYPE_STANDARD_HOST_INTERFACE (plugins_standard_host_interface_get_type ())
#define PLUGINS_STANDARD_HOST_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterface))
#define PLUGINS_STANDARD_HOST_INTERFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterfaceClass))
#define PLUGINS_IS_STANDARD_HOST_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLUGINS_TYPE_STANDARD_HOST_INTERFACE))
#define PLUGINS_IS_STANDARD_HOST_INTERFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLUGINS_TYPE_STANDARD_HOST_INTERFACE))
#define PLUGINS_STANDARD_HOST_INTERFACE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterfaceClass))

typedef struct _PluginsStandardHostInterface PluginsStandardHostInterface;
typedef struct _PluginsStandardHostInterfaceClass PluginsStandardHostInterfaceClass;
typedef struct _PluginsStandardHostInterfacePrivate PluginsStandardHostInterfacePrivate;

#define PLUGINS_TYPE_MANIFEST_WIDGET (plugins_manifest_widget_get_type ())
#define PLUGINS_MANIFEST_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLUGINS_TYPE_MANIFEST_WIDGET, PluginsManifestWidget))
#define PLUGINS_MANIFEST_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLUGINS_TYPE_MANIFEST_WIDGET, PluginsManifestWidgetClass))
#define PLUGINS_IS_MANIFEST_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLUGINS_TYPE_MANIFEST_WIDGET))
#define PLUGINS_IS_MANIFEST_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLUGINS_TYPE_MANIFEST_WIDGET))
#define PLUGINS_MANIFEST_WIDGET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLUGINS_TYPE_MANIFEST_WIDGET, PluginsManifestWidgetClass))

typedef struct _PluginsManifestWidget PluginsManifestWidget;
typedef struct _PluginsManifestWidgetClass PluginsManifestWidgetClass;
typedef struct _PluginsManifestWidgetPrivate PluginsManifestWidgetPrivate;

#define SEARCHES_TYPE_BRANCH (searches_branch_get_type ())
#define SEARCHES_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEARCHES_TYPE_BRANCH, SearchesBranch))
#define SEARCHES_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEARCHES_TYPE_BRANCH, SearchesBranchClass))
#define SEARCHES_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEARCHES_TYPE_BRANCH))
#define SEARCHES_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEARCHES_TYPE_BRANCH))
#define SEARCHES_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEARCHES_TYPE_BRANCH, SearchesBranchClass))

typedef struct _SearchesBranch SearchesBranch;
typedef struct _SearchesBranchClass SearchesBranchClass;
typedef struct _SearchesBranchPrivate SearchesBranchPrivate;

#define SEARCHES_TYPE_SIDEBAR_ENTRY (searches_sidebar_entry_get_type ())
#define SEARCHES_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntry))
#define SEARCHES_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntryClass))
#define SEARCHES_IS_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEARCHES_TYPE_SIDEBAR_ENTRY))
#define SEARCHES_IS_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEARCHES_TYPE_SIDEBAR_ENTRY))
#define SEARCHES_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntryClass))

typedef struct _SearchesSidebarEntry SearchesSidebarEntry;
typedef struct _SearchesSidebarEntryClass SearchesSidebarEntryClass;

#define SEARCHES_TYPE_GROUPING (searches_grouping_get_type ())
#define SEARCHES_GROUPING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEARCHES_TYPE_GROUPING, SearchesGrouping))
#define SEARCHES_GROUPING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEARCHES_TYPE_GROUPING, SearchesGroupingClass))
#define SEARCHES_IS_GROUPING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEARCHES_TYPE_GROUPING))
#define SEARCHES_IS_GROUPING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEARCHES_TYPE_GROUPING))
#define SEARCHES_GROUPING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEARCHES_TYPE_GROUPING, SearchesGroupingClass))

typedef struct _SearchesGrouping SearchesGrouping;
typedef struct _SearchesGroupingClass SearchesGroupingClass;
typedef struct _SearchesGroupingPrivate SearchesGroupingPrivate;

#define SIDEBAR_TYPE_DESTROYABLE_ENTRY (sidebar_destroyable_entry_get_type ())
#define SIDEBAR_DESTROYABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_DESTROYABLE_ENTRY, SidebarDestroyableEntry))
#define SIDEBAR_IS_DESTROYABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_DESTROYABLE_ENTRY))
#define SIDEBAR_DESTROYABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_DESTROYABLE_ENTRY, SidebarDestroyableEntryIface))

typedef struct _SidebarDestroyableEntry SidebarDestroyableEntry;
typedef struct _SidebarDestroyableEntryIface SidebarDestroyableEntryIface;
typedef struct _SearchesSidebarEntryPrivate SearchesSidebarEntryPrivate;
typedef struct _SearchConditionPrivate SearchConditionPrivate;
typedef enum  {
	SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT = 0,
	SEARCH_CONDITION_SEARCH_TYPE_TITLE,
	SEARCH_CONDITION_SEARCH_TYPE_TAG,
	SEARCH_CONDITION_SEARCH_TYPE_EVENT_NAME,
	SEARCH_CONDITION_SEARCH_TYPE_FILE_NAME,
	SEARCH_CONDITION_SEARCH_TYPE_MEDIA_TYPE,
	SEARCH_CONDITION_SEARCH_TYPE_FLAG_STATE,
	SEARCH_CONDITION_SEARCH_TYPE_MODIFIED_STATE,
	SEARCH_CONDITION_SEARCH_TYPE_COMMENT,
	SEARCH_CONDITION_SEARCH_TYPE_DATE
} SearchConditionSearchType;

#define SEARCH_CONDITION_TYPE_SEARCH_TYPE (search_condition_search_type_get_type ())

#define TYPE_SEARCH_CONDITION_TEXT (search_condition_text_get_type ())
#define SEARCH_CONDITION_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_TEXT, SearchConditionText))
#define SEARCH_CONDITION_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_TEXT, SearchConditionTextClass))
#define IS_SEARCH_CONDITION_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_TEXT))
#define IS_SEARCH_CONDITION_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_TEXT))
#define SEARCH_CONDITION_TEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_TEXT, SearchConditionTextClass))

typedef struct _SearchConditionText SearchConditionText;
typedef struct _SearchConditionTextClass SearchConditionTextClass;
typedef struct _SearchConditionTextPrivate SearchConditionTextPrivate;
typedef enum  {
	SEARCH_CONDITION_TEXT_CONTEXT_CONTAINS = 0,
	SEARCH_CONDITION_TEXT_CONTEXT_IS_EXACTLY,
	SEARCH_CONDITION_TEXT_CONTEXT_STARTS_WITH,
	SEARCH_CONDITION_TEXT_CONTEXT_ENDS_WITH,
	SEARCH_CONDITION_TEXT_CONTEXT_DOES_NOT_CONTAIN,
	SEARCH_CONDITION_TEXT_CONTEXT_IS_NOT_SET
} SearchConditionTextContext;

#define SEARCH_CONDITION_TEXT_TYPE_CONTEXT (search_condition_text_context_get_type ())

#define TYPE_SEARCH_CONDITION_MEDIA_TYPE (search_condition_media_type_get_type ())
#define SEARCH_CONDITION_MEDIA_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_MEDIA_TYPE, SearchConditionMediaType))
#define SEARCH_CONDITION_MEDIA_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_MEDIA_TYPE, SearchConditionMediaTypeClass))
#define IS_SEARCH_CONDITION_MEDIA_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_MEDIA_TYPE))
#define IS_SEARCH_CONDITION_MEDIA_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_MEDIA_TYPE))
#define SEARCH_CONDITION_MEDIA_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_MEDIA_TYPE, SearchConditionMediaTypeClass))

typedef struct _SearchConditionMediaType SearchConditionMediaType;
typedef struct _SearchConditionMediaTypeClass SearchConditionMediaTypeClass;
typedef struct _SearchConditionMediaTypePrivate SearchConditionMediaTypePrivate;
typedef enum  {
	SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS = 0,
	SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS_NOT
} SearchConditionMediaTypeContext;

#define SEARCH_CONDITION_MEDIA_TYPE_TYPE_CONTEXT (search_condition_media_type_context_get_type ())
typedef enum  {
	SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_ALL = 0,
	SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_RAW,
	SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_VIDEO
} SearchConditionMediaTypeMediaType;

#define SEARCH_CONDITION_MEDIA_TYPE_TYPE_MEDIA_TYPE (search_condition_media_type_media_type_get_type ())

#define TYPE_SEARCH_CONDITION_FLAGGED (search_condition_flagged_get_type ())
#define SEARCH_CONDITION_FLAGGED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_FLAGGED, SearchConditionFlagged))
#define SEARCH_CONDITION_FLAGGED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_FLAGGED, SearchConditionFlaggedClass))
#define IS_SEARCH_CONDITION_FLAGGED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_FLAGGED))
#define IS_SEARCH_CONDITION_FLAGGED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_FLAGGED))
#define SEARCH_CONDITION_FLAGGED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_FLAGGED, SearchConditionFlaggedClass))

typedef struct _SearchConditionFlagged SearchConditionFlagged;
typedef struct _SearchConditionFlaggedClass SearchConditionFlaggedClass;
typedef struct _SearchConditionFlaggedPrivate SearchConditionFlaggedPrivate;
typedef enum  {
	SEARCH_CONDITION_FLAGGED_STATE_FLAGGED = 0,
	SEARCH_CONDITION_FLAGGED_STATE_UNFLAGGED
} SearchConditionFlaggedState;

#define SEARCH_CONDITION_FLAGGED_TYPE_STATE (search_condition_flagged_state_get_type ())

#define TYPE_SEARCH_CONDITION_MODIFIED (search_condition_modified_get_type ())
#define SEARCH_CONDITION_MODIFIED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_MODIFIED, SearchConditionModified))
#define SEARCH_CONDITION_MODIFIED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_MODIFIED, SearchConditionModifiedClass))
#define IS_SEARCH_CONDITION_MODIFIED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_MODIFIED))
#define IS_SEARCH_CONDITION_MODIFIED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_MODIFIED))
#define SEARCH_CONDITION_MODIFIED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_MODIFIED, SearchConditionModifiedClass))

typedef struct _SearchConditionModified SearchConditionModified;
typedef struct _SearchConditionModifiedClass SearchConditionModifiedClass;
typedef struct _SearchConditionModifiedPrivate SearchConditionModifiedPrivate;
typedef enum  {
	SEARCH_CONDITION_MODIFIED_CONTEXT_HAS = 0,
	SEARCH_CONDITION_MODIFIED_CONTEXT_HAS_NO
} SearchConditionModifiedContext;

#define SEARCH_CONDITION_MODIFIED_TYPE_CONTEXT (search_condition_modified_context_get_type ())
typedef enum  {
	SEARCH_CONDITION_MODIFIED_STATE_MODIFIED = 0,
	SEARCH_CONDITION_MODIFIED_STATE_INTERNAL_CHANGES,
	SEARCH_CONDITION_MODIFIED_STATE_EXTERNAL_CHANGES
} SearchConditionModifiedState;

#define SEARCH_CONDITION_MODIFIED_TYPE_STATE (search_condition_modified_state_get_type ())

#define TYPE_SEARCH_CONDITION_DATE (search_condition_date_get_type ())
#define SEARCH_CONDITION_DATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_DATE, SearchConditionDate))
#define SEARCH_CONDITION_DATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_DATE, SearchConditionDateClass))
#define IS_SEARCH_CONDITION_DATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_DATE))
#define IS_SEARCH_CONDITION_DATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_DATE))
#define SEARCH_CONDITION_DATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_DATE, SearchConditionDateClass))

typedef struct _SearchConditionDate SearchConditionDate;
typedef struct _SearchConditionDateClass SearchConditionDateClass;
typedef struct _SearchConditionDatePrivate SearchConditionDatePrivate;
typedef enum  {
	SEARCH_CONDITION_DATE_CONTEXT_EXACT = 0,
	SEARCH_CONDITION_DATE_CONTEXT_AFTER,
	SEARCH_CONDITION_DATE_CONTEXT_BEFORE,
	SEARCH_CONDITION_DATE_CONTEXT_BETWEEN,
	SEARCH_CONDITION_DATE_CONTEXT_IS_NOT_SET
} SearchConditionDateContext;

#define SEARCH_CONDITION_DATE_TYPE_CONTEXT (search_condition_date_context_get_type ())
typedef struct _SavedSearchPrivate SavedSearchPrivate;

#define TYPE_SAVED_SEARCH_TABLE (saved_search_table_get_type ())
#define SAVED_SEARCH_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_TABLE, SavedSearchTable))
#define SAVED_SEARCH_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_TABLE, SavedSearchTableClass))
#define IS_SAVED_SEARCH_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_TABLE))
#define IS_SAVED_SEARCH_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_TABLE))
#define SAVED_SEARCH_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_TABLE, SavedSearchTableClass))

typedef struct _SavedSearchTable SavedSearchTable;
typedef struct _SavedSearchTableClass SavedSearchTableClass;
typedef struct _SavedSearchTablePrivate SavedSearchTablePrivate;
typedef gboolean (*Locator) (gconstpointer item, gpointer user_data);
typedef enum  {
	SIDEBAR_BRANCH_OPTIONS_NONE = 0,
	SIDEBAR_BRANCH_OPTIONS_HIDE_IF_EMPTY = 1 << 0,
	SIDEBAR_BRANCH_OPTIONS_AUTO_OPEN_ON_NEW_CHILD = 1 << 1,
	SIDEBAR_BRANCH_OPTIONS_STARTUP_EXPAND_TO_FIRST_CHILD = 1 << 2,
	SIDEBAR_BRANCH_OPTIONS_STARTUP_OPEN_GROUPING = 1 << 3
} SidebarBranchOptions;

#define SIDEBAR_BRANCH_TYPE_OPTIONS (sidebar_branch_options_get_type ())

#define SIDEBAR_TYPE_ROOT_ONLY_BRANCH (sidebar_root_only_branch_get_type ())
#define SIDEBAR_ROOT_ONLY_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_ROOT_ONLY_BRANCH, SidebarRootOnlyBranch))
#define SIDEBAR_ROOT_ONLY_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_ROOT_ONLY_BRANCH, SidebarRootOnlyBranchClass))
#define SIDEBAR_IS_ROOT_ONLY_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_ROOT_ONLY_BRANCH))
#define SIDEBAR_IS_ROOT_ONLY_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_ROOT_ONLY_BRANCH))
#define SIDEBAR_ROOT_ONLY_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_ROOT_ONLY_BRANCH, SidebarRootOnlyBranchClass))

typedef struct _SidebarRootOnlyBranch SidebarRootOnlyBranch;
typedef struct _SidebarRootOnlyBranchClass SidebarRootOnlyBranchClass;
typedef struct _SidebarRootOnlyBranchPrivate SidebarRootOnlyBranchPrivate;

#define SIDEBAR_TYPE_INTERNAL_DRAG_SOURCE_ENTRY (sidebar_internal_drag_source_entry_get_type ())
#define SIDEBAR_INTERNAL_DRAG_SOURCE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_INTERNAL_DRAG_SOURCE_ENTRY, SidebarInternalDragSourceEntry))
#define SIDEBAR_IS_INTERNAL_DRAG_SOURCE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_INTERNAL_DRAG_SOURCE_ENTRY))
#define SIDEBAR_INTERNAL_DRAG_SOURCE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_INTERNAL_DRAG_SOURCE_ENTRY, SidebarInternalDragSourceEntryIface))

typedef struct _SidebarInternalDragSourceEntry SidebarInternalDragSourceEntry;
typedef struct _SidebarInternalDragSourceEntryIface SidebarInternalDragSourceEntryIface;
typedef struct _SidebarTreePrivate SidebarTreePrivate;
typedef void (*SidebarTreeExternalDropHandler) (GdkDragContext* context, SidebarEntry* entry, GtkSelectionData* data, guint info, guint time, gpointer user_data);

#define TYPE_METADATA_VIEW (metadata_view_get_type ())
#define METADATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_METADATA_VIEW, MetadataView))
#define METADATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_METADATA_VIEW, MetadataViewClass))
#define IS_METADATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_METADATA_VIEW))
#define IS_METADATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_METADATA_VIEW))
#define METADATA_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_METADATA_VIEW, MetadataViewClass))

typedef struct _MetadataView MetadataView;
typedef struct _MetadataViewClass MetadataViewClass;
typedef struct _MetadataViewPrivate MetadataViewPrivate;

#define TYPE_PROPERTIES (properties_get_type ())
#define PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PROPERTIES, Properties))
#define PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PROPERTIES, PropertiesClass))
#define IS_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PROPERTIES))
#define IS_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PROPERTIES))
#define PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PROPERTIES, PropertiesClass))

typedef struct _Properties Properties;
typedef struct _PropertiesClass PropertiesClass;
typedef struct _PropertiesPrivate PropertiesPrivate;

#define PROPERTIES_TYPE_HEADER (properties_header_get_type ())
#define PROPERTIES_HEADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROPERTIES_TYPE_HEADER, PropertiesHeader))
#define PROPERTIES_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROPERTIES_TYPE_HEADER, PropertiesHeaderClass))
#define PROPERTIES_IS_HEADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROPERTIES_TYPE_HEADER))
#define PROPERTIES_IS_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROPERTIES_TYPE_HEADER))
#define PROPERTIES_HEADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROPERTIES_TYPE_HEADER, PropertiesHeaderClass))

typedef struct _PropertiesHeader PropertiesHeader;
typedef struct _PropertiesHeaderClass PropertiesHeaderClass;
typedef struct _PropertiesHeaderPrivate PropertiesHeaderPrivate;

#define PROPERTIES_TYPE_LABEL (properties_label_get_type ())
#define PROPERTIES_LABEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROPERTIES_TYPE_LABEL, PropertiesLabel))
#define PROPERTIES_LABEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROPERTIES_TYPE_LABEL, PropertiesLabelClass))
#define PROPERTIES_IS_LABEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROPERTIES_TYPE_LABEL))
#define PROPERTIES_IS_LABEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROPERTIES_TYPE_LABEL))
#define PROPERTIES_LABEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROPERTIES_TYPE_LABEL, PropertiesLabelClass))

typedef struct _PropertiesLabel PropertiesLabel;
typedef struct _PropertiesLabelClass PropertiesLabelClass;
typedef struct _PropertiesLabelPrivate PropertiesLabelPrivate;

#define TYPE_TRANSITION_EFFECTS_MANAGER (transition_effects_manager_get_type ())
#define TRANSITION_EFFECTS_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRANSITION_EFFECTS_MANAGER, TransitionEffectsManager))
#define TRANSITION_EFFECTS_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TRANSITION_EFFECTS_MANAGER, TransitionEffectsManagerClass))
#define IS_TRANSITION_EFFECTS_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRANSITION_EFFECTS_MANAGER))
#define IS_TRANSITION_EFFECTS_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TRANSITION_EFFECTS_MANAGER))
#define TRANSITION_EFFECTS_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TRANSITION_EFFECTS_MANAGER, TransitionEffectsManagerClass))

typedef struct _TransitionEffectsManager TransitionEffectsManager;
typedef struct _TransitionEffectsManagerClass TransitionEffectsManagerClass;
typedef struct _TransitionEffectsManagerPrivate TransitionEffectsManagerPrivate;

#define SPIT_TRANSITIONS_TYPE_DESCRIPTOR (spit_transitions_descriptor_get_type ())
#define SPIT_TRANSITIONS_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_TRANSITIONS_TYPE_DESCRIPTOR, SpitTransitionsDescriptor))
#define SPIT_TRANSITIONS_IS_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_TRANSITIONS_TYPE_DESCRIPTOR))
#define SPIT_TRANSITIONS_DESCRIPTOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_TRANSITIONS_TYPE_DESCRIPTOR, SpitTransitionsDescriptorIface))

typedef struct _SpitTransitionsDescriptor SpitTransitionsDescriptor;
typedef struct _SpitTransitionsDescriptorIface SpitTransitionsDescriptorIface;

#define SPIT_TRANSITIONS_TYPE_EFFECT (spit_transitions_effect_get_type ())
#define SPIT_TRANSITIONS_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_TRANSITIONS_TYPE_EFFECT, SpitTransitionsEffect))
#define SPIT_TRANSITIONS_IS_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_TRANSITIONS_TYPE_EFFECT))
#define SPIT_TRANSITIONS_EFFECT_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_TRANSITIONS_TYPE_EFFECT, SpitTransitionsEffectIface))

typedef struct _SpitTransitionsEffect SpitTransitionsEffect;
typedef struct _SpitTransitionsEffectIface SpitTransitionsEffectIface;

#define SPIT_TRANSITIONS_TYPE_VISUALS (spit_transitions_visuals_get_type ())
#define SPIT_TRANSITIONS_VISUALS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_TRANSITIONS_TYPE_VISUALS, SpitTransitionsVisuals))
#define SPIT_TRANSITIONS_VISUALS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SPIT_TRANSITIONS_TYPE_VISUALS, SpitTransitionsVisualsClass))
#define SPIT_TRANSITIONS_IS_VISUALS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_TRANSITIONS_TYPE_VISUALS))
#define SPIT_TRANSITIONS_IS_VISUALS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SPIT_TRANSITIONS_TYPE_VISUALS))
#define SPIT_TRANSITIONS_VISUALS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SPIT_TRANSITIONS_TYPE_VISUALS, SpitTransitionsVisualsClass))

typedef struct _SpitTransitionsVisuals SpitTransitionsVisuals;
typedef struct _SpitTransitionsVisualsClass SpitTransitionsVisualsClass;

#define SPIT_TRANSITIONS_TYPE_MOTION (spit_transitions_motion_get_type ())
#define SPIT_TRANSITIONS_MOTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_TRANSITIONS_TYPE_MOTION, SpitTransitionsMotion))
#define SPIT_TRANSITIONS_MOTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SPIT_TRANSITIONS_TYPE_MOTION, SpitTransitionsMotionClass))
#define SPIT_TRANSITIONS_IS_MOTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_TRANSITIONS_TYPE_MOTION))
#define SPIT_TRANSITIONS_IS_MOTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SPIT_TRANSITIONS_TYPE_MOTION))
#define SPIT_TRANSITIONS_MOTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SPIT_TRANSITIONS_TYPE_MOTION, SpitTransitionsMotionClass))

typedef struct _SpitTransitionsMotion SpitTransitionsMotion;
typedef struct _SpitTransitionsMotionClass SpitTransitionsMotionClass;

#define TYPE_TRANSITION_CLOCK (transition_clock_get_type ())
#define TRANSITION_CLOCK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRANSITION_CLOCK, TransitionClock))
#define TRANSITION_CLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TRANSITION_CLOCK, TransitionClockClass))
#define IS_TRANSITION_CLOCK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRANSITION_CLOCK))
#define IS_TRANSITION_CLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TRANSITION_CLOCK))
#define TRANSITION_CLOCK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TRANSITION_CLOCK, TransitionClockClass))

typedef struct _TransitionClock TransitionClock;
typedef struct _TransitionClockClass TransitionClockClass;
typedef struct _TransitionClockPrivate TransitionClockPrivate;
typedef enum  {
	SPIT_TRANSITIONS_DIRECTION_LEFT = 0,
	SPIT_TRANSITIONS_DIRECTION_RIGHT = 1,
	SPIT_TRANSITIONS_DIRECTION_FORWARD = SPIT_TRANSITIONS_DIRECTION_LEFT,
	SPIT_TRANSITIONS_DIRECTION_BACKWARD = SPIT_TRANSITIONS_DIRECTION_RIGHT
} SpitTransitionsDirection;

#define SPIT_TRANSITIONS_TYPE_DIRECTION (spit_transitions_direction_get_type ())
typedef void (*TransitionClockRepaintCallback) (gpointer user_data);

#define TYPE_NULL_TRANSITION_DESCRIPTOR (null_transition_descriptor_get_type ())
#define NULL_TRANSITION_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NULL_TRANSITION_DESCRIPTOR, NullTransitionDescriptor))
#define NULL_TRANSITION_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NULL_TRANSITION_DESCRIPTOR, NullTransitionDescriptorClass))
#define IS_NULL_TRANSITION_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NULL_TRANSITION_DESCRIPTOR))
#define IS_NULL_TRANSITION_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NULL_TRANSITION_DESCRIPTOR))
#define NULL_TRANSITION_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NULL_TRANSITION_DESCRIPTOR, NullTransitionDescriptorClass))

typedef struct _NullTransitionDescriptor NullTransitionDescriptor;
typedef struct _NullTransitionDescriptorClass NullTransitionDescriptorClass;
typedef struct _NullTransitionDescriptorPrivate NullTransitionDescriptorPrivate;

#define TYPE_NULL_EFFECT (null_effect_get_type ())
#define NULL_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NULL_EFFECT, NullEffect))
#define NULL_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NULL_EFFECT, NullEffectClass))
#define IS_NULL_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NULL_EFFECT))
#define IS_NULL_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NULL_EFFECT))
#define NULL_EFFECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NULL_EFFECT, NullEffectClass))

typedef struct _NullEffect NullEffect;
typedef struct _NullEffectClass NullEffectClass;
typedef struct _NullEffectPrivate NullEffectPrivate;

#define TYPE_RANDOM_EFFECT_DESCRIPTOR (random_effect_descriptor_get_type ())
#define RANDOM_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RANDOM_EFFECT_DESCRIPTOR, RandomEffectDescriptor))
#define RANDOM_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RANDOM_EFFECT_DESCRIPTOR, RandomEffectDescriptorClass))
#define IS_RANDOM_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RANDOM_EFFECT_DESCRIPTOR))
#define IS_RANDOM_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RANDOM_EFFECT_DESCRIPTOR))
#define RANDOM_EFFECT_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RANDOM_EFFECT_DESCRIPTOR, RandomEffectDescriptorClass))

typedef struct _RandomEffectDescriptor RandomEffectDescriptor;
typedef struct _RandomEffectDescriptorClass RandomEffectDescriptorClass;
typedef struct _RandomEffectDescriptorPrivate RandomEffectDescriptorPrivate;

#define TAGS_TYPE_BRANCH (tags_branch_get_type ())
#define TAGS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TAGS_TYPE_BRANCH, TagsBranch))
#define TAGS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TAGS_TYPE_BRANCH, TagsBranchClass))
#define TAGS_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TAGS_TYPE_BRANCH))
#define TAGS_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TAGS_TYPE_BRANCH))
#define TAGS_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TAGS_TYPE_BRANCH, TagsBranchClass))

typedef struct _TagsBranch TagsBranch;
typedef struct _TagsBranchClass TagsBranchClass;
typedef struct _TagsBranchPrivate TagsBranchPrivate;

#define TAGS_TYPE_SIDEBAR_ENTRY (tags_sidebar_entry_get_type ())
#define TAGS_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TAGS_TYPE_SIDEBAR_ENTRY, TagsSidebarEntry))
#define TAGS_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TAGS_TYPE_SIDEBAR_ENTRY, TagsSidebarEntryClass))
#define TAGS_IS_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TAGS_TYPE_SIDEBAR_ENTRY))
#define TAGS_IS_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TAGS_TYPE_SIDEBAR_ENTRY))
#define TAGS_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TAGS_TYPE_SIDEBAR_ENTRY, TagsSidebarEntryClass))

typedef struct _TagsSidebarEntry TagsSidebarEntry;
typedef struct _TagsSidebarEntryClass TagsSidebarEntryClass;

#define TAGS_TYPE_GROUPING (tags_grouping_get_type ())
#define TAGS_GROUPING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TAGS_TYPE_GROUPING, TagsGrouping))
#define TAGS_GROUPING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TAGS_TYPE_GROUPING, TagsGroupingClass))
#define TAGS_IS_GROUPING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TAGS_TYPE_GROUPING))
#define TAGS_IS_GROUPING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TAGS_TYPE_GROUPING))
#define TAGS_GROUPING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TAGS_TYPE_GROUPING, TagsGroupingClass))

typedef struct _TagsGrouping TagsGrouping;
typedef struct _TagsGroupingClass TagsGroupingClass;
typedef struct _TagsGroupingPrivate TagsGroupingPrivate;
typedef struct _TagsSidebarEntryPrivate TagsSidebarEntryPrivate;

#define TYPE_HIERARCHICAL_TAG_INDEX (hierarchical_tag_index_get_type ())
#define HIERARCHICAL_TAG_INDEX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndex))
#define HIERARCHICAL_TAG_INDEX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndexClass))
#define IS_HIERARCHICAL_TAG_INDEX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HIERARCHICAL_TAG_INDEX))
#define IS_HIERARCHICAL_TAG_INDEX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HIERARCHICAL_TAG_INDEX))
#define HIERARCHICAL_TAG_INDEX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndexClass))

typedef struct _HierarchicalTagIndex HierarchicalTagIndex;
typedef struct _HierarchicalTagIndexClass HierarchicalTagIndexClass;
typedef struct _HierarchicalTagIndexPrivate HierarchicalTagIndexPrivate;

#define TYPE_BACKGROUND_JOB (background_job_get_type ())
#define BACKGROUND_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKGROUND_JOB, BackgroundJob))
#define BACKGROUND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKGROUND_JOB, BackgroundJobClass))
#define IS_BACKGROUND_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKGROUND_JOB))
#define IS_BACKGROUND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKGROUND_JOB))
#define BACKGROUND_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKGROUND_JOB, BackgroundJobClass))

typedef struct _BackgroundJob BackgroundJob;
typedef struct _BackgroundJobClass BackgroundJobClass;
typedef void (*CompletionCallback) (BackgroundJob* job, gpointer user_data);
typedef void (*CancellationCallback) (BackgroundJob* job, gpointer user_data);

#define TYPE_NOTIFICATION_OBJECT (notification_object_get_type ())
#define NOTIFICATION_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NOTIFICATION_OBJECT, NotificationObject))
#define NOTIFICATION_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NOTIFICATION_OBJECT, NotificationObjectClass))
#define IS_NOTIFICATION_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NOTIFICATION_OBJECT))
#define IS_NOTIFICATION_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NOTIFICATION_OBJECT))
#define NOTIFICATION_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NOTIFICATION_OBJECT, NotificationObjectClass))

typedef struct _NotificationObject NotificationObject;
typedef struct _NotificationObjectClass NotificationObjectClass;
typedef struct _NotificationObjectPrivate NotificationObjectPrivate;

#define TYPE_INTERLOCKED_NOTIFICATION_OBJECT (interlocked_notification_object_get_type ())
#define INTERLOCKED_NOTIFICATION_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INTERLOCKED_NOTIFICATION_OBJECT, InterlockedNotificationObject))
#define INTERLOCKED_NOTIFICATION_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INTERLOCKED_NOTIFICATION_OBJECT, InterlockedNotificationObjectClass))
#define IS_INTERLOCKED_NOTIFICATION_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INTERLOCKED_NOTIFICATION_OBJECT))
#define IS_INTERLOCKED_NOTIFICATION_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INTERLOCKED_NOTIFICATION_OBJECT))
#define INTERLOCKED_NOTIFICATION_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INTERLOCKED_NOTIFICATION_OBJECT, InterlockedNotificationObjectClass))

typedef struct _InterlockedNotificationObject InterlockedNotificationObject;
typedef struct _InterlockedNotificationObjectClass InterlockedNotificationObjectClass;
typedef struct _InterlockedNotificationObjectPrivate InterlockedNotificationObjectPrivate;
typedef void (*NotificationCallback) (BackgroundJob* job, NotificationObject* user, gpointer user_data);
typedef struct _BackgroundJobPrivate BackgroundJobPrivate;

#define TYPE_ABSTRACT_SEMAPHORE (abstract_semaphore_get_type ())
#define ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphore))
#define ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass))
#define IS_ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ABSTRACT_SEMAPHORE))
#define IS_ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ABSTRACT_SEMAPHORE))
#define ABSTRACT_SEMAPHORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass))

typedef struct _AbstractSemaphore AbstractSemaphore;
typedef struct _AbstractSemaphoreClass AbstractSemaphoreClass;
typedef struct _AbstractSemaphorePrivate AbstractSemaphorePrivate;
typedef enum  {
	ABSTRACT_SEMAPHORE_NOTIFY_ACTION_NONE,
	ABSTRACT_SEMAPHORE_NOTIFY_ACTION_SIGNAL
} AbstractSemaphoreNotifyAction;

#define ABSTRACT_SEMAPHORE_TYPE_NOTIFY_ACTION (abstract_semaphore_notify_action_get_type ())
typedef enum  {
	ABSTRACT_SEMAPHORE_WAIT_ACTION_SLEEP,
	ABSTRACT_SEMAPHORE_WAIT_ACTION_READY
} AbstractSemaphoreWaitAction;

#define ABSTRACT_SEMAPHORE_TYPE_WAIT_ACTION (abstract_semaphore_wait_action_get_type ())
typedef enum  {
	ABSTRACT_SEMAPHORE_TYPE_SERIAL,
	ABSTRACT_SEMAPHORE_TYPE_BROADCAST
} AbstractSemaphoreType;

#define ABSTRACT_SEMAPHORE_TYPE_TYPE (abstract_semaphore_type_get_type ())

#define TYPE_SEMAPHORE (semaphore_get_type ())
#define SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEMAPHORE, Semaphore))
#define SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEMAPHORE, SemaphoreClass))
#define IS_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEMAPHORE))
#define IS_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEMAPHORE))
#define SEMAPHORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEMAPHORE, SemaphoreClass))

typedef struct _Semaphore Semaphore;
typedef struct _SemaphoreClass SemaphoreClass;
typedef struct _SemaphorePrivate SemaphorePrivate;

#define TYPE_COUNTDOWN_SEMAPHORE (countdown_semaphore_get_type ())
#define COUNTDOWN_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COUNTDOWN_SEMAPHORE, CountdownSemaphore))
#define COUNTDOWN_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COUNTDOWN_SEMAPHORE, CountdownSemaphoreClass))
#define IS_COUNTDOWN_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COUNTDOWN_SEMAPHORE))
#define IS_COUNTDOWN_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COUNTDOWN_SEMAPHORE))
#define COUNTDOWN_SEMAPHORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COUNTDOWN_SEMAPHORE, CountdownSemaphoreClass))

typedef struct _CountdownSemaphore CountdownSemaphore;
typedef struct _CountdownSemaphoreClass CountdownSemaphoreClass;
typedef struct _CountdownSemaphorePrivate CountdownSemaphorePrivate;

#define TYPE_EVENT_SEMAPHORE (event_semaphore_get_type ())
#define EVENT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_SEMAPHORE, EventSemaphore))
#define EVENT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_SEMAPHORE, EventSemaphoreClass))
#define IS_EVENT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_SEMAPHORE))
#define IS_EVENT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_SEMAPHORE))
#define EVENT_SEMAPHORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_SEMAPHORE, EventSemaphoreClass))

typedef struct _EventSemaphore EventSemaphore;
typedef struct _EventSemaphoreClass EventSemaphoreClass;
typedef struct _EventSemaphorePrivate EventSemaphorePrivate;

#define TYPE_BACKGROUND_JOB_BATCH (background_job_batch_get_type ())
#define BACKGROUND_JOB_BATCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKGROUND_JOB_BATCH, BackgroundJobBatch))
#define BACKGROUND_JOB_BATCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKGROUND_JOB_BATCH, BackgroundJobBatchClass))
#define IS_BACKGROUND_JOB_BATCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKGROUND_JOB_BATCH))
#define IS_BACKGROUND_JOB_BATCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKGROUND_JOB_BATCH))
#define BACKGROUND_JOB_BATCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKGROUND_JOB_BATCH, BackgroundJobBatchClass))

typedef struct _BackgroundJobBatch BackgroundJobBatch;
typedef struct _BackgroundJobBatchClass BackgroundJobBatchClass;
typedef struct _BackgroundJobBatchPrivate BackgroundJobBatchPrivate;
typedef struct _WorkersPrivate WorkersPrivate;

#define TYPE_DRAG_AND_DROP_HANDLER (drag_and_drop_handler_get_type ())
#define DRAG_AND_DROP_HANDLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DRAG_AND_DROP_HANDLER, DragAndDropHandler))
#define DRAG_AND_DROP_HANDLER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DRAG_AND_DROP_HANDLER, DragAndDropHandlerClass))
#define IS_DRAG_AND_DROP_HANDLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DRAG_AND_DROP_HANDLER))
#define IS_DRAG_AND_DROP_HANDLER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DRAG_AND_DROP_HANDLER))
#define DRAG_AND_DROP_HANDLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DRAG_AND_DROP_HANDLER, DragAndDropHandlerClass))

typedef struct _DragAndDropHandler DragAndDropHandler;
typedef struct _DragAndDropHandlerClass DragAndDropHandlerClass;
typedef struct _DragAndDropHandlerPrivate DragAndDropHandlerPrivate;
typedef struct _KeyValueMapPrivate KeyValueMapPrivate;
typedef void (*OneShotCallback) (gpointer user_data);

#define TYPE_ONE_SHOT_SCHEDULER (one_shot_scheduler_get_type ())
#define ONE_SHOT_SCHEDULER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ONE_SHOT_SCHEDULER, OneShotScheduler))
#define ONE_SHOT_SCHEDULER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ONE_SHOT_SCHEDULER, OneShotSchedulerClass))
#define IS_ONE_SHOT_SCHEDULER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ONE_SHOT_SCHEDULER))
#define IS_ONE_SHOT_SCHEDULER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ONE_SHOT_SCHEDULER))
#define ONE_SHOT_SCHEDULER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ONE_SHOT_SCHEDULER, OneShotSchedulerClass))

typedef struct _OneShotScheduler OneShotScheduler;
typedef struct _OneShotSchedulerClass OneShotSchedulerClass;
typedef struct _OneShotSchedulerPrivate OneShotSchedulerPrivate;

#define TYPE_OP_TIMER (op_timer_get_type ())
#define OP_TIMER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_OP_TIMER, OpTimer))
#define OP_TIMER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_OP_TIMER, OpTimerClass))
#define IS_OP_TIMER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_OP_TIMER))
#define IS_OP_TIMER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_OP_TIMER))
#define OP_TIMER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_OP_TIMER, OpTimerClass))

typedef struct _OpTimer OpTimer;
typedef struct _OpTimerClass OpTimerClass;
typedef struct _OpTimerPrivate OpTimerPrivate;
typedef enum  {
	ADJUSTMENT_RELATION_BELOW,
	ADJUSTMENT_RELATION_IN_RANGE,
	ADJUSTMENT_RELATION_ABOVE
} AdjustmentRelation;

#define TYPE_ADJUSTMENT_RELATION (adjustment_relation_get_type ())
typedef enum  {
	DIRECTION_FORWARD,
	DIRECTION_BACKWARD
} Direction;

#define TYPE_DIRECTION (direction_get_type ())

#define COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER (collection_page_collection_search_view_filter_get_type ())
#define COLLECTION_PAGE_COLLECTION_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER, CollectionPageCollectionSearchViewFilter))
#define COLLECTION_PAGE_COLLECTION_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER, CollectionPageCollectionSearchViewFilterClass))
#define COLLECTION_PAGE_IS_COLLECTION_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER))
#define COLLECTION_PAGE_IS_COLLECTION_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER))
#define COLLECTION_PAGE_COLLECTION_SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER, CollectionPageCollectionSearchViewFilterClass))

typedef struct _CollectionPageCollectionSearchViewFilter CollectionPageCollectionSearchViewFilter;
typedef struct _CollectionPageCollectionSearchViewFilterClass CollectionPageCollectionSearchViewFilterClass;
typedef struct _CollectionPageCollectionSearchViewFilterPrivate CollectionPageCollectionSearchViewFilterPrivate;
typedef struct _SinglePhotoPagePrivate SinglePhotoPagePrivate;
typedef enum  {
	SINGLE_PHOTO_PAGE_UPDATE_REASON_NEW_PIXBUF,
	SINGLE_PHOTO_PAGE_UPDATE_REASON_QUALITY_IMPROVEMENT,
	SINGLE_PHOTO_PAGE_UPDATE_REASON_RESIZED_CANVAS
} SinglePhotoPageUpdateReason;

#define SINGLE_PHOTO_PAGE_TYPE_UPDATE_REASON (single_photo_page_update_reason_get_type ())
typedef struct _EditingHostPagePrivate EditingHostPagePrivate;
typedef struct _DirectPhotoPagePrivate DirectPhotoPagePrivate;

#define TYPE_EVENT_PAGE (event_page_get_type ())
#define EVENT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_PAGE, EventPage))
#define EVENT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_PAGE, EventPageClass))
#define IS_EVENT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_PAGE))
#define IS_EVENT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_PAGE))
#define EVENT_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_PAGE, EventPageClass))

typedef struct _EventPage EventPage;
typedef struct _EventPageClass EventPageClass;
typedef struct _EventPagePrivate EventPagePrivate;

#define TYPE_NO_EVENT_PAGE (no_event_page_get_type ())
#define NO_EVENT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NO_EVENT_PAGE, NoEventPage))
#define NO_EVENT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NO_EVENT_PAGE, NoEventPageClass))
#define IS_NO_EVENT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NO_EVENT_PAGE))
#define IS_NO_EVENT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NO_EVENT_PAGE))
#define NO_EVENT_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NO_EVENT_PAGE, NoEventPageClass))

typedef struct _NoEventPage NoEventPage;
typedef struct _NoEventPageClass NoEventPageClass;
typedef struct _NoEventPagePrivate NoEventPagePrivate;

#define TYPE_EVENTS_DIRECTORY_PAGE (events_directory_page_get_type ())
#define EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage))
#define EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPageClass))
#define IS_EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENTS_DIRECTORY_PAGE))
#define IS_EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENTS_DIRECTORY_PAGE))
#define EVENTS_DIRECTORY_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPageClass))

typedef struct _EventsDirectoryPage EventsDirectoryPage;
typedef struct _EventsDirectoryPageClass EventsDirectoryPageClass;
typedef struct _EventsDirectoryPagePrivate EventsDirectoryPagePrivate;

#define EVENTS_DIRECTORY_PAGE_TYPE_EVENT_DIRECTORY_MANAGER (events_directory_page_event_directory_manager_get_type ())
#define EVENTS_DIRECTORY_PAGE_EVENT_DIRECTORY_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_DIRECTORY_PAGE_TYPE_EVENT_DIRECTORY_MANAGER, EventsDirectoryPageEventDirectoryManager))
#define EVENTS_DIRECTORY_PAGE_EVENT_DIRECTORY_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_DIRECTORY_PAGE_TYPE_EVENT_DIRECTORY_MANAGER, EventsDirectoryPageEventDirectoryManagerClass))
#define EVENTS_DIRECTORY_PAGE_IS_EVENT_DIRECTORY_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_DIRECTORY_PAGE_TYPE_EVENT_DIRECTORY_MANAGER))
#define EVENTS_DIRECTORY_PAGE_IS_EVENT_DIRECTORY_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_DIRECTORY_PAGE_TYPE_EVENT_DIRECTORY_MANAGER))
#define EVENTS_DIRECTORY_PAGE_EVENT_DIRECTORY_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_DIRECTORY_PAGE_TYPE_EVENT_DIRECTORY_MANAGER, EventsDirectoryPageEventDirectoryManagerClass))

typedef struct _EventsDirectoryPageEventDirectoryManager EventsDirectoryPageEventDirectoryManager;
typedef struct _EventsDirectoryPageEventDirectoryManagerClass EventsDirectoryPageEventDirectoryManagerClass;
typedef struct _EventsDirectoryPageEventDirectoryManagerPrivate EventsDirectoryPageEventDirectoryManagerPrivate;

#define TYPE_MASTER_EVENTS_DIRECTORY_PAGE (master_events_directory_page_get_type ())
#define MASTER_EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MASTER_EVENTS_DIRECTORY_PAGE, MasterEventsDirectoryPage))
#define MASTER_EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MASTER_EVENTS_DIRECTORY_PAGE, MasterEventsDirectoryPageClass))
#define IS_MASTER_EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MASTER_EVENTS_DIRECTORY_PAGE))
#define IS_MASTER_EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MASTER_EVENTS_DIRECTORY_PAGE))
#define MASTER_EVENTS_DIRECTORY_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MASTER_EVENTS_DIRECTORY_PAGE, MasterEventsDirectoryPageClass))

typedef struct _MasterEventsDirectoryPage MasterEventsDirectoryPage;
typedef struct _MasterEventsDirectoryPageClass MasterEventsDirectoryPageClass;
typedef struct _MasterEventsDirectoryPagePrivate MasterEventsDirectoryPagePrivate;

#define TYPE_SUB_EVENTS_DIRECTORY_PAGE (sub_events_directory_page_get_type ())
#define SUB_EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SUB_EVENTS_DIRECTORY_PAGE, SubEventsDirectoryPage))
#define SUB_EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SUB_EVENTS_DIRECTORY_PAGE, SubEventsDirectoryPageClass))
#define IS_SUB_EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SUB_EVENTS_DIRECTORY_PAGE))
#define IS_SUB_EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SUB_EVENTS_DIRECTORY_PAGE))
#define SUB_EVENTS_DIRECTORY_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SUB_EVENTS_DIRECTORY_PAGE, SubEventsDirectoryPageClass))

typedef struct _SubEventsDirectoryPage SubEventsDirectoryPage;
typedef struct _SubEventsDirectoryPageClass SubEventsDirectoryPageClass;
typedef struct _SubEventsDirectoryPagePrivate SubEventsDirectoryPagePrivate;
typedef enum  {
	SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_YEAR,
	SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_MONTH,
	SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_UNDATED
} SubEventsDirectoryPageDirectoryType;

#define SUB_EVENTS_DIRECTORY_PAGE_TYPE_DIRECTORY_TYPE (sub_events_directory_page_directory_type_get_type ())

#define TYPE_FLAGGED_PAGE (flagged_page_get_type ())
#define FLAGGED_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FLAGGED_PAGE, FlaggedPage))
#define FLAGGED_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FLAGGED_PAGE, FlaggedPageClass))
#define IS_FLAGGED_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FLAGGED_PAGE))
#define IS_FLAGGED_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FLAGGED_PAGE))
#define FLAGGED_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FLAGGED_PAGE, FlaggedPageClass))

typedef struct _FlaggedPage FlaggedPage;
typedef struct _FlaggedPageClass FlaggedPageClass;
typedef struct _FlaggedPagePrivate FlaggedPagePrivate;

#define TYPE_CAMERA_VIEW_TRACKER (camera_view_tracker_get_type ())
#define CAMERA_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CAMERA_VIEW_TRACKER, CameraViewTracker))
#define CAMERA_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CAMERA_VIEW_TRACKER, CameraViewTrackerClass))
#define IS_CAMERA_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CAMERA_VIEW_TRACKER))
#define IS_CAMERA_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CAMERA_VIEW_TRACKER))
#define CAMERA_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CAMERA_VIEW_TRACKER, CameraViewTrackerClass))

typedef struct _CameraViewTracker CameraViewTracker;
typedef struct _CameraViewTrackerClass CameraViewTrackerClass;
typedef struct _CameraViewTrackerPrivate CameraViewTrackerPrivate;

#define TYPE_CAMERA_ACCUMULATOR (camera_accumulator_get_type ())
#define CAMERA_ACCUMULATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CAMERA_ACCUMULATOR, CameraAccumulator))
#define CAMERA_ACCUMULATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CAMERA_ACCUMULATOR, CameraAccumulatorClass))
#define IS_CAMERA_ACCUMULATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CAMERA_ACCUMULATOR))
#define IS_CAMERA_ACCUMULATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CAMERA_ACCUMULATOR))
#define CAMERA_ACCUMULATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CAMERA_ACCUMULATOR, CameraAccumulatorClass))

typedef struct _CameraAccumulator CameraAccumulator;
typedef struct _CameraAccumulatorClass CameraAccumulatorClass;
typedef struct _CameraAccumulatorPrivate CameraAccumulatorPrivate;

#define TYPE_IMPORT_PAGE (import_page_get_type ())
#define IMPORT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORT_PAGE, ImportPage))
#define IMPORT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORT_PAGE, ImportPageClass))
#define IS_IMPORT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORT_PAGE))
#define IS_IMPORT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORT_PAGE))
#define IMPORT_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORT_PAGE, ImportPageClass))

typedef struct _ImportPage ImportPage;
typedef struct _ImportPageClass ImportPageClass;
typedef struct _ImportPagePrivate ImportPagePrivate;
typedef enum  {
	IMPORT_PAGE_REFRESH_RESULT_OK,
	IMPORT_PAGE_REFRESH_RESULT_BUSY,
	IMPORT_PAGE_REFRESH_RESULT_LOCKED,
	IMPORT_PAGE_REFRESH_RESULT_LIBRARY_ERROR
} ImportPageRefreshResult;

#define IMPORT_PAGE_TYPE_REFRESH_RESULT (import_page_refresh_result_get_type ())

#define TYPE_IMPORT_QUEUE_PAGE (import_queue_page_get_type ())
#define IMPORT_QUEUE_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORT_QUEUE_PAGE, ImportQueuePage))
#define IMPORT_QUEUE_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORT_QUEUE_PAGE, ImportQueuePageClass))
#define IS_IMPORT_QUEUE_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORT_QUEUE_PAGE))
#define IS_IMPORT_QUEUE_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORT_QUEUE_PAGE))
#define IMPORT_QUEUE_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORT_QUEUE_PAGE, ImportQueuePageClass))

typedef struct _ImportQueuePage ImportQueuePage;
typedef struct _ImportQueuePageClass ImportQueuePageClass;
typedef struct _ImportQueuePagePrivate ImportQueuePagePrivate;

#define TYPE_LAST_IMPORT_PAGE (last_import_page_get_type ())
#define LAST_IMPORT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LAST_IMPORT_PAGE, LastImportPage))
#define LAST_IMPORT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LAST_IMPORT_PAGE, LastImportPageClass))
#define IS_LAST_IMPORT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LAST_IMPORT_PAGE))
#define IS_LAST_IMPORT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LAST_IMPORT_PAGE))
#define LAST_IMPORT_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LAST_IMPORT_PAGE, LastImportPageClass))

typedef struct _LastImportPage LastImportPage;
typedef struct _LastImportPageClass LastImportPageClass;
typedef struct _LastImportPagePrivate LastImportPagePrivate;

#define TYPE_LIBRARY_PHOTO_PAGE (library_photo_page_get_type ())
#define LIBRARY_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage))
#define LIBRARY_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPageClass))
#define IS_LIBRARY_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO_PAGE))
#define IS_LIBRARY_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO_PAGE))
#define LIBRARY_PHOTO_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPageClass))

typedef struct _LibraryPhotoPage LibraryPhotoPage;
typedef struct _LibraryPhotoPageClass LibraryPhotoPageClass;
typedef struct _LibraryPhotoPagePrivate LibraryPhotoPagePrivate;

#define TYPE_SLIDER_ASSEMBLY (slider_assembly_get_type ())
#define SLIDER_ASSEMBLY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SLIDER_ASSEMBLY, SliderAssembly))
#define SLIDER_ASSEMBLY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SLIDER_ASSEMBLY, SliderAssemblyClass))
#define IS_SLIDER_ASSEMBLY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SLIDER_ASSEMBLY))
#define IS_SLIDER_ASSEMBLY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SLIDER_ASSEMBLY))
#define SLIDER_ASSEMBLY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SLIDER_ASSEMBLY, SliderAssemblyClass))

typedef struct _SliderAssembly SliderAssembly;
typedef struct _SliderAssemblyClass SliderAssemblyClass;

#define TYPE_OFFLINE_PAGE (offline_page_get_type ())
#define OFFLINE_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_OFFLINE_PAGE, OfflinePage))
#define OFFLINE_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_OFFLINE_PAGE, OfflinePageClass))
#define IS_OFFLINE_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_OFFLINE_PAGE))
#define IS_OFFLINE_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_OFFLINE_PAGE))
#define OFFLINE_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_OFFLINE_PAGE, OfflinePageClass))

typedef struct _OfflinePage OfflinePage;
typedef struct _OfflinePageClass OfflinePageClass;
typedef struct _OfflinePagePrivate OfflinePagePrivate;
typedef struct _LibraryPhotosEntryPrivate LibraryPhotosEntryPrivate;

#define LIBRARY_TYPE_PHOTOS_PAGE (library_photos_page_get_type ())
#define LIBRARY_PHOTOS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_PHOTOS_PAGE, LibraryPhotosPage))
#define LIBRARY_PHOTOS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_PHOTOS_PAGE, LibraryPhotosPageClass))
#define LIBRARY_IS_PHOTOS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_PHOTOS_PAGE))
#define LIBRARY_IS_PHOTOS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_PHOTOS_PAGE))
#define LIBRARY_PHOTOS_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_PHOTOS_PAGE, LibraryPhotosPageClass))

typedef struct _LibraryPhotosPage LibraryPhotosPage;
typedef struct _LibraryPhotosPageClass LibraryPhotosPageClass;
typedef struct _LibraryPhotosPagePrivate LibraryPhotosPagePrivate;
typedef struct _LibraryRawsEntryPrivate LibraryRawsEntryPrivate;

#define LIBRARY_TYPE_RAWS_PAGE (library_raws_page_get_type ())
#define LIBRARY_RAWS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_RAWS_PAGE, LibraryRawsPage))
#define LIBRARY_RAWS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_RAWS_PAGE, LibraryRawsPageClass))
#define LIBRARY_IS_RAWS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_RAWS_PAGE))
#define LIBRARY_IS_RAWS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_RAWS_PAGE))
#define LIBRARY_RAWS_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_RAWS_PAGE, LibraryRawsPageClass))

typedef struct _LibraryRawsPage LibraryRawsPage;
typedef struct _LibraryRawsPageClass LibraryRawsPageClass;
typedef struct _LibraryRawsPagePrivate LibraryRawsPagePrivate;

#define TYPE_SAVED_SEARCH_PAGE (saved_search_page_get_type ())
#define SAVED_SEARCH_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_PAGE, SavedSearchPage))
#define SAVED_SEARCH_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_PAGE, SavedSearchPageClass))
#define IS_SAVED_SEARCH_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_PAGE))
#define IS_SAVED_SEARCH_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_PAGE))
#define SAVED_SEARCH_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_PAGE, SavedSearchPageClass))

typedef struct _SavedSearchPage SavedSearchPage;
typedef struct _SavedSearchPageClass SavedSearchPageClass;
typedef struct _SavedSearchPagePrivate SavedSearchPagePrivate;

#define TYPE_TAG_PAGE (tag_page_get_type ())
#define TAG_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAG_PAGE, TagPage))
#define TAG_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAG_PAGE, TagPageClass))
#define IS_TAG_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAG_PAGE))
#define IS_TAG_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAG_PAGE))
#define TAG_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAG_PAGE, TagPageClass))

typedef struct _TagPage TagPage;
typedef struct _TagPageClass TagPageClass;
typedef struct _TagPagePrivate TagPagePrivate;

#define TYPE_TRASH_PAGE (trash_page_get_type ())
#define TRASH_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRASH_PAGE, TrashPage))
#define TRASH_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TRASH_PAGE, TrashPageClass))
#define IS_TRASH_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRASH_PAGE))
#define IS_TRASH_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TRASH_PAGE))
#define TRASH_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TRASH_PAGE, TrashPageClass))

typedef struct _TrashPage TrashPage;
typedef struct _TrashPageClass TrashPageClass;
typedef struct _TrashPagePrivate TrashPagePrivate;
typedef struct _LibraryVideosEntryPrivate LibraryVideosEntryPrivate;

#define LIBRARY_TYPE_VIDEOS_PAGE (library_videos_page_get_type ())
#define LIBRARY_VIDEOS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_VIDEOS_PAGE, LibraryVideosPage))
#define LIBRARY_VIDEOS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_VIDEOS_PAGE, LibraryVideosPageClass))
#define LIBRARY_IS_VIDEOS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_VIDEOS_PAGE))
#define LIBRARY_IS_VIDEOS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_VIDEOS_PAGE))
#define LIBRARY_VIDEOS_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_VIDEOS_PAGE, LibraryVideosPageClass))

typedef struct _LibraryVideosPage LibraryVideosPage;
typedef struct _LibraryVideosPageClass LibraryVideosPageClass;
typedef struct _LibraryVideosPagePrivate LibraryVideosPagePrivate;

#define TYPE_SEARCH_ROW (search_row_get_type ())
#define SEARCH_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_ROW, SearchRow))
#define SEARCH_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_ROW, SearchRowClass))
#define IS_SEARCH_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_ROW))
#define IS_SEARCH_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_ROW))
#define SEARCH_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_ROW, SearchRowClass))

typedef struct _SearchRow SearchRow;
typedef struct _SearchRowClass SearchRowClass;
typedef struct _SearchRowPrivate SearchRowPrivate;

#define TYPE_SEARCH_ROW_CONTAINER (search_row_container_get_type ())
#define SEARCH_ROW_CONTAINER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_ROW_CONTAINER, SearchRowContainer))
#define SEARCH_ROW_CONTAINER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_ROW_CONTAINER, SearchRowContainerClass))
#define IS_SEARCH_ROW_CONTAINER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_ROW_CONTAINER))
#define IS_SEARCH_ROW_CONTAINER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_ROW_CONTAINER))
#define SEARCH_ROW_CONTAINER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_ROW_CONTAINER, SearchRowContainerClass))

typedef struct _SearchRowContainer SearchRowContainer;
typedef struct _SearchRowContainerClass SearchRowContainerClass;

#define TYPE_EDITABLE_TITLE (editable_title_get_type ())
#define EDITABLE_TITLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDITABLE_TITLE, EditableTitle))
#define EDITABLE_TITLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDITABLE_TITLE, EditableTitleClass))
#define IS_EDITABLE_TITLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDITABLE_TITLE))
#define IS_EDITABLE_TITLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDITABLE_TITLE))
#define EDITABLE_TITLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDITABLE_TITLE, EditableTitleClass))

typedef struct _EditableTitle EditableTitle;
typedef struct _EditableTitleClass EditableTitleClass;
typedef struct _EditableTitlePrivate EditableTitlePrivate;

#define TYPE_TRANSITION_EFFECT_SELECTOR (transition_effect_selector_get_type ())
#define TRANSITION_EFFECT_SELECTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRANSITION_EFFECT_SELECTOR, TransitionEffectSelector))
#define TRANSITION_EFFECT_SELECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TRANSITION_EFFECT_SELECTOR, TransitionEffectSelectorClass))
#define IS_TRANSITION_EFFECT_SELECTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRANSITION_EFFECT_SELECTOR))
#define IS_TRANSITION_EFFECT_SELECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TRANSITION_EFFECT_SELECTOR))
#define TRANSITION_EFFECT_SELECTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TRANSITION_EFFECT_SELECTOR, TransitionEffectSelectorClass))

typedef struct _TransitionEffectSelector TransitionEffectSelector;
typedef struct _TransitionEffectSelectorClass TransitionEffectSelectorClass;
typedef struct _TransitionEffectSelectorPrivate TransitionEffectSelectorPrivate;
typedef struct _SearchRowContainerPrivate SearchRowContainerPrivate;

#define TYPE_SEARCH_ROW_DATE (search_row_date_get_type ())
#define SEARCH_ROW_DATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_ROW_DATE, SearchRowDate))
#define SEARCH_ROW_DATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_ROW_DATE, SearchRowDateClass))
#define IS_SEARCH_ROW_DATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_ROW_DATE))
#define IS_SEARCH_ROW_DATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_ROW_DATE))
#define SEARCH_ROW_DATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_ROW_DATE, SearchRowDateClass))

typedef struct _SearchRowDate SearchRowDate;
typedef struct _SearchRowDateClass SearchRowDateClass;
typedef struct _SearchRowDatePrivate SearchRowDatePrivate;

#define TYPE_SEARCH_ROW_FLAGGED (search_row_flagged_get_type ())
#define SEARCH_ROW_FLAGGED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_ROW_FLAGGED, SearchRowFlagged))
#define SEARCH_ROW_FLAGGED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_ROW_FLAGGED, SearchRowFlaggedClass))
#define IS_SEARCH_ROW_FLAGGED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_ROW_FLAGGED))
#define IS_SEARCH_ROW_FLAGGED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_ROW_FLAGGED))
#define SEARCH_ROW_FLAGGED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_ROW_FLAGGED, SearchRowFlaggedClass))

typedef struct _SearchRowFlagged SearchRowFlagged;
typedef struct _SearchRowFlaggedClass SearchRowFlaggedClass;
typedef struct _SearchRowFlaggedPrivate SearchRowFlaggedPrivate;

#define TYPE_SEARCH_ROW_MEDIA_TYPE (search_row_media_type_get_type ())
#define SEARCH_ROW_MEDIA_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_ROW_MEDIA_TYPE, SearchRowMediaType))
#define SEARCH_ROW_MEDIA_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_ROW_MEDIA_TYPE, SearchRowMediaTypeClass))
#define IS_SEARCH_ROW_MEDIA_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_ROW_MEDIA_TYPE))
#define IS_SEARCH_ROW_MEDIA_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_ROW_MEDIA_TYPE))
#define SEARCH_ROW_MEDIA_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_ROW_MEDIA_TYPE, SearchRowMediaTypeClass))

typedef struct _SearchRowMediaType SearchRowMediaType;
typedef struct _SearchRowMediaTypeClass SearchRowMediaTypeClass;
typedef struct _SearchRowMediaTypePrivate SearchRowMediaTypePrivate;

#define TYPE_SEARCH_ROW_MODIFIED (search_row_modified_get_type ())
#define SEARCH_ROW_MODIFIED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_ROW_MODIFIED, SearchRowModified))
#define SEARCH_ROW_MODIFIED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_ROW_MODIFIED, SearchRowModifiedClass))
#define IS_SEARCH_ROW_MODIFIED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_ROW_MODIFIED))
#define IS_SEARCH_ROW_MODIFIED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_ROW_MODIFIED))
#define SEARCH_ROW_MODIFIED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_ROW_MODIFIED, SearchRowModifiedClass))

typedef struct _SearchRowModified SearchRowModified;
typedef struct _SearchRowModifiedClass SearchRowModifiedClass;
typedef struct _SearchRowModifiedPrivate SearchRowModifiedPrivate;

#define TYPE_SEARCH_ROW_TEXT (search_row_text_get_type ())
#define SEARCH_ROW_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_ROW_TEXT, SearchRowText))
#define SEARCH_ROW_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_ROW_TEXT, SearchRowTextClass))
#define IS_SEARCH_ROW_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_ROW_TEXT))
#define IS_SEARCH_ROW_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_ROW_TEXT))
#define SEARCH_ROW_TEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_ROW_TEXT, SearchRowTextClass))

typedef struct _SearchRowText SearchRowText;
typedef struct _SearchRowTextClass SearchRowTextClass;
typedef struct _SearchRowTextPrivate SearchRowTextPrivate;
typedef struct _SliderAssemblyPrivate SliderAssemblyPrivate;

#define TYPE_CONTRACT_MENU_ITEM (contract_menu_item_get_type ())
#define CONTRACT_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONTRACT_MENU_ITEM, ContractMenuItem))
#define CONTRACT_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONTRACT_MENU_ITEM, ContractMenuItemClass))
#define IS_CONTRACT_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONTRACT_MENU_ITEM))
#define IS_CONTRACT_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONTRACT_MENU_ITEM))
#define CONTRACT_MENU_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONTRACT_MENU_ITEM, ContractMenuItemClass))

typedef struct _ContractMenuItem ContractMenuItem;
typedef struct _ContractMenuItemClass ContractMenuItemClass;
typedef struct _ContractMenuItemPrivate ContractMenuItemPrivate;

#define TYPE_CUSTOM_PRINT_TAB (custom_print_tab_get_type ())
#define CUSTOM_PRINT_TAB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CUSTOM_PRINT_TAB, CustomPrintTab))
#define CUSTOM_PRINT_TAB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CUSTOM_PRINT_TAB, CustomPrintTabClass))
#define IS_CUSTOM_PRINT_TAB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CUSTOM_PRINT_TAB))
#define IS_CUSTOM_PRINT_TAB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CUSTOM_PRINT_TAB))
#define CUSTOM_PRINT_TAB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CUSTOM_PRINT_TAB, CustomPrintTabClass))

typedef struct _CustomPrintTab CustomPrintTab;
typedef struct _CustomPrintTabClass CustomPrintTabClass;
typedef struct _CustomPrintTabPrivate CustomPrintTabPrivate;

#define SPIT_TYPE_ENTRY_POINT_PARAMS (spit_entry_point_params_get_type ())
typedef struct _SpitEntryPointParams SpitEntryPointParams;

#define SPIT_TYPE_MODULE (spit_module_get_type ())
#define SPIT_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_TYPE_MODULE, SpitModule))
#define SPIT_IS_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_TYPE_MODULE))
#define SPIT_MODULE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_TYPE_MODULE, SpitModuleIface))

typedef struct _SpitModule SpitModule;
typedef struct _SpitModuleIface SpitModuleIface;
typedef SpitModule* (*SpitEntryPoint) (SpitEntryPointParams* params);
typedef struct _SpitTransitionsVisualsPrivate SpitTransitionsVisualsPrivate;
typedef struct _SpitTransitionsMotionPrivate SpitTransitionsMotionPrivate;

struct _PhotosApplication {
	GtkApplication parent_instance;
	PhotosApplicationPrivate * priv;
};

struct _PhotosApplicationClass {
	GtkApplicationClass parent_class;
	void (*starting) (PhotosApplication* self);
	void (*exiting) (PhotosApplication* self, gboolean panicked);
	void (*init_done) (PhotosApplication* self);
};

struct _PageWindow {
	HdyApplicationWindow parent_instance;
	PageWindowPrivate * priv;
	GtkUIManager* ui;
};

struct _PageWindowClass {
	HdyApplicationWindowClass parent_class;
	void (*switched_pages) (PageWindow* self, Page* old_page, Page* new_page);
	void (*set_current_page) (PageWindow* self, Page* page);
	void (*clear_current_page) (PageWindow* self);
};

struct _Dimensions {
	gint width;
	gint height;
};

struct _AppWindow {
	PageWindow parent_instance;
	AppWindowPrivate * priv;
	GtkActionGroup** common_action_groups;
	gint common_action_groups_length1;
	Dimensions dimensions;
	HdyHeaderBar* header;
	GtkButton* redo_btn;
	GtkButton* undo_btn;
	GSettings* window_settings;
};

struct _AppWindowClass {
	PageWindowClass parent_class;
	void (*on_fullscreen) (AppWindow* self);
	gchar* (*get_app_role) (AppWindow* self);
	void (*on_quit) (AppWindow* self);
	GtkActionGroup** (*create_common_action_groups) (AppWindow* self, gint* result_length1);
	void (*update_common_action_availability) (AppWindow* self, Page* old_page, Page* new_page);
	void (*update_common_actions) (AppWindow* self, Page* page, gint selected_count, gint count);
};

typedef enum  {
	DATABASE_ERROR_ERROR,
	DATABASE_ERROR_BACKING,
	DATABASE_ERROR_MEMORY,
	DATABASE_ERROR_ABORT,
	DATABASE_ERROR_LIMITS,
	DATABASE_ERROR_TYPESPEC
} DatabaseError;
#define DATABASE_ERROR database_error_quark ()

struct _BatchImportJob {
	GTypeInstance parent_instance;
	volatile int ref_count;
	BatchImportJobPrivate * priv;
};

struct _BatchImportJobClass {
	GTypeClass parent_class;
	void (*finalize) (BatchImportJob *self);
	gchar* (*get_dest_identifier) (BatchImportJob* self);
	gchar* (*get_source_identifier) (BatchImportJob* self);
	gboolean (*is_directory) (BatchImportJob* self);
	gchar* (*get_basename) (BatchImportJob* self);
	gchar* (*get_path) (BatchImportJob* self);
	DuplicatedFile* (*get_duplicated_file) (BatchImportJob* self);
	void (*set_associated) (BatchImportJob* self, BatchImportJob* associated);
	gboolean (*determine_file_size) (BatchImportJob* self, guint64* filesize, GFile** file_or_dir);
	gboolean (*prepare) (BatchImportJob* self, GFile** file_to_import, gboolean* copy_to_library, GError** error);
	gboolean (*complete) (BatchImportJob* self, MediaSource* source, BatchImportRoll* import_roll, GError** error);
	gint64 (*get_exposure_time_override) (BatchImportJob* self);
};

struct _FileImportJob {
	BatchImportJob parent_instance;
	FileImportJobPrivate * priv;
};

struct _FileImportJobClass {
	BatchImportJobClass parent_class;
};

struct _ImportID {
	gint64 id;
};

struct _BatchImportRoll {
	GTypeInstance parent_instance;
	volatile int ref_count;
	BatchImportRollPrivate * priv;
	ImportID import_id;
	ViewCollection* generated_events;
};

struct _BatchImportRollClass {
	GTypeClass parent_class;
	void (*finalize) (BatchImportRoll *self);
};

struct _BatchImportResult {
	GTypeInstance parent_instance;
	volatile int ref_count;
	BatchImportResultPrivate * priv;
	BatchImportJob* job;
	GFile* file;
	gchar* src_identifier;
	gchar* dest_identifier;
	ImportResult result;
	gchar* errmsg;
	DuplicatedFile* duplicate_of;
};

struct _BatchImportResultClass {
	GTypeClass parent_class;
	void (*finalize) (BatchImportResult *self);
};

struct _ImportManifest {
	GTypeInstance parent_instance;
	volatile int ref_count;
	ImportManifestPrivate * priv;
	GeeList* imported;
	GeeList* success;
	GeeList* camera_failed;
	GeeList* failed;
	GeeList* write_failed;
	GeeList* skipped_photos;
	GeeList* skipped_files;
	GeeList* aborted;
	GeeList* already_imported;
	GeeList* corrupt_files;
	GeeList* all;
};

struct _ImportManifestClass {
	GTypeClass parent_class;
	void (*finalize) (ImportManifest *self);
};

struct _BatchImport {
	GObject parent_instance;
	BatchImportPrivate * priv;
};

struct _BatchImportClass {
	GObjectClass parent_class;
};

struct _DuplicatedFile {
	GObject parent_instance;
	DuplicatedFilePrivate * priv;
};

struct _DuplicatedFileClass {
	GObjectClass parent_class;
};

struct _PhotoID {
	gint64 id;
};

struct _VideoID {
	gint64 id;
};

struct _Box {
	gint left;
	gint top;
	gint right;
	gint bottom;
};

struct _ViewManager {
	GTypeInstance parent_instance;
	volatile int ref_count;
	ViewManagerPrivate * priv;
};

struct _ViewManagerClass {
	GTypeClass parent_class;
	void (*finalize) (ViewManager *self);
	gboolean (*include_in_view) (ViewManager* self, DataSource* source);
	DataView* (*create_view) (ViewManager* self, DataSource* source);
};

struct _CollectionViewManager {
	ViewManager parent_instance;
	CollectionViewManagerPrivate * priv;
};

struct _CollectionViewManagerClass {
	ViewManagerClass parent_class;
};

struct _RGBAnalyticPixel {
	gfloat red;
	gfloat green;
	gfloat blue;
};

struct _HSVAnalyticPixel {
	gfloat hue;
	gfloat saturation;
	gfloat light_value;
};

struct _PixelTransformationBundle {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PixelTransformationBundlePrivate * priv;
};

struct _PixelTransformationBundleClass {
	GTypeClass parent_class;
	void (*finalize) (PixelTransformationBundle *self);
};

struct _PixelTransformation {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PixelTransformationPrivate * priv;
};

struct _PixelTransformationClass {
	GTypeClass parent_class;
	void (*finalize) (PixelTransformation *self);
	PixelFormat (*get_preferred_format) (PixelTransformation* self);
	CompositionMode (*get_composition_mode) (PixelTransformation* self);
	void (*compose_with) (PixelTransformation* self, PixelTransformation* other);
	gboolean (*is_identity) (PixelTransformation* self);
	void (*transform_pixel_hsv) (PixelTransformation* self, HSVAnalyticPixel* p, HSVAnalyticPixel* result);
	void (*transform_pixel_rgb) (PixelTransformation* self, RGBAnalyticPixel* p, RGBAnalyticPixel* result);
	gchar* (*to_string) (PixelTransformation* self);
	PixelTransformation* (*copy) (PixelTransformation* self);
};

struct _RGBTransformation {
	PixelTransformation parent_instance;
	RGBTransformationPrivate * priv;
	gfloat* matrix_entries;
	gint matrix_entries_length1;
	gboolean identity;
};

struct _RGBTransformationClass {
	PixelTransformationClass parent_class;
};

struct _HSVTransformation {
	PixelTransformation parent_instance;
	HSVTransformationPrivate * priv;
};

struct _HSVTransformationClass {
	PixelTransformationClass parent_class;
};

struct _TintTransformation {
	RGBTransformation parent_instance;
	TintTransformationPrivate * priv;
};

struct _TintTransformationClass {
	RGBTransformationClass parent_class;
};

struct _TemperatureTransformation {
	RGBTransformation parent_instance;
	TemperatureTransformationPrivate * priv;
};

struct _TemperatureTransformationClass {
	RGBTransformationClass parent_class;
};

struct _SaturationTransformation {
	RGBTransformation parent_instance;
	SaturationTransformationPrivate * priv;
};

struct _SaturationTransformationClass {
	RGBTransformationClass parent_class;
};

struct _ExposureTransformation {
	RGBTransformation parent_instance;
	ExposureTransformationPrivate * priv;
};

struct _ExposureTransformationClass {
	RGBTransformationClass parent_class;
};

struct _PixelTransformer {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PixelTransformerPrivate * priv;
};

struct _PixelTransformerClass {
	GTypeClass parent_class;
	void (*finalize) (PixelTransformer *self);
};

struct _IntensityHistogram {
	GTypeInstance parent_instance;
	volatile int ref_count;
	IntensityHistogramPrivate * priv;
};

struct _IntensityHistogramClass {
	GTypeClass parent_class;
	void (*finalize) (IntensityHistogram *self);
};

struct _ExpansionTransformation {
	HSVTransformation parent_instance;
	ExpansionTransformationPrivate * priv;
};

struct _ExpansionTransformationClass {
	HSVTransformationClass parent_class;
};

struct _ShadowDetailTransformation {
	HSVTransformation parent_instance;
	ShadowDetailTransformationPrivate * priv;
};

struct _ShadowDetailTransformationClass {
	HSVTransformationClass parent_class;
};

struct _HermiteGammaApproximationFunction {
	GTypeInstance parent_instance;
	volatile int ref_count;
	HermiteGammaApproximationFunctionPrivate * priv;
};

struct _HermiteGammaApproximationFunctionClass {
	GTypeClass parent_class;
	void (*finalize) (HermiteGammaApproximationFunction *self);
};

struct _HighlightDetailTransformation {
	HSVTransformation parent_instance;
	HighlightDetailTransformationPrivate * priv;
};

struct _HighlightDetailTransformationClass {
	HSVTransformationClass parent_class;
};

struct _Command {
	GObject parent_instance;
	CommandPrivate * priv;
};

struct _CommandClass {
	GObjectClass parent_class;
	void (*prepare) (Command* self);
	void (*execute) (Command* self);
	void (*undo) (Command* self);
	void (*redo) (Command* self);
	gboolean (*compress) (Command* self, Command* command);
};

struct _CommandManager {
	GTypeInstance parent_instance;
	volatile int ref_count;
	CommandManagerPrivate * priv;
};

struct _CommandManagerClass {
	GTypeClass parent_class;
	void (*finalize) (CommandManager *self);
};

struct _PageCommand {
	Command parent_instance;
	PageCommandPrivate * priv;
};

struct _PageCommandClass {
	CommandClass parent_class;
};

struct _SingleDataSourceCommand {
	PageCommand parent_instance;
	SingleDataSourceCommandPrivate * priv;
	DataSource* source;
};

struct _SingleDataSourceCommandClass {
	PageCommandClass parent_class;
};

struct _SimpleProxyableCommand {
	PageCommand parent_instance;
	SimpleProxyableCommandPrivate * priv;
};

struct _SimpleProxyableCommandClass {
	PageCommandClass parent_class;
	void (*execute_on_source) (SimpleProxyableCommand* self, DataSource* source);
	void (*undo_on_source) (SimpleProxyableCommand* self, DataSource* source);
};

struct _ProxyableIface {
	GTypeInterface parent_iface;
	SourceProxy* (*get_proxy) (Proxyable* self);
};

struct _SinglePhotoTransformationCommand {
	SingleDataSourceCommand parent_instance;
	SinglePhotoTransformationCommandPrivate * priv;
};

struct _SinglePhotoTransformationCommandClass {
	SingleDataSourceCommandClass parent_class;
};

struct _GenericPhotoTransformationCommand {
	SingleDataSourceCommand parent_instance;
	GenericPhotoTransformationCommandPrivate * priv;
};

struct _GenericPhotoTransformationCommandClass {
	SingleDataSourceCommandClass parent_class;
	void (*execute_on_photo) (GenericPhotoTransformationCommand* self, Photo* photo);
	gboolean (*can_compress) (GenericPhotoTransformationCommand* self, Command* command);
};

struct _MultipleDataSourceCommand {
	PageCommand parent_instance;
	MultipleDataSourceCommandPrivate * priv;
	GeeArrayList* source_list;
};

struct _MultipleDataSourceCommandClass {
	PageCommandClass parent_class;
	void (*execute_on_source) (MultipleDataSourceCommand* self, DataSource* source);
	void (*undo_on_source) (MultipleDataSourceCommand* self, DataSource* source);
};

struct _MultipleDataSourceAtOnceCommand {
	PageCommand parent_instance;
	MultipleDataSourceAtOnceCommandPrivate * priv;
};

struct _MultipleDataSourceAtOnceCommandClass {
	PageCommandClass parent_class;
	void (*execute_on_all) (MultipleDataSourceAtOnceCommand* self, GeeCollection* sources);
	void (*undo_on_all) (MultipleDataSourceAtOnceCommand* self, GeeCollection* sources);
};

struct _MultiplePhotoTransformationCommand {
	MultipleDataSourceCommand parent_instance;
	MultiplePhotoTransformationCommandPrivate * priv;
};

struct _MultiplePhotoTransformationCommandClass {
	MultipleDataSourceCommandClass parent_class;
};

struct _RotateSingleCommand {
	SingleDataSourceCommand parent_instance;
	RotateSingleCommandPrivate * priv;
};

struct _RotateSingleCommandClass {
	SingleDataSourceCommandClass parent_class;
};

struct _RotateMultipleCommand {
	MultipleDataSourceCommand parent_instance;
	RotateMultipleCommandPrivate * priv;
};

struct _RotateMultipleCommandClass {
	MultipleDataSourceCommandClass parent_class;
};

struct _EditTitleCommand {
	SingleDataSourceCommand parent_instance;
	EditTitleCommandPrivate * priv;
};

struct _EditTitleCommandClass {
	SingleDataSourceCommandClass parent_class;
};

struct _EditCommentCommand {
	SingleDataSourceCommand parent_instance;
	EditCommentCommandPrivate * priv;
};

struct _EditCommentCommandClass {
	SingleDataSourceCommandClass parent_class;
};

struct _EditMultipleTitlesCommand {
	MultipleDataSourceAtOnceCommand parent_instance;
	EditMultipleTitlesCommandPrivate * priv;
	gchar* new_title;
	GeeHashMap* old_titles;
};

struct _EditMultipleTitlesCommandClass {
	MultipleDataSourceAtOnceCommandClass parent_class;
};

struct _EditMultipleCommentsCommand {
	MultipleDataSourceAtOnceCommand parent_instance;
	EditMultipleCommentsCommandPrivate * priv;
	gchar* new_comment;
	GeeHashMap* old_comments;
};

struct _EditMultipleCommentsCommandClass {
	MultipleDataSourceAtOnceCommandClass parent_class;
};

struct _RenameEventCommand {
	SimpleProxyableCommand parent_instance;
	RenameEventCommandPrivate * priv;
};

struct _RenameEventCommandClass {
	SimpleProxyableCommandClass parent_class;
};

struct _EditEventCommentCommand {
	SimpleProxyableCommand parent_instance;
	EditEventCommentCommandPrivate * priv;
};

struct _EditEventCommentCommandClass {
	SimpleProxyableCommandClass parent_class;
};

struct _SetKeyPhotoCommand {
	SingleDataSourceCommand parent_instance;
	SetKeyPhotoCommandPrivate * priv;
};

struct _SetKeyPhotoCommandClass {
	SingleDataSourceCommandClass parent_class;
};

struct _RevertSingleCommand {
	GenericPhotoTransformationCommand parent_instance;
	RevertSingleCommandPrivate * priv;
};

struct _RevertSingleCommandClass {
	GenericPhotoTransformationCommandClass parent_class;
};

struct _RevertMultipleCommand {
	MultiplePhotoTransformationCommand parent_instance;
	RevertMultipleCommandPrivate * priv;
};

struct _RevertMultipleCommandClass {
	MultiplePhotoTransformationCommandClass parent_class;
};

struct _EnhanceSingleCommand {
	GenericPhotoTransformationCommand parent_instance;
	EnhanceSingleCommandPrivate * priv;
};

struct _EnhanceSingleCommandClass {
	GenericPhotoTransformationCommandClass parent_class;
};

struct _EnhanceMultipleCommand {
	MultiplePhotoTransformationCommand parent_instance;
	EnhanceMultipleCommandPrivate * priv;
};

struct _EnhanceMultipleCommandClass {
	MultiplePhotoTransformationCommandClass parent_class;
};

struct _UnEnhanceSingleCommand {
	GenericPhotoTransformationCommand parent_instance;
	UnEnhanceSingleCommandPrivate * priv;
};

struct _UnEnhanceSingleCommandClass {
	GenericPhotoTransformationCommandClass parent_class;
};

struct _UnEnhanceMultipleCommand {
	MultiplePhotoTransformationCommand parent_instance;
	UnEnhanceMultipleCommandPrivate * priv;
};

struct _UnEnhanceMultipleCommandClass {
	MultiplePhotoTransformationCommandClass parent_class;
};

struct _StraightenCommand {
	GenericPhotoTransformationCommand parent_instance;
	StraightenCommandPrivate * priv;
};

struct _StraightenCommandClass {
	GenericPhotoTransformationCommandClass parent_class;
};

struct _CropCommand {
	GenericPhotoTransformationCommand parent_instance;
	CropCommandPrivate * priv;
};

struct _CropCommandClass {
	GenericPhotoTransformationCommandClass parent_class;
};

struct _AdjustColorsSingleCommand {
	GenericPhotoTransformationCommand parent_instance;
	AdjustColorsSingleCommandPrivate * priv;
};

struct _AdjustColorsSingleCommandClass {
	GenericPhotoTransformationCommandClass parent_class;
};

struct _AdjustColorsMultipleCommand {
	MultiplePhotoTransformationCommand parent_instance;
	AdjustColorsMultipleCommandPrivate * priv;
};

struct _AdjustColorsMultipleCommandClass {
	MultiplePhotoTransformationCommandClass parent_class;
};

struct _RedeyeCommand {
	GenericPhotoTransformationCommand parent_instance;
	RedeyeCommandPrivate * priv;
};

struct _RedeyeCommandClass {
	GenericPhotoTransformationCommandClass parent_class;
};

struct _EditingToolsRedeyeInstance {
	GdkPoint center;
	gint radius;
};

struct _MovePhotosCommand {
	Command parent_instance;
	MovePhotosCommandPrivate * priv;
	MovePhotosCommandRealMovePhotosCommand* real_command;
};

struct _MovePhotosCommandClass {
	CommandClass parent_class;
};

struct _MovePhotosCommandRealMovePhotosCommand {
	MultipleDataSourceCommand parent_instance;
	MovePhotosCommandRealMovePhotosCommandPrivate * priv;
};

struct _MovePhotosCommandRealMovePhotosCommandClass {
	MultipleDataSourceCommandClass parent_class;
};

struct _NewEventCommand {
	MovePhotosCommand parent_instance;
	NewEventCommandPrivate * priv;
};

struct _NewEventCommandClass {
	MovePhotosCommandClass parent_class;
};

struct _SetEventCommand {
	MovePhotosCommand parent_instance;
	SetEventCommandPrivate * priv;
};

struct _SetEventCommandClass {
	MovePhotosCommandClass parent_class;
};

struct _MergeEventsCommand {
	MovePhotosCommand parent_instance;
	MergeEventsCommandPrivate * priv;
};

struct _MergeEventsCommandClass {
	MovePhotosCommandClass parent_class;
};

struct _DuplicateMultiplePhotosCommand {
	MultipleDataSourceCommand parent_instance;
	DuplicateMultiplePhotosCommandPrivate * priv;
};

struct _DuplicateMultiplePhotosCommandClass {
	MultipleDataSourceCommandClass parent_class;
};

struct _SetRawDeveloperCommand {
	MultipleDataSourceCommand parent_instance;
	SetRawDeveloperCommandPrivate * priv;
};

struct _SetRawDeveloperCommandClass {
	MultipleDataSourceCommandClass parent_class;
};

struct _AdjustDateTimePhotoCommand {
	SingleDataSourceCommand parent_instance;
	AdjustDateTimePhotoCommandPrivate * priv;
};

struct _AdjustDateTimePhotoCommandClass {
	SingleDataSourceCommandClass parent_class;
};

struct _DateableIface {
	GTypeInterface parent_iface;
	void (*set_exposure_time) (Dateable* self, gint64 target_time);
	gint64 (*get_exposure_time) (Dateable* self);
};

struct _AdjustDateTimePhotosCommand {
	MultipleDataSourceCommand parent_instance;
	AdjustDateTimePhotosCommandPrivate * priv;
};

struct _AdjustDateTimePhotosCommandClass {
	MultipleDataSourceCommandClass parent_class;
};

struct _AddTagsCommand {
	PageCommand parent_instance;
	AddTagsCommandPrivate * priv;
};

struct _AddTagsCommandClass {
	PageCommandClass parent_class;
};

struct _RenameTagCommand {
	SimpleProxyableCommand parent_instance;
	RenameTagCommandPrivate * priv;
};

struct _RenameTagCommandClass {
	SimpleProxyableCommandClass parent_class;
};

struct _DeleteTagCommand {
	SimpleProxyableCommand parent_instance;
	DeleteTagCommandPrivate * priv;
};

struct _DeleteTagCommandClass {
	SimpleProxyableCommandClass parent_class;
};

struct _NewChildTagCommand {
	SimpleProxyableCommand parent_instance;
	NewChildTagCommandPrivate * priv;
};

struct _NewChildTagCommandClass {
	SimpleProxyableCommandClass parent_class;
};

struct _NewRootTagCommand {
	PageCommand parent_instance;
	NewRootTagCommandPrivate * priv;
};

struct _NewRootTagCommandClass {
	PageCommandClass parent_class;
};

struct _ReparentTagCommand {
	PageCommand parent_instance;
	ReparentTagCommandPrivate * priv;
};

struct _ReparentTagCommandClass {
	PageCommandClass parent_class;
};

struct _ModifyTagsCommand {
	SingleDataSourceCommand parent_instance;
	ModifyTagsCommandPrivate * priv;
};

struct _ModifyTagsCommandClass {
	SingleDataSourceCommandClass parent_class;
};

struct _TagUntagPhotosCommand {
	SimpleProxyableCommand parent_instance;
	TagUntagPhotosCommandPrivate * priv;
};

struct _TagUntagPhotosCommandClass {
	SimpleProxyableCommandClass parent_class;
};

struct _RenameSavedSearchCommand {
	SingleDataSourceCommand parent_instance;
	RenameSavedSearchCommandPrivate * priv;
};

struct _RenameSavedSearchCommandClass {
	SingleDataSourceCommandClass parent_class;
};

struct _DeleteSavedSearchCommand {
	SingleDataSourceCommand parent_instance;
	DeleteSavedSearchCommandPrivate * priv;
};

struct _DeleteSavedSearchCommandClass {
	SingleDataSourceCommandClass parent_class;
};

struct _TrashUntrashPhotosCommand {
	PageCommand parent_instance;
	TrashUntrashPhotosCommandPrivate * priv;
};

struct _TrashUntrashPhotosCommandClass {
	PageCommandClass parent_class;
};

struct _FlagUnflagCommand {
	MultipleDataSourceAtOnceCommand parent_instance;
	FlagUnflagCommandPrivate * priv;
};

struct _FlagUnflagCommandClass {
	MultipleDataSourceAtOnceCommandClass parent_class;
};

struct _RGBHistogramManipulator {
	GtkDrawingArea parent_instance;
	RGBHistogramManipulatorPrivate * priv;
};

struct _RGBHistogramManipulatorClass {
	GtkDrawingAreaClass parent_class;
};

struct _Scaling {
	ScaleConstraint constraint;
	gint scale;
	Dimensions viewport;
	gboolean scale_up;
};

struct _ZoomState {
	Dimensions content_dimensions;
	Dimensions viewport_dimensions;
	gdouble zoom_factor;
	gdouble interpolation_factor;
	gdouble min_factor;
	gdouble max_factor;
	GdkPoint viewport_center;
};

struct _DirectoryMonitor {
	GObject parent_instance;
	DirectoryMonitorPrivate * priv;
};

struct _DirectoryMonitorClass {
	GObjectClass parent_class;
	void (*notify_root_deleted) (DirectoryMonitor* self, GFile* root);
	void (*notify_root_moved) (DirectoryMonitor* self, GFile* old_root, GFile* new_root, GFileInfo* new_root_info);
	void (*notify_discovery_started) (DirectoryMonitor* self);
	void (*internal_notify_file_discovered) (DirectoryMonitor* self, GFile* file, GFileInfo* info);
	void (*notify_file_discovered) (DirectoryMonitor* self, GFile* file, GFileInfo* info);
	void (*internal_notify_directory_discovered) (DirectoryMonitor* self, GFile* dir, GFileInfo* info);
	void (*notify_directory_discovered) (DirectoryMonitor* self, GFile* dir, GFileInfo* info);
	void (*notify_discovery_failed) (DirectoryMonitor* self, const gchar* reason);
	void (*notify_discovery_completed) (DirectoryMonitor* self);
	void (*notify_file_created) (DirectoryMonitor* self, GFile* file, GFileInfo* info);
	void (*notify_file_moved) (DirectoryMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info);
	void (*notify_file_altered) (DirectoryMonitor* self, GFile* file);
	void (*notify_file_alteration_completed) (DirectoryMonitor* self, GFile* file, GFileInfo* info);
	void (*notify_file_attributes_altered) (DirectoryMonitor* self, GFile* file);
	void (*notify_file_deleted) (DirectoryMonitor* self, GFile* file);
	void (*notify_directory_created) (DirectoryMonitor* self, GFile* dir, GFileInfo* info);
	void (*notify_directory_moved) (DirectoryMonitor* self, GFile* old_dir, GFile* new_dir, GFileInfo* new_dir_info);
	void (*notify_directory_altered) (DirectoryMonitor* self, GFile* dir);
	void (*notify_directory_alteration_completed) (DirectoryMonitor* self, GFile* dir, GFileInfo* info);
	void (*notify_directory_attributes_altered) (DirectoryMonitor* self, GFile* dir);
	void (*notify_directory_deleted) (DirectoryMonitor* self, GFile* dir);
	void (*notify_closed) (DirectoryMonitor* self);
	void (*close) (DirectoryMonitor* self);
	void (*root_moved) (DirectoryMonitor* self, GFile* old_root, GFile* new_root, GFileInfo* new_root_info);
	void (*root_deleted) (DirectoryMonitor* self, GFile* root);
	void (*discovery_started) (DirectoryMonitor* self);
	void (*file_discovered) (DirectoryMonitor* self, GFile* file, GFileInfo* info);
	void (*directory_discovered) (DirectoryMonitor* self, GFile* file, GFileInfo* info);
	void (*discovery_failed) (DirectoryMonitor* self, const gchar* reason);
	void (*discovery_completed) (DirectoryMonitor* self);
	void (*file_created) (DirectoryMonitor* self, GFile* file, GFileInfo* info);
	void (*file_moved) (DirectoryMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info);
	void (*file_altered) (DirectoryMonitor* self, GFile* file);
	void (*file_alteration_completed) (DirectoryMonitor* self, GFile* file, GFileInfo* info);
	void (*file_attributes_altered) (DirectoryMonitor* self, GFile* file);
	void (*file_deleted) (DirectoryMonitor* self, GFile* file);
	void (*directory_created) (DirectoryMonitor* self, GFile* dir, GFileInfo* info);
	void (*directory_moved) (DirectoryMonitor* self, GFile* old_dir, GFile* new_dir, GFileInfo* new_dir_info);
	void (*directory_altered) (DirectoryMonitor* self, GFile* dir);
	void (*directory_alteration_completed) (DirectoryMonitor* self, GFile* dir, GFileInfo* info);
	void (*directory_attributes_altered) (DirectoryMonitor* self, GFile* dir);
	void (*directory_deleted) (DirectoryMonitor* self, GFile* dir);
	void (*closed) (DirectoryMonitor* self);
};

struct _MarkerIface {
	GTypeInterface parent_iface;
	void (*mark) (Marker* self, DataObject* object);
	void (*unmark) (Marker* self, DataObject* object);
	gboolean (*toggle) (Marker* self, DataObject* object);
	void (*mark_many) (Marker* self, GeeCollection* list);
	void (*unmark_many) (Marker* self, GeeCollection* list);
	void (*mark_all) (Marker* self);
	gint (*get_count) (Marker* self);
	GeeCollection* (*get_all) (Marker* self);
};

struct _DataCollection {
	GTypeInstance parent_instance;
	volatile int ref_count;
	DataCollectionPrivate * priv;
};

struct _DataCollectionClass {
	GTypeClass parent_class;
	void (*finalize) (DataCollection *self);
	gchar* (*to_string) (DataCollection* self);
	void (*notify_items_added) (DataCollection* self, GeeIterable* added);
	void (*notify_items_removed) (DataCollection* self, GeeIterable* removed);
	void (*notify_contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed);
	void (*notify_items_altered) (DataCollection* self, GeeMap* items);
	void (*notify_ordering_changed) (DataCollection* self);
	void (*notify_property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val);
	void (*notify_property_cleared) (DataCollection* self, const gchar* name);
	gboolean (*valid_type) (DataCollection* self, DataObject* object);
	void (*set_comparator) (DataCollection* self, Comparator comparator, gpointer comparator_target, ComparatorPredicate predicate, gpointer predicate_target);
	void (*reset_comparator) (DataCollection* self);
	GeeCollection* (*get_all) (DataCollection* self);
	gint (*get_count) (DataCollection* self);
	DataObject* (*get_at) (DataCollection* self, gint index);
	gint (*index_of) (DataCollection* self, DataObject* object);
	gboolean (*contains) (DataCollection* self, DataObject* object);
	gboolean (*add) (DataCollection* self, DataObject* object);
	GeeCollection* (*add_many) (DataCollection* self, GeeCollection* objects, ProgressMonitor monitor, gpointer monitor_target);
	void (*remove_marked) (DataCollection* self, Marker* m);
	void (*clear) (DataCollection* self);
	void (*close) (DataCollection* self);
	void (*notify_frozen) (DataCollection* self);
	void (*notify_thawed) (DataCollection* self);
	void (*items_added) (DataCollection* self, GeeIterable* added);
	void (*items_removed) (DataCollection* self, GeeIterable* removed);
	void (*contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed);
	void (*items_altered) (DataCollection* self, GeeMap* items);
	void (*ordering_changed) (DataCollection* self);
	void (*property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val);
	void (*property_cleared) (DataCollection* self, const gchar* name);
	void (*frozen) (DataCollection* self);
	void (*thawed) (DataCollection* self);
};

struct _SourceCollection {
	DataCollection parent_instance;
	SourceCollectionPrivate * priv;
};

struct _SourceCollectionClass {
	DataCollectionClass parent_class;
	gboolean (*holds_type_of_source) (SourceCollection* self, DataSource* source);
	void (*notify_items_unlinking) (SourceCollection* self, GeeCollection* unlinking);
	void (*notify_items_relinked) (SourceCollection* self, GeeCollection* relinked);
	void (*notify_item_destroyed) (SourceCollection* self, DataSource* source);
	void (*notify_items_destroyed) (SourceCollection* self, GeeCollection* destroyed);
	void (*notify_unlinked_destroyed) (SourceCollection* self, DataSource* unlinked);
	void (*notify_backlink_removed) (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources);
	gboolean (*has_backlink) (SourceCollection* self, SourceBacklink* backlink);
	void (*remove_backlink) (SourceCollection* self, SourceBacklink* backlink);
	void (*items_unlinking) (SourceCollection* self, GeeCollection* unlinking);
	void (*items_relinked) (SourceCollection* self, GeeCollection* relinked);
	void (*item_destroyed) (SourceCollection* self, DataSource* source);
	void (*items_destroyed) (SourceCollection* self, GeeCollection* destroyed);
	void (*unlinked_destroyed) (SourceCollection* self, DataSource* source);
	void (*backlink_removed) (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources);
};

struct _DatabaseSourceCollection {
	SourceCollection parent_instance;
	DatabaseSourceCollectionPrivate * priv;
};

struct _DatabaseSourceCollectionClass {
	SourceCollectionClass parent_class;
};

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);
};

struct _ContainerSourceCollection {
	DatabaseSourceCollection parent_instance;
	ContainerSourceCollectionPrivate * priv;
};

struct _ContainerSourceCollectionClass {
	DatabaseSourceCollectionClass parent_class;
	void (*notify_container_contents_added) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked);
	void (*notify_container_contents_removed) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* removed, gboolean unlinked);
	void (*notify_container_contents_altered) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked, GeeCollection* removed, gboolean unlinked);
	void (*notify_backlink_to_container_removed) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* sources);
	GeeCollection* (*get_containers_holding_source) (ContainerSourceCollection* self, DataSource* source);
	ContainerSource* (*convert_backlink_to_container) (ContainerSourceCollection* self, SourceBacklink* backlink);
	void (*container_contents_added) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked);
	void (*container_contents_removed) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* removed, gboolean unlinked);
	void (*container_contents_altered) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked, GeeCollection* removed, gboolean unlinked);
	void (*backlink_to_container_removed) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* sources);
};

struct _EventSourceCollection {
	ContainerSourceCollection parent_instance;
	EventSourceCollectionPrivate * priv;
};

struct _EventSourceCollectionClass {
	ContainerSourceCollectionClass parent_class;
};

struct _EventID {
	gint64 id;
};

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);
};

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);
};

struct _EventSource {
	ThumbnailSource parent_instance;
	EventSourcePrivate * priv;
};

struct _EventSourceClass {
	ThumbnailSourceClass parent_class;
	gint64 (*get_start_time) (EventSource* self);
	gint64 (*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 _IndexableIface {
	GTypeInterface parent_iface;
	const gchar* (*get_indexable_keywords) (Indexable* self);
};

struct _Event {
	EventSource parent_instance;
	EventPrivate * priv;
};

struct _EventClass {
	EventSourceClass parent_class;
};

struct _ExportFormatParameters {
	ExportFormatMode mode;
	PhotoFileFormat specified_format;
	JpegQuality quality;
	gboolean export_metadata;
};

struct _Exporter {
	GObject parent_instance;
	ExporterPrivate * priv;
};

struct _ExporterClass {
	GObjectClass parent_class;
};

struct _ExporterUI {
	GTypeInstance parent_instance;
	volatile int ref_count;
	ExporterUIPrivate * priv;
};

struct _ExporterUIClass {
	GTypeClass parent_class;
	void (*finalize) (ExporterUI *self);
};

struct _FullscreenWindow {
	PageWindow parent_instance;
	FullscreenWindowPrivate * priv;
};

struct _FullscreenWindowClass {
	PageWindowClass parent_class;
};

struct _LibraryMonitorPool {
	GTypeInstance parent_instance;
	volatile int ref_count;
	LibraryMonitorPoolPrivate * priv;
};

struct _LibraryMonitorPoolClass {
	GTypeClass parent_class;
	void (*finalize) (LibraryMonitorPool *self);
};

struct _LibraryMonitor {
	DirectoryMonitor parent_instance;
	LibraryMonitorPrivate * priv;
};

struct _LibraryMonitorClass {
	DirectoryMonitorClass parent_class;
};

struct _BackingFileState {
	GTypeInstance parent_instance;
	volatile int ref_count;
	BackingFileStatePrivate * priv;
	gchar* filepath;
	gint64 filesize;
	gint64 modification_time;
	gchar* md5;
};

struct _BackingFileStateClass {
	GTypeClass parent_class;
	void (*finalize) (BackingFileState *self);
};

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);
	gint64 (*get_timestamp) (MediaSource* self);
	BackingFileState** (*get_backing_files_state) (MediaSource* self, gint* 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);
	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);
	gint64 (*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 _SourceHoldingTank {
	GTypeInstance parent_instance;
	volatile int ref_count;
	SourceHoldingTankPrivate * priv;
};

struct _SourceHoldingTankClass {
	GTypeClass parent_class;
	void (*finalize) (SourceHoldingTank *self);
	void (*notify_contents_altered) (SourceHoldingTank* self, GeeCollection* added, GeeCollection* removed);
	void (*contents_altered) (SourceHoldingTank* self, GeeCollection* added, GeeCollection* removed);
};

struct _DatabaseSourceHoldingTank {
	SourceHoldingTank parent_instance;
	DatabaseSourceHoldingTankPrivate * priv;
};

struct _DatabaseSourceHoldingTankClass {
	SourceHoldingTankClass parent_class;
};

struct _MediaSourceHoldingTank {
	DatabaseSourceHoldingTank parent_instance;
	MediaSourceHoldingTankPrivate * priv;
};

struct _MediaSourceHoldingTankClass {
	DatabaseSourceHoldingTankClass parent_class;
};

struct _TransactionController {
	GTypeInstance parent_instance;
	volatile int ref_count;
	TransactionControllerPrivate * priv;
};

struct _TransactionControllerClass {
	GTypeClass parent_class;
	void (*finalize) (TransactionController *self);
	void (*begin_impl) (TransactionController* self, GError** error);
	void (*commit_impl) (TransactionController* self, GError** error);
};

struct _MediaSourceTransactionController {
	TransactionController parent_instance;
	MediaSourceTransactionControllerPrivate * priv;
};

struct _MediaSourceTransactionControllerClass {
	TransactionControllerClass parent_class;
};

struct _MediaSourceCollection {
	DatabaseSourceCollection parent_instance;
	MediaSourceCollectionPrivate * priv;
};

struct _MediaSourceCollectionClass {
	DatabaseSourceCollectionClass parent_class;
	MediaSourceHoldingTank* (*create_trashcan) (MediaSourceCollection* self);
	MediaSourceHoldingTank* (*create_offline_bin) (MediaSourceCollection* self);
	MediaMonitor* (*create_media_monitor) (MediaSourceCollection* self, Workers* workers, GCancellable* cancellable);
	gchar* (*get_typename) (MediaSourceCollection* self);
	gboolean (*is_file_recognized) (MediaSourceCollection* self, GFile* file);
	MediaSource* (*fetch_by_numeric_id) (MediaSourceCollection* self, gint64 numeric_id);
	void (*notify_import_roll_altered) (MediaSourceCollection* self);
	void (*notify_flagged_contents_altered) (MediaSourceCollection* self);
	void (*notify_media_import_starting) (MediaSourceCollection* self, GeeCollection* media);
	void (*notify_media_import_completed) (MediaSourceCollection* self, GeeCollection* media);
	MediaSource* (*fetch_by_source_id) (MediaSourceCollection* self, const gchar* source_id);
	GeeCollection* (*get_event_source_ids) (MediaSourceCollection* self, EventID* event_id);
	void (*import_many) (MediaSourceCollection* self, GeeCollection* media);
	void (*postprocess_imported_media) (MediaSourceCollection* self, GeeCollection* media);
	void (*media_import_starting) (MediaSourceCollection* self, GeeCollection* media);
	void (*media_import_completed) (MediaSourceCollection* self, GeeCollection* media);
	void (*master_file_replaced) (MediaSourceCollection* self, MediaSource* media, GFile* old_file, GFile* new_file);
	void (*trashcan_contents_altered) (MediaSourceCollection* self, GeeCollection* added, GeeCollection* removed);
	void (*import_roll_altered) (MediaSourceCollection* self);
	void (*offline_contents_altered) (MediaSourceCollection* self, GeeCollection* added, GeeCollection* removed);
	void (*flagged_contents_altered) (MediaSourceCollection* self);
	TransactionController* (*get_transaction_controller) (MediaSourceCollection* self);
};

struct _MediaCollectionRegistry {
	GTypeInstance parent_instance;
	volatile int ref_count;
	MediaCollectionRegistryPrivate * priv;
};

struct _MediaCollectionRegistryClass {
	GTypeClass parent_class;
	void (*finalize) (MediaCollectionRegistry *self);
};

struct _FlaggableIface {
	GTypeInterface parent_iface;
	gboolean (*is_flagged) (Flaggable* self);
	void (*mark_flagged) (Flaggable* self);
	void (*mark_unflagged) (Flaggable* self);
};

struct _MonitorableIface {
	GTypeInterface parent_iface;
	gboolean (*is_offline) (Monitorable* self);
	void (*mark_online) (Monitorable* self);
	void (*mark_offline) (Monitorable* self);
	void (*set_master_file) (Monitorable* self, GFile* file);
	void (*set_master_timestamp) (Monitorable* self, GFileInfo* info);
};

struct _MediaMetadata {
	GTypeInstance parent_instance;
	volatile int ref_count;
	MediaMetadataPrivate * priv;
};

struct _MediaMetadataClass {
	GTypeClass parent_class;
	void (*finalize) (MediaMetadata *self);
	void (*read_from_file) (MediaMetadata* self, GFile* file, GError** error);
	MetadataDateTime* (*get_creation_date_time) (MediaMetadata* self);
	gchar* (*get_title) (MediaMetadata* self);
	gchar* (*get_comment) (MediaMetadata* self);
};

struct _MetadataRational {
	gint numerator;
	gint denominator;
};

typedef enum  {
	METADATA_DATE_TIME_ERROR_INVALID_FORMAT,
	METADATA_DATE_TIME_ERROR_UNSUPPORTED_FORMAT
} MetadataDateTimeError;
#define METADATA_DATE_TIME_ERROR metadata_date_time_error_quark ()

struct _MetadataDateTime {
	GTypeInstance parent_instance;
	volatile int ref_count;
	MetadataDateTimePrivate * priv;
};

struct _MetadataDateTimeClass {
	GTypeClass parent_class;
	void (*finalize) (MetadataDateTime *self);
};

struct _MonitorableUpdates {
	GTypeInstance parent_instance;
	volatile int ref_count;
	MonitorableUpdatesPrivate * priv;
	Monitorable* monitorable;
};

struct _MonitorableUpdatesClass {
	GTypeClass parent_class;
	void (*finalize) (MonitorableUpdates *self);
	gboolean (*is_in_alteration) (MonitorableUpdates* self);
	void (*set_master_file) (MonitorableUpdates* self, GFile* file);
	void (*set_master_file_info_altered) (MonitorableUpdates* self, gboolean altered);
	void (*set_master_file_info) (MonitorableUpdates* self, GFileInfo* info);
	void (*set_master_in_alteration) (MonitorableUpdates* self, gboolean in_alteration);
	void (*set_master_alterations_complete) (MonitorableUpdates* self, GFileInfo* info);
	void (*mark_offline) (MonitorableUpdates* self);
	void (*mark_online) (MonitorableUpdates* self);
	void (*reset_online_offline) (MonitorableUpdates* self);
	gboolean (*is_all_updated) (MonitorableUpdates* self);
};

struct _MediaMonitor {
	GObject parent_instance;
	MediaMonitorPrivate * priv;
};

struct _MediaMonitorClass {
	GObjectClass parent_class;
	MediaSourceCollection* (*get_media_source_collection) (MediaMonitor* self);
	void (*close) (MediaMonitor* self);
	gchar* (*to_string) (MediaMonitor* self);
	MonitorableUpdates* (*create_updates) (MediaMonitor* self, Monitorable* monitorable);
	void (*on_media_source_destroyed) (MediaMonitor* self, DataSource* source);
	void (*notify_discovery_started) (MediaMonitor* self);
	MediaMonitorDiscoveredFile (*notify_file_discovered) (MediaMonitor* self, GFile* file, GFileInfo* info, Monitorable** monitorable);
	GeeCollection* (*candidates_for_unknown_file) (MediaMonitor* self, GFile* file, GFileInfo* info, MediaMonitorDiscoveredFile* _result_);
	GFile** (*get_auxilliary_backing_files) (MediaMonitor* self, Monitorable* monitorable, gint* result_length1);
	void (*update_backing_file_info) (MediaMonitor* self, Monitorable* monitorable, GFile* file, GFileInfo* info);
	void (*notify_discovery_completing) (MediaMonitor* self);
	gboolean (*is_file_represented) (MediaMonitor* self, GFile* file);
	gboolean (*notify_file_created) (MediaMonitor* self, GFile* file, GFileInfo* info);
	gboolean (*notify_file_moved) (MediaMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info);
	gboolean (*notify_file_altered) (MediaMonitor* self, GFile* file);
	gboolean (*notify_file_attributes_altered) (MediaMonitor* self, GFile* file);
	gboolean (*notify_file_alteration_completed) (MediaMonitor* self, GFile* file, GFileInfo* info);
	gboolean (*notify_file_deleted) (MediaMonitor* self, GFile* file);
	void (*process_updates) (MediaMonitor* self, GeeCollection* all_updates, TransactionController* controller, gint* op_count, GError** error);
};

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;
};

struct _MetadataWriter {
	GObject parent_instance;
	MetadataWriterPrivate * priv;
};

struct _MetadataWriterClass {
	GObjectClass parent_class;
};

struct _PhotoImportParams {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PhotoImportParamsPrivate * priv;
	GFile* file;
	GFile* final_associated_file;
	ImportID import_id;
	PhotoFileSnifferOptions sniffer_options;
	gchar* exif_md5;
	gchar* thumbnail_md5;
	gchar* full_md5;
	Thumbnails* thumbnails;
	PhotoRow* row;
	GeeCollection* keywords;
};

struct _PhotoImportParamsClass {
	GTypeClass parent_class;
	void (*finalize) (PhotoImportParams *self);
};

struct _PhotoTransformationState {
	GObject parent_instance;
	PhotoTransformationStatePrivate * priv;
};

struct _PhotoTransformationStateClass {
	GObjectClass parent_class;
	void (*broken) (PhotoTransformationState* self);
};

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 _Photo {
	PhotoSource parent_instance;
	PhotoPrivate * priv;
	PhotoRow* row;
	gboolean can_rotate_now;
	BackingPhotoRow* backing_photo_row;
};

struct _PhotoClass {
	PhotoSourceClass parent_class;
	void (*notify_editable_replaced) (Photo* self, GFile* old_file, GFile* new_file);
	void (*notify_raw_development_modified) (Photo* self);
	void (*notify_baseline_replaced) (Photo* self);
	void (*notify_master_reimported) (Photo* self, PhotoMetadata* metadata);
	void (*notify_editable_reimported) (Photo* self, PhotoMetadata* metadata);
	void (*notify_source_reimported) (Photo* self, PhotoMetadata* metadata);
	void (*notify_baseline_reimported) (Photo* self, PhotoMetadata* metadata);
	void (*apply_user_metadata_for_reimport) (Photo* self, PhotoMetadata* metadata);
	void (*rotate) (Photo* self, Rotation rotation);
	gboolean (*has_user_generated_metadata) (Photo* self);
	void (*set_user_metadata_for_export) (Photo* self, PhotoMetadata* metadata);
	void (*editable_replaced) (Photo* self, GFile* old_file, GFile* new_file);
	void (*raw_development_modified) (Photo* self);
	void (*baseline_replaced) (Photo* self);
	void (*master_reimported) (Photo* self, PhotoMetadata* metadata);
	void (*editable_reimported) (Photo* self, PhotoMetadata* metadata);
	void (*baseline_reimported) (Photo* self, PhotoMetadata* metadata);
	void (*source_reimported) (Photo* self, PhotoMetadata* metadata);
};

struct _BackingPhotoID {
	gint64 id;
};

struct _PhotoReimportMasterState {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PhotoReimportMasterStatePrivate * priv;
};

struct _PhotoReimportMasterStateClass {
	GTypeClass parent_class;
	void (*finalize) (PhotoReimportMasterState *self);
};

struct _PhotoReimportEditableState {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PhotoReimportEditableStatePrivate * priv;
};

struct _PhotoReimportEditableStateClass {
	GTypeClass parent_class;
	void (*finalize) (PhotoReimportEditableState *self);
};

struct _PhotoReimportRawDevelopmentState {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PhotoReimportRawDevelopmentStatePrivate * priv;
};

struct _PhotoReimportRawDevelopmentStateClass {
	GTypeClass parent_class;
	void (*finalize) (PhotoReimportRawDevelopmentState *self);
};

struct _LibraryPhotoSourceCollection {
	MediaSourceCollection parent_instance;
	LibraryPhotoSourceCollectionPrivate * priv;
};

struct _LibraryPhotoSourceCollectionClass {
	MediaSourceCollectionClass parent_class;
	void (*notify_master_reimported) (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata);
	void (*notify_editable_reimported) (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata);
	void (*notify_source_reimported) (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata);
	void (*notify_baseline_reimported) (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata);
	void (*master_reimported) (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata);
	void (*editable_reimported) (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata);
	void (*baseline_reimported) (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata);
	void (*source_reimported) (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata);
};

struct _LibraryPhoto {
	Photo parent_instance;
	LibraryPhotoPrivate * priv;
};

struct _LibraryPhotoClass {
	PhotoClass parent_class;
};

struct _LibraryPhotoSourceHoldingTank {
	MediaSourceHoldingTank parent_instance;
	LibraryPhotoSourceHoldingTankPrivate * priv;
};

struct _LibraryPhotoSourceHoldingTankClass {
	MediaSourceHoldingTankClass parent_class;
};

struct _PixbufCache {
	GObject parent_instance;
	PixbufCachePrivate * priv;
};

struct _PixbufCacheClass {
	GObjectClass parent_class;
};

struct _PixbufCachePixbufCacheBatch {
	GeeTreeMultiMap parent_instance;
	PixbufCachePixbufCacheBatchPrivate * priv;
};

struct _PixbufCachePixbufCacheBatchClass {
	GeeTreeMultiMapClass parent_class;
};

struct _PrintSettings {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PrintSettingsPrivate * priv;
};

struct _PrintSettingsClass {
	GTypeClass parent_class;
	void (*finalize) (PrintSettings *self);
};

struct _Measurement {
	gdouble value;
	MeasurementUnit unit;
};

struct _PrintJob {
	GtkPrintOperation parent_instance;
	PrintJobPrivate * priv;
};

struct _PrintJobClass {
	GtkPrintOperationClass parent_class;
};

struct _StandardPrintSize {
	GTypeInstance parent_instance;
	volatile int ref_count;
	StandardPrintSizePrivate * priv;
	gchar* name;
	Measurement width;
	Measurement height;
};

struct _StandardPrintSizeClass {
	GTypeClass parent_class;
	void (*finalize) (StandardPrintSize *self);
};

struct _PrintManager {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PrintManagerPrivate * priv;
};

struct _PrintManagerClass {
	GTypeClass parent_class;
	void (*finalize) (PrintManager *self);
};

struct _ViewFilter {
	GTypeInstance parent_instance;
	volatile int ref_count;
	ViewFilterPrivate * priv;
};

struct _ViewFilterClass {
	GTypeClass parent_class;
	void (*finalize) (ViewFilter *self);
	gboolean (*predicate) (ViewFilter* self, DataView* view);
	void (*refresh) (ViewFilter* self);
};

struct _SearchViewFilter {
	ViewFilter parent_instance;
	SearchViewFilterPrivate * priv;
};

struct _SearchViewFilterClass {
	ViewFilterClass parent_class;
	guint (*get_criteria) (SearchViewFilter* self);
};

struct _DefaultSearchViewFilter {
	SearchViewFilter parent_instance;
	DefaultSearchViewFilterPrivate * priv;
};

struct _DefaultSearchViewFilterClass {
	SearchViewFilterClass parent_class;
};

struct _DisabledViewFilter {
	SearchViewFilter parent_instance;
	DisabledViewFilterPrivate * priv;
};

struct _DisabledViewFilterClass {
	SearchViewFilterClass parent_class;
};

struct _TextAction {
	GTypeInstance parent_instance;
	volatile int ref_count;
	TextActionPrivate * priv;
};

struct _TextActionClass {
	GTypeClass parent_class;
	void (*finalize) (TextAction *self);
};

struct _SearchFilterEntry {
	GtkSearchEntry parent_instance;
	SearchFilterEntryPrivate * priv;
};

struct _SearchFilterEntryClass {
	GtkSearchEntryClass parent_class;
};

struct _SortedList {
	GObject parent_instance;
	SortedListPrivate * priv;
};

struct _SortedListClass {
	GObjectClass parent_class;
};

struct _TagSourceCollection {
	ContainerSourceCollection parent_instance;
	TagSourceCollectionPrivate * priv;
};

struct _TagSourceCollectionClass {
	ContainerSourceCollectionClass parent_class;
};

struct _TagID {
	gint64 id;
};

struct _Tag {
	DataSource parent_instance;
	TagPrivate * priv;
};

struct _TagClass {
	DataSourceClass parent_class;
};

struct _Thumbnails {
	GTypeInstance parent_instance;
	volatile int ref_count;
	ThumbnailsPrivate * priv;
};

struct _ThumbnailsClass {
	GTypeClass parent_class;
	void (*finalize) (Thumbnails *self);
};

struct _ThumbnailCache {
	GObject parent_instance;
	ThumbnailCachePrivate * priv;
};

struct _ThumbnailCacheClass {
	GObjectClass parent_class;
};

struct _DataView {
	DataObject parent_instance;
	DataViewPrivate * priv;
};

struct _DataViewClass {
	DataObjectClass parent_class;
	void (*notify_view_altered) (DataView* self);
	void (*notify_geometry_altered) (DataView* self);
	void (*notify_unsubscribed) (DataView* self, DataSource* source);
	void (*state_changed) (DataView* self, gboolean selected);
	void (*visibility_changed) (DataView* self, gboolean visible);
	void (*view_altered) (DataView* self);
	void (*geometry_altered) (DataView* self);
	void (*unsubscribed) (DataView* self, DataSource* source);
};

struct _ThumbnailView {
	DataView parent_instance;
	ThumbnailViewPrivate * priv;
};

struct _ThumbnailViewClass {
	DataViewClass parent_class;
	void (*notify_thumbnail_altered) (ThumbnailView* self);
	void (*thumbnail_altered) (ThumbnailView* self);
};

struct _CheckerboardItem {
	ThumbnailView parent_instance;
	CheckerboardItemPrivate * priv;
	Dimensions requisition;
	GdkRectangle allocation;
};

struct _CheckerboardItemClass {
	ThumbnailViewClass parent_class;
	void (*exposed) (CheckerboardItem* self);
	void (*unexposed) (CheckerboardItem* self);
	gboolean (*is_exposed) (CheckerboardItem* self);
	void (*paint) (CheckerboardItem* self, cairo_t* ctx, GtkStyleContext* style_context);
};

struct _Thumbnail {
	CheckerboardItem parent_instance;
	ThumbnailPrivate * priv;
};

struct _ThumbnailClass {
	CheckerboardItemClass parent_class;
};

struct _TimedQueue {
	GTypeInstance parent_instance;
	volatile int ref_count;
	TimedQueuePrivate * priv;
};

struct _TimedQueueClass {
	GTypeClass parent_class;
	void (*finalize) (TimedQueue *self);
	void (*notify_dequeued) (TimedQueue* self, gconstpointer item);
	void (*clear) (TimedQueue* self);
	gboolean (*contains) (TimedQueue* self, gconstpointer item);
	gboolean (*enqueue) (TimedQueue* self, gconstpointer item);
	gboolean (*enqueue_many) (TimedQueue* self, GeeCollection* items);
	gboolean (*remove_first) (TimedQueue* self, gconstpointer item);
	void (*paused) (TimedQueue* self, gboolean is_paused);
	gint (*get_size) (TimedQueue* self);
};

struct _HashTimedQueue {
	TimedQueue parent_instance;
	HashTimedQueuePrivate * priv;
};

struct _HashTimedQueueClass {
	TimedQueueClass parent_class;
};

struct _TombstoneSourceCollection {
	DatabaseSourceCollection parent_instance;
	TombstoneSourceCollectionPrivate * priv;
};

struct _TombstoneSourceCollectionClass {
	DatabaseSourceCollectionClass parent_class;
};

struct _TombstonedFile {
	GTypeInstance parent_instance;
	volatile int ref_count;
	TombstonedFilePrivate * priv;
	GFile* file;
	gint64 filesize;
	gchar* md5;
};

struct _TombstonedFileClass {
	GTypeClass parent_class;
	void (*finalize) (TombstonedFile *self);
};

struct _Tombstone {
	DataSource parent_instance;
	TombstonePrivate * priv;
};

struct _TombstoneClass {
	DataSourceClass parent_class;
};

struct _TombstoneID {
	gint64 id;
};

struct _Upgrades {
	GTypeInstance parent_instance;
	volatile int ref_count;
	UpgradesPrivate * priv;
};

struct _UpgradesClass {
	GTypeClass parent_class;
	void (*finalize) (Upgrades *self);
};

struct _VideoMetadata {
	MediaMetadata parent_instance;
	VideoMetadataPrivate * priv;
};

struct _VideoMetadataClass {
	MediaMetadataClass parent_class;
};

typedef enum  {
	VIDEO_ERROR_FILE,
	VIDEO_ERROR_CONTENTS
} VideoError;
#define VIDEO_ERROR video_error_quark ()

struct _VideoImportParams {
	GTypeInstance parent_instance;
	volatile int ref_count;
	VideoImportParamsPrivate * priv;
	GFile* file;
	ImportID import_id;
	gchar* md5;
	gint64 exposure_time_override;
	Thumbnails* thumbnails;
	VideoRow* row;
};

struct _VideoImportParamsClass {
	GTypeClass parent_class;
	void (*finalize) (VideoImportParams *self);
};

struct _VideoReader {
	GTypeInstance parent_instance;
	volatile int ref_count;
	VideoReaderPrivate * priv;
};

struct _VideoReaderClass {
	GTypeClass parent_class;
	void (*finalize) (VideoReader *self);
};

struct _VideoSource {
	MediaSource parent_instance;
	VideoSourcePrivate * priv;
};

struct _VideoSourceClass {
	MediaSourceClass parent_class;
};

struct _Video {
	VideoSource parent_instance;
	VideoPrivate * priv;
};

struct _VideoClass {
	VideoSourceClass parent_class;
};

struct _VideoInterpretableResults {
	GTypeInstance parent_instance;
	volatile int ref_count;
	VideoInterpretableResultsPrivate * priv;
	Video* video;
	gboolean update_interpretable;
	gboolean is_interpretable;
	GdkPixbuf* new_thumbnail;
};

struct _VideoInterpretableResultsClass {
	GTypeClass parent_class;
	void (*finalize) (VideoInterpretableResults *self);
};

struct _VideoSourceCollection {
	MediaSourceCollection parent_instance;
	VideoSourceCollectionPrivate * priv;
};

struct _VideoSourceCollectionClass {
	MediaSourceCollectionClass parent_class;
};

struct _ZoomBuffer {
	GObject parent_instance;
	ZoomBufferPrivate * priv;
};

struct _ZoomBufferClass {
	GObjectClass parent_class;
};

struct _SidebarBranch {
	GObject parent_instance;
	SidebarBranchPrivate * priv;
};

struct _SidebarBranchClass {
	GObjectClass parent_class;
};

struct _CameraBranch {
	SidebarBranch parent_instance;
	CameraBranchPrivate * priv;
};

struct _CameraBranchClass {
	SidebarBranchClass parent_class;
};

struct _SidebarEntryIface {
	GTypeInterface parent_iface;
	gchar* (*get_sidebar_name) (SidebarEntry* self);
	gchar* (*get_sidebar_tooltip) (SidebarEntry* self);
	GIcon* (*get_sidebar_icon) (SidebarEntry* self);
	gchar* (*to_string) (SidebarEntry* self);
	void (*grafted) (SidebarEntry* self, SidebarTree* tree);
	void (*pruned) (SidebarEntry* self, SidebarTree* tree);
};

struct _SidebarExpandableEntryIface {
	GTypeInterface parent_iface;
	GIcon* (*get_sidebar_open_icon) (SidebarExpandableEntry* self);
	GIcon* (*get_sidebar_closed_icon) (SidebarExpandableEntry* self);
	gboolean (*expand_on_select) (SidebarExpandableEntry* self);
};

struct _SidebarGrouping {
	GObject parent_instance;
	SidebarGroupingPrivate * priv;
};

struct _SidebarGroupingClass {
	GObjectClass parent_class;
};

struct _CameraGrouping {
	SidebarGrouping parent_instance;
	CameraGroupingPrivate * priv;
};

struct _CameraGroupingClass {
	SidebarGroupingClass parent_class;
};

struct _SidebarSelectableEntryIface {
	GTypeInterface parent_iface;
};

struct _SidebarPageRepresentativeIface {
	GTypeInterface parent_iface;
	gboolean (*has_page) (SidebarPageRepresentative* self);
	Page* (*get_page) (SidebarPageRepresentative* self);
};

struct _SidebarContextableIface {
	GTypeInterface parent_iface;
	GtkMenu* (*get_sidebar_context_menu) (SidebarContextable* self, GdkEventButton* event);
};

struct _SidebarSimplePageEntry {
	GObject parent_instance;
	SidebarSimplePageEntryPrivate * priv;
};

struct _SidebarSimplePageEntryClass {
	GObjectClass parent_class;
	gchar* (*get_sidebar_name) (SidebarSimplePageEntry* self);
	gchar* (*get_sidebar_tooltip) (SidebarSimplePageEntry* self);
	GIcon* (*get_sidebar_icon) (SidebarSimplePageEntry* self);
	gchar* (*to_string) (SidebarSimplePageEntry* self);
	Page* (*create_page) (SidebarSimplePageEntry* self);
};

struct _CameraSidebarEntry {
	SidebarSimplePageEntry parent_instance;
	CameraSidebarEntryPrivate * priv;
};

struct _CameraSidebarEntryClass {
	SidebarSimplePageEntryClass parent_class;
};

struct _DiscoveredCamera {
	GTypeInstance parent_instance;
	volatile int ref_count;
	DiscoveredCameraPrivate * priv;
	Camera* gcamera;
	gchar* uri;
	gchar* display_name;
	GIcon* icon;
};

struct _DiscoveredCameraClass {
	GTypeClass parent_class;
	void (*finalize) (DiscoveredCamera *self);
};

struct _CameraTable {
	GTypeInstance parent_instance;
	volatile int ref_count;
	CameraTablePrivate * priv;
};

struct _CameraTableClass {
	GTypeClass parent_class;
	void (*finalize) (CameraTable *self);
};

typedef enum  {
	GPHOTO_ERROR_LIBRARY
} GPhotoError;
#define GPHOTO_ERROR gphoto_error_quark ()

struct _GPContextWrapper {
	GTypeInstance parent_instance;
	volatile int ref_count;
	GPContextWrapperPrivate * priv;
	GPContext* context;
};

struct _GPContextWrapperClass {
	GTypeClass parent_class;
	void (*finalize) (GPContextWrapper *self);
	void (*idle) (GPContextWrapper* self);
	void (*error) (GPContextWrapper* self, const gchar* text, void* data);
	void (*status) (GPContextWrapper* self, const gchar* text, void* data);
	void (*message) (GPContextWrapper* self, const gchar* text, void* data);
	void (*progress_start) (GPContextWrapper* self, gfloat current, const gchar* text, void* data);
	void (*progress_update) (GPContextWrapper* self, gfloat current, void* data);
	void (*progress_stop) (GPContextWrapper* self);
};

struct _GPSpinIdleWrapper {
	GPContextWrapper parent_instance;
	GPSpinIdleWrapperPrivate * priv;
};

struct _GPSpinIdleWrapperClass {
	GPContextWrapperClass parent_class;
};

struct _CheckerboardLayout {
	GtkDrawingArea parent_instance;
	CheckerboardLayoutPrivate * priv;
};

struct _CheckerboardLayoutClass {
	GtkDrawingAreaClass parent_class;
};

struct _AdjustDateTimeDialog {
	GraniteDialog parent_instance;
	AdjustDateTimeDialogPrivate * priv;
};

struct _AdjustDateTimeDialogClass {
	GraniteDialogClass parent_class;
};

struct _ImportUIQuestionParams {
	GTypeInstance parent_instance;
	volatile int ref_count;
	ImportUIQuestionParamsPrivate * priv;
	gchar* question;
	gchar* yes_button;
	gchar* no_button;
};

struct _ImportUIQuestionParamsClass {
	GTypeClass parent_class;
	void (*finalize) (ImportUIQuestionParams *self);
};

struct _TextEntryDialogMediator {
	GTypeInstance parent_instance;
	volatile int ref_count;
	TextEntryDialogMediatorPrivate * priv;
};

struct _TextEntryDialogMediatorClass {
	GTypeClass parent_class;
	void (*finalize) (TextEntryDialogMediator *self);
	gboolean (*on_modify_validate) (TextEntryDialogMediator* self, const gchar* text);
};

struct _EntryMultiCompletion {
	GtkEntryCompletion parent_instance;
	EntryMultiCompletionPrivate * priv;
};

struct _EntryMultiCompletionClass {
	GtkEntryCompletionClass parent_class;
};

struct _EventRenameDialog {
	TextEntryDialogMediator parent_instance;
	EventRenameDialogPrivate * priv;
};

struct _EventRenameDialogClass {
	TextEntryDialogMediatorClass parent_class;
	gchar* (*execute) (EventRenameDialog* self);
};

struct _WelcomeServiceEntryIface {
	GTypeInterface parent_iface;
	void (*execute) (WelcomeServiceEntry* self);
};

struct _ExportDialog {
	GraniteDialog parent_instance;
	ExportDialogPrivate * priv;
};

struct _ExportDialogClass {
	GraniteDialogClass parent_class;
};

struct _PreferencesDialog {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PreferencesDialogPrivate * priv;
};

struct _PreferencesDialogClass {
	GTypeClass parent_class;
	void (*finalize) (PreferencesDialog *self);
};

struct _ProgressDialog {
	GraniteDialog parent_instance;
	ProgressDialogPrivate * priv;
};

struct _ProgressDialogClass {
	GraniteDialogClass parent_class;
};

struct _SavedSearchDialog {
	GObject parent_instance;
	SavedSearchDialogPrivate * priv;
};

struct _SavedSearchDialogClass {
	GObjectClass parent_class;
};

struct _TextEntryDialog {
	GraniteDialog parent_instance;
	TextEntryDialogPrivate * priv;
};

struct _TextEntryDialogClass {
	GraniteDialogClass parent_class;
};

typedef enum  {
	CONFIGURATION_ERROR_PROPERTY_HAS_NO_VALUE,
	CONFIGURATION_ERROR_ENGINE_ERROR
} ConfigurationError;
#define CONFIGURATION_ERROR configuration_error_quark ()

struct _ConfigurationEngineIface {
	GTypeInterface parent_iface;
	gboolean (*get_plugin_bool) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gboolean def);
	void (*set_plugin_bool) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gboolean val);
	gdouble (*get_plugin_double) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gdouble def);
	void (*set_plugin_double) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gdouble val);
	gint (*get_plugin_int) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gint def);
	void (*set_plugin_int) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gint val);
	gchar* (*get_plugin_string) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* def);
	void (*set_plugin_string) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* val);
	void (*unset_plugin_key) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key);
};

struct _ConfigurationFacade {
	GObject parent_instance;
	ConfigurationFacadePrivate * priv;
};

struct _ConfigurationFacadeClass {
	GObjectClass parent_class;
	gboolean (*get_plugin_bool) (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gboolean def);
	void (*set_plugin_bool) (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gboolean val);
	gdouble (*get_plugin_double) (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gdouble def);
	void (*set_plugin_double) (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gdouble val);
	gint (*get_plugin_int) (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gint def);
	void (*set_plugin_int) (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gint val);
	gchar* (*get_plugin_string) (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* def);
	void (*set_plugin_string) (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* val);
	void (*unset_plugin_key) (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key);
};

struct _ConfigFacade {
	ConfigurationFacade parent_instance;
	ConfigFacadePrivate * priv;
};

struct _ConfigFacadeClass {
	ConfigurationFacadeClass parent_class;
};

struct _GSettingsConfigurationEngine {
	GObject parent_instance;
	GSettingsConfigurationEnginePrivate * priv;
};

struct _GSettingsConfigurationEngineClass {
	GObjectClass parent_class;
};

struct _Alteration {
	GTypeInstance parent_instance;
	volatile int ref_count;
	AlterationPrivate * priv;
};

struct _AlterationClass {
	GTypeClass parent_class;
	void (*finalize) (Alteration *self);
};

struct _DataSet {
	GTypeInstance parent_instance;
	volatile int ref_count;
	DataSetPrivate * priv;
};

struct _DataSetClass {
	GTypeClass parent_class;
	void (*finalize) (DataSet *self);
};

struct _SourceSnapshot {
	GTypeInstance parent_instance;
	volatile int ref_count;
	SourceSnapshotPrivate * priv;
};

struct _SourceSnapshotClass {
	GTypeClass parent_class;
	void (*finalize) (SourceSnapshot *self);
	void (*notify_broken) (SourceSnapshot* self);
	void (*broken) (SourceSnapshot* self);
};

struct _SourceBacklink {
	GTypeInstance parent_instance;
	volatile int ref_count;
	SourceBacklinkPrivate * priv;
};

struct _SourceBacklinkClass {
	GTypeClass parent_class;
	void (*finalize) (SourceBacklink *self);
};

struct _SourceProxy {
	GTypeInstance parent_instance;
	volatile int ref_count;
	SourceProxyPrivate * priv;
};

struct _SourceProxyClass {
	GTypeClass parent_class;
	void (*finalize) (SourceProxy *self);
	DataSource* (*reconstitute) (SourceProxy* self, gint64 object_id, SourceSnapshot* snapshot);
	void (*notify_reconstituted) (SourceProxy* self, DataSource* source);
	void (*notify_dehydrated) (SourceProxy* self);
	void (*notify_broken) (SourceProxy* self);
	void (*reconstituted) (SourceProxy* self, DataSource* source);
	void (*dehydrated) (SourceProxy* self);
	void (*broken) (SourceProxy* self);
};

struct _PhotoView {
	ThumbnailView parent_instance;
	PhotoViewPrivate * priv;
};

struct _PhotoViewClass {
	ThumbnailViewClass parent_class;
};

struct _VideoView {
	ThumbnailView parent_instance;
	VideoViewPrivate * priv;
};

struct _VideoViewClass {
	ThumbnailViewClass parent_class;
};

struct _EventView {
	ThumbnailView parent_instance;
	EventViewPrivate * priv;
};

struct _EventViewClass {
	ThumbnailViewClass parent_class;
};

struct _SingletonCollection {
	GeeAbstractCollection parent_instance;
	SingletonCollectionPrivate * priv;
};

struct _SingletonCollectionClass {
	GeeAbstractCollectionClass parent_class;
};

struct _UnknownTotalMonitor {
	GTypeInstance parent_instance;
	volatile int ref_count;
	UnknownTotalMonitorPrivate * priv;
};

struct _UnknownTotalMonitorClass {
	GTypeClass parent_class;
	void (*finalize) (UnknownTotalMonitor *self);
};

struct _AggregateProgressMonitor {
	GTypeInstance parent_instance;
	volatile int ref_count;
	AggregateProgressMonitorPrivate * priv;
};

struct _AggregateProgressMonitorClass {
	GTypeClass parent_class;
	void (*finalize) (AggregateProgressMonitor *self);
};

struct _ViewCollection {
	DataCollection parent_instance;
	ViewCollectionPrivate * priv;
};

struct _ViewCollectionClass {
	DataCollectionClass parent_class;
	void (*notify_items_selected_unselected) (ViewCollection* self, GeeCollection* selected, GeeCollection* unselected);
	void (*notify_selection_group_altered) (ViewCollection* self);
	void (*notify_item_view_altered) (ViewCollection* self, DataView* view);
	void (*notify_views_altered) (ViewCollection* self, GeeCollection* views);
	void (*notify_item_geometry_altered) (ViewCollection* self, DataView* view);
	void (*notify_geometries_altered) (ViewCollection* self, GeeCollection* views);
	void (*notify_items_shown) (ViewCollection* self, GeeCollection* shown);
	void (*notify_items_hidden) (ViewCollection* self, GeeCollection* hidden);
	void (*notify_items_visibility_changed) (ViewCollection* self, GeeCollection* changed);
	void (*notify_view_filter_installed) (ViewCollection* self, ViewFilter* filter);
	void (*notify_view_filter_removed) (ViewCollection* self, ViewFilter* filter);
	DataView* (*get_first) (ViewCollection* self);
	DataView* (*get_first_unrejected) (ViewCollection* self);
	DataView* (*get_last) (ViewCollection* self);
	DataView* (*get_next) (ViewCollection* self, DataView* view);
	DataView* (*get_previous) (ViewCollection* self, DataView* view);
	void (*items_selected) (ViewCollection* self, GeeIterable* selected);
	void (*items_unselected) (ViewCollection* self, GeeIterable* unselected);
	void (*items_state_changed) (ViewCollection* self, GeeIterable* changed);
	void (*selection_group_altered) (ViewCollection* self);
	void (*items_shown) (ViewCollection* self, GeeCollection* visible);
	void (*items_hidden) (ViewCollection* self, GeeCollection* hidden);
	void (*items_visibility_changed) (ViewCollection* self, GeeCollection* changed);
	void (*item_view_altered) (ViewCollection* self, DataView* view);
	void (*item_geometry_altered) (ViewCollection* self, DataView* view);
	void (*views_altered) (ViewCollection* self, GeeCollection* views);
	void (*geometries_altered) (ViewCollection* self, GeeCollection* views);
	void (*view_filter_installed) (ViewCollection* self, ViewFilter* filer);
	void (*view_filter_removed) (ViewCollection* self, ViewFilter* filer);
};

struct _ViewCollectionMonitor {
	GTypeInstance parent_instance;
	volatile int ref_count;
	ViewCollectionMonitorPrivate * priv;
};

struct _ViewCollectionMonitorClass {
	GTypeClass parent_class;
	void (*finalize) (ViewCollectionMonitor *self);
};

struct _DatabaseTable {
	GTypeInstance parent_instance;
	volatile int ref_count;
	DatabaseTablePrivate * priv;
	gchar* table_name;
};

struct _DatabaseTableClass {
	GTypeClass parent_class;
	void (*finalize) (DatabaseTable *self);
};

struct _EventRow {
	GTypeInstance parent_instance;
	volatile int ref_count;
	EventRowPrivate * priv;
	EventID event_id;
	gchar* name;
	gint64 time_created;
	gchar* primary_source_id;
	gchar* comment;
};

struct _EventRowClass {
	GTypeClass parent_class;
	void (*finalize) (EventRow *self);
};

struct _EventTable {
	DatabaseTable parent_instance;
	EventTablePrivate * priv;
};

struct _EventTableClass {
	DatabaseTableClass parent_class;
};

struct _PhotoRow {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PhotoRowPrivate * priv;
	PhotoID photo_id;
	BackingPhotoRow* master;
	gint64 exposure_time;
	ImportID import_id;
	EventID event_id;
	Orientation orientation;
	GeeHashMap* transformations;
	gchar* md5;
	gchar* thumbnail_md5;
	gchar* exif_md5;
	gint64 time_created;
	guint64 flags;
	gchar* title;
	gchar* comment;
	gchar* backlinks;
	gint64 time_reimported;
	BackingPhotoID editable_id;
	gboolean metadata_dirty;
	gboolean enhanced;
	GeeHashMap* original_transforms;
	RawDeveloper developer;
	BackingPhotoID* development_ids;
	gint development_ids_length1;
};

struct _PhotoRowClass {
	GTypeClass parent_class;
	void (*finalize) (PhotoRow *self);
};

struct _PhotoTable {
	DatabaseTable parent_instance;
	PhotoTablePrivate * priv;
};

struct _PhotoTableClass {
	DatabaseTableClass parent_class;
};

struct _BackingPhotoRow {
	GTypeInstance parent_instance;
	volatile int ref_count;
	BackingPhotoRowPrivate * priv;
	BackingPhotoID id;
	gint64 time_created;
	gchar* filepath;
	gint64 filesize;
	gint64 timestamp;
	PhotoFileFormat file_format;
	Dimensions dim;
	Orientation original_orientation;
};

struct _BackingPhotoRowClass {
	GTypeClass parent_class;
	void (*finalize) (BackingPhotoRow *self);
};

struct _BackingPhotoTable {
	DatabaseTable parent_instance;
	BackingPhotoTablePrivate * priv;
};

struct _BackingPhotoTableClass {
	DatabaseTableClass parent_class;
};

struct _SavedSearchID {
	gint64 id;
};

struct _SavedSearchRow {
	GTypeInstance parent_instance;
	volatile int ref_count;
	SavedSearchRowPrivate * priv;
	SavedSearchID search_id;
	gchar* name;
	SearchOperator operator;
	GeeList* conditions;
};

struct _SavedSearchRowClass {
	GTypeClass parent_class;
	void (*finalize) (SavedSearchRow *self);
};

struct _SavedSearchDBTable {
	DatabaseTable parent_instance;
	SavedSearchDBTablePrivate * priv;
};

struct _SavedSearchDBTableClass {
	DatabaseTableClass parent_class;
};

struct _TagRow {
	GTypeInstance parent_instance;
	volatile int ref_count;
	TagRowPrivate * priv;
	TagID tag_id;
	gchar* name;
	GeeSet* source_id_list;
	gint64 time_created;
};

struct _TagRowClass {
	GTypeClass parent_class;
	void (*finalize) (TagRow *self);
};

struct _TagTable {
	DatabaseTable parent_instance;
	TagTablePrivate * priv;
};

struct _TagTableClass {
	DatabaseTableClass parent_class;
};

struct _TombstoneRow {
	GTypeInstance parent_instance;
	volatile int ref_count;
	TombstoneRowPrivate * priv;
	TombstoneID id;
	gchar* filepath;
	gint64 filesize;
	gchar* md5;
	gint64 time_created;
	TombstoneReason reason;
};

struct _TombstoneRowClass {
	GTypeClass parent_class;
	void (*finalize) (TombstoneRow *self);
};

struct _TombstoneTable {
	DatabaseTable parent_instance;
	TombstoneTablePrivate * priv;
};

struct _TombstoneTableClass {
	DatabaseTableClass parent_class;
};

struct _VersionTable {
	DatabaseTable parent_instance;
	VersionTablePrivate * priv;
};

struct _VersionTableClass {
	DatabaseTableClass parent_class;
};

struct _VideoRow {
	GTypeInstance parent_instance;
	volatile int ref_count;
	VideoRowPrivate * priv;
	VideoID video_id;
	gchar* filepath;
	gint64 filesize;
	gint64 timestamp;
	gint width;
	gint height;
	gdouble clip_duration;
	gboolean is_interpretable;
	gint64 exposure_time;
	ImportID import_id;
	EventID event_id;
	gchar* md5;
	gint64 time_created;
	gchar* title;
	gchar* backlinks;
	gint64 time_reimported;
	guint64 flags;
	gchar* comment;
};

struct _VideoRowClass {
	GTypeClass parent_class;
	void (*finalize) (VideoRow *self);
};

struct _VideoTable {
	DatabaseTable parent_instance;
	VideoTablePrivate * priv;
};

struct _VideoTableClass {
	DatabaseTableClass parent_class;
};

struct _DirectPhoto {
	Photo parent_instance;
	DirectPhotoPrivate * priv;
};

struct _DirectPhotoClass {
	PhotoClass parent_class;
};

struct _DirectPhotoSourceCollection {
	DatabaseSourceCollection parent_instance;
	DirectPhotoSourceCollectionPrivate * priv;
};

struct _DirectPhotoSourceCollectionClass {
	DatabaseSourceCollectionClass parent_class;
};

struct _DirectView {
	DataView parent_instance;
	DirectViewPrivate * priv;
};

struct _DirectViewClass {
	DataViewClass parent_class;
};

struct _DirectWindow {
	AppWindow parent_instance;
	DirectWindowPrivate * priv;
};

struct _DirectWindowClass {
	AppWindowClass parent_class;
};

struct _EditingToolsEditingTool {
	GObject parent_instance;
	EditingToolsEditingToolPrivate * priv;
	EditingToolsPhotoCanvas* canvas;
	cairo_surface_t* surface;
};

struct _EditingToolsEditingToolClass {
	GObjectClass parent_class;
	void (*activate) (EditingToolsEditingTool* self, EditingToolsPhotoCanvas* canvas);
	void (*deactivate) (EditingToolsEditingTool* self);
	EditingToolsEditingToolWindow* (*get_tool_window) (EditingToolsEditingTool* self);
	GdkPixbuf* (*get_display_pixbuf) (EditingToolsEditingTool* self, Scaling* scaling, Photo* photo, Dimensions* max_dim, GError** error);
	void (*on_left_click) (EditingToolsEditingTool* self, gint x, gint y);
	void (*on_left_released) (EditingToolsEditingTool* self, gint x, gint y);
	void (*on_motion) (EditingToolsEditingTool* self, gint x, gint y, GdkModifierType mask);
	gboolean (*on_leave_notify_event) (EditingToolsEditingTool* self);
	gboolean (*on_keypress) (EditingToolsEditingTool* self, GdkEventKey* event);
	void (*paint) (EditingToolsEditingTool* self, cairo_t* ctx);
};

struct _EditingToolsAdjustTool {
	EditingToolsEditingTool parent_instance;
	EditingToolsAdjustToolPrivate * priv;
};

struct _EditingToolsAdjustToolClass {
	EditingToolsEditingToolClass parent_class;
};

struct _EditingToolsCropTool {
	EditingToolsEditingTool parent_instance;
	EditingToolsCropToolPrivate * priv;
};

struct _EditingToolsCropToolClass {
	EditingToolsEditingToolClass parent_class;
};

struct _EditingToolsEditingToolWindow {
	HdyWindow parent_instance;
	EditingToolsEditingToolWindowPrivate * priv;
};

struct _EditingToolsEditingToolWindowClass {
	HdyWindowClass parent_class;
};

struct _EditingToolsPhotoCanvas {
	GObject parent_instance;
	EditingToolsPhotoCanvasPrivate * priv;
};

struct _EditingToolsPhotoCanvasClass {
	GObjectClass parent_class;
	void (*repaint) (EditingToolsPhotoCanvas* self);
	GtkStyleContext* (*get_style_context) (EditingToolsPhotoCanvas* self);
};

struct _EditingToolsRedeyeTool {
	EditingToolsEditingTool parent_instance;
	EditingToolsRedeyeToolPrivate * priv;
};

struct _EditingToolsRedeyeToolClass {
	EditingToolsEditingToolClass parent_class;
};

struct _EditingToolsStraightenTool {
	EditingToolsEditingTool parent_instance;
	EditingToolsStraightenToolPrivate * priv;
};

struct _EditingToolsStraightenToolClass {
	EditingToolsEditingToolClass parent_class;
};

struct _EventsBranch {
	SidebarBranch parent_instance;
	EventsBranchPrivate * priv;
};

struct _EventsBranchClass {
	SidebarBranchClass parent_class;
};

struct _EventsDirectoryEntry {
	SidebarSimplePageEntry parent_instance;
	EventsDirectoryEntryPrivate * priv;
};

struct _EventsDirectoryEntryClass {
	SidebarSimplePageEntryClass parent_class;
	GIcon* (*get_sidebar_open_icon) (EventsDirectoryEntry* self);
	GIcon* (*get_sidebar_closed_icon) (EventsDirectoryEntry* self);
};

struct _EventsMasterDirectoryEntry {
	EventsDirectoryEntry parent_instance;
	EventsMasterDirectoryEntryPrivate * priv;
};

struct _EventsMasterDirectoryEntryClass {
	EventsDirectoryEntryClass parent_class;
};

struct _EventsYearDirectoryEntry {
	EventsDirectoryEntry parent_instance;
	EventsYearDirectoryEntryPrivate * priv;
};

struct _EventsYearDirectoryEntryClass {
	EventsDirectoryEntryClass parent_class;
};

struct _EventsMonthDirectoryEntry {
	EventsDirectoryEntry parent_instance;
	EventsMonthDirectoryEntryPrivate * priv;
};

struct _EventsMonthDirectoryEntryClass {
	EventsDirectoryEntryClass parent_class;
};

struct _EventsUndatedDirectoryEntry {
	EventsDirectoryEntry parent_instance;
	EventsUndatedDirectoryEntryPrivate * priv;
};

struct _EventsUndatedDirectoryEntryClass {
	EventsDirectoryEntryClass parent_class;
};

struct _SidebarRenameableEntryIface {
	GTypeInterface parent_iface;
	void (*rename) (SidebarRenameableEntry* self, const gchar* new_name);
};

struct _SidebarInternalDropTargetEntryIface {
	GTypeInterface parent_iface;
	gboolean (*internal_drop_received) (SidebarInternalDropTargetEntry* self, GeeList* sources);
	gboolean (*internal_drop_received_arbitrary) (SidebarInternalDropTargetEntry* self, GtkSelectionData* data);
};

struct _EventsEventEntry {
	SidebarSimplePageEntry parent_instance;
	EventsEventEntryPrivate * priv;
};

struct _EventsEventEntryClass {
	SidebarSimplePageEntryClass parent_class;
};

struct _EventsNoEventEntry {
	SidebarSimplePageEntry parent_instance;
	EventsNoEventEntryPrivate * priv;
};

struct _EventsNoEventEntryClass {
	SidebarSimplePageEntryClass parent_class;
};

struct _LibraryBranch {
	SidebarBranch parent_instance;
	LibraryBranchPrivate * priv;
};

struct _LibraryBranchClass {
	SidebarBranchClass parent_class;
};

struct _LibraryHideablePageEntry {
	SidebarSimplePageEntry parent_instance;
	LibraryHideablePageEntryPrivate * priv;
};

struct _LibraryHideablePageEntryClass {
	SidebarSimplePageEntryClass parent_class;
};

struct _Page {
	GtkScrolledWindow parent_instance;
	PagePrivate * priv;
	GtkActionBar* toolbar;
	GtkButton* show_sidebar_button;
	GtkBox* header_box;
	GSettings* ui_settings;
};

struct _PageClass {
	GtkScrolledWindowClass parent_class;
	void (*set_container) (Page* self, GtkWindow* container);
	void (*clear_container) (Page* self);
	void (*add_toolbar_widgets) (Page* self, GtkActionBar* toolbar);
	GtkMenu* (*get_page_context_menu) (Page* self);
	GtkMenu* (*get_page_sidebar_menu) (Page* self);
	void (*switching_from) (Page* self);
	void (*switched_to) (Page* self);
	void (*ready) (Page* self);
	void (*switching_to_fullscreen) (Page* self, FullscreenWindow* fsw);
	void (*returning_from_fullscreen) (Page* self, FullscreenWindow* fsw);
	GtkBox* (*get_header_buttons) (Page* self);
	GtkActionEntry* (*init_collect_action_entries) (Page* self, gint* result_length1);
	GtkToggleActionEntry* (*init_collect_toggle_action_entries) (Page* self, gint* result_length1);
	void (*register_radio_actions) (Page* self, GtkActionGroup* action_group);
	void (*init_actions) (Page* self, gint selected_count, gint count);
	void (*update_actions) (Page* self, gint selected_count, gint count);
	gboolean (*on_left_click) (Page* self, GdkEventButton* event);
	gboolean (*on_middle_click) (Page* self, GdkEventButton* event);
	gboolean (*on_right_click) (Page* self, GdkEventButton* event);
	gboolean (*on_left_released) (Page* self, GdkEventButton* event);
	gboolean (*on_middle_released) (Page* self, GdkEventButton* event);
	gboolean (*on_right_released) (Page* self, GdkEventButton* event);
	gboolean (*on_ctrl_pressed) (Page* self, GdkEventKey* event);
	gboolean (*on_ctrl_released) (Page* self, GdkEventKey* event);
	gboolean (*on_alt_pressed) (Page* self, GdkEventKey* event);
	gboolean (*on_alt_released) (Page* self, GdkEventKey* event);
	gboolean (*on_shift_pressed) (Page* self, GdkEventKey* event);
	gboolean (*on_shift_released) (Page* self, GdkEventKey* event);
	gboolean (*on_super_pressed) (Page* self, GdkEventKey* event);
	gboolean (*on_super_released) (Page* self, GdkEventKey* event);
	gboolean (*on_app_key_pressed) (Page* self, GdkEventKey* event);
	gboolean (*on_app_key_released) (Page* self, GdkEventKey* event);
	void (*on_move) (Page* self, GdkRectangle* rect);
	void (*on_move_start) (Page* self, GdkRectangle* rect);
	void (*on_move_finished) (Page* self, GdkRectangle* rect);
	void (*on_resize) (Page* self, GdkRectangle* rect);
	void (*on_resize_start) (Page* self, GdkRectangle* rect);
	void (*on_resize_finished) (Page* self, GdkRectangle* rect);
	gboolean (*on_configure) (Page* self, GdkEventConfigure* event, GdkRectangle* rect);
	gboolean (*on_motion) (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask);
	gboolean (*on_leave_notify_event) (Page* self);
	gboolean (*on_mousewheel_up) (Page* self, GdkEventScroll* event);
	gboolean (*on_mousewheel_down) (Page* self, GdkEventScroll* event);
	gboolean (*on_mousewheel_left) (Page* self, GdkEventScroll* event);
	gboolean (*on_mousewheel_right) (Page* self, GdkEventScroll* event);
	gboolean (*on_context_keypress) (Page* self);
	gboolean (*on_context_buttonpress) (Page* self, GdkEventButton* event);
	gboolean (*on_context_invoked) (Page* self);
	void (*set_page_cursor) (Page* self, GdkCursorType cursor_type);
};

struct _CheckerboardPage {
	Page parent_instance;
	CheckerboardPagePrivate * priv;
	CheckerboardItem* anchor;
	CheckerboardItem* cursor;
};

struct _CheckerboardPageClass {
	PageClass parent_class;
	gchar* (*get_back_name) (CheckerboardPage* self);
	GtkMenu* (*get_item_context_menu) (CheckerboardPage* self);
	gchar* (*get_view_empty_message) (CheckerboardPage* self);
	gchar* (*get_filter_no_match_message) (CheckerboardPage* self);
	void (*on_item_activated) (CheckerboardPage* self, CheckerboardItem* item);
	SearchViewFilter* (*get_search_view_filter) (CheckerboardPage* self);
	CoreViewTracker* (*get_view_tracker) (CheckerboardPage* self);
	gboolean (*is_point_on_item_selection_button) (CheckerboardPage* self, gdouble x, gdouble y, CheckerboardItem* item);
	gboolean (*on_mouse_over) (CheckerboardPage* self, CheckerboardItem* item, gint x, gint y, GdkModifierType mask);
	void (*set_display_titles) (CheckerboardPage* self, gboolean display);
	void (*set_display_comments) (CheckerboardPage* self, gboolean display);
};

struct _MediaPage {
	CheckerboardPage parent_instance;
	MediaPagePrivate * priv;
};

struct _MediaPageClass {
	CheckerboardPageClass parent_class;
	void (*on_zoom_changed) (MediaPage* self);
	void (*on_export) (MediaPage* self);
	void (*on_increase_size) (MediaPage* self);
	void (*on_decrease_size) (MediaPage* self);
	void (*on_move_to_trash) (MediaPage* self);
	void (*on_display_titles) (MediaPage* self, GtkAction* action);
	void (*on_display_comments) (MediaPage* self, GtkAction* action);
	void (*on_display_tags) (MediaPage* self, GtkAction* action);
	void (*get_config_photos_sort) (MediaPage* self, gboolean* sort_order, gint* sort_by);
	void (*set_config_photos_sort) (MediaPage* self, gboolean sort_order, gint sort_by);
	void (*on_sort_changed) (MediaPage* self);
	void (*developer_changed) (MediaPage* self, RawDeveloper rd);
	DataView* (*create_thumbnail) (MediaPage* self, DataSource* source);
};

struct _CollectionPage {
	MediaPage parent_instance;
	CollectionPagePrivate * priv;
};

struct _CollectionPageClass {
	MediaPageClass parent_class;
};

struct _LibraryMainPage {
	CollectionPage parent_instance;
	LibraryMainPagePrivate * priv;
};

struct _LibraryMainPageClass {
	CollectionPageClass parent_class;
};

struct _LibraryFlaggedSidebarEntry {
	LibraryHideablePageEntry parent_instance;
	LibraryFlaggedSidebarEntryPrivate * priv;
};

struct _LibraryFlaggedSidebarEntryClass {
	LibraryHideablePageEntryClass parent_class;
};

struct _LibraryImportQueueSidebarEntry {
	LibraryHideablePageEntry parent_instance;
	LibraryImportQueueSidebarEntryPrivate * priv;
};

struct _LibraryImportQueueSidebarEntryClass {
	LibraryHideablePageEntryClass parent_class;
};

struct _LibraryLastImportSidebarEntry {
	LibraryHideablePageEntry parent_instance;
	LibraryLastImportSidebarEntryPrivate * priv;
};

struct _LibraryLastImportSidebarEntryClass {
	LibraryHideablePageEntryClass parent_class;
};

struct _LibraryWindow {
	AppWindow parent_instance;
	LibraryWindowPrivate * priv;
};

struct _LibraryWindowClass {
	AppWindowClass parent_class;
};

struct _LibraryOfflineSidebarEntry {
	LibraryHideablePageEntry parent_instance;
	LibraryOfflineSidebarEntryPrivate * priv;
};

struct _LibraryOfflineSidebarEntryClass {
	LibraryHideablePageEntryClass parent_class;
};

struct _TopDisplay {
	GtkStack parent_instance;
	TopDisplayPrivate * priv;
};

struct _TopDisplayClass {
	GtkStackClass parent_class;
};

struct _LibraryTrashSidebarEntry {
	SidebarSimplePageEntry parent_instance;
	LibraryTrashSidebarEntryPrivate * priv;
};

struct _LibraryTrashSidebarEntryClass {
	SidebarSimplePageEntryClass parent_class;
};

struct _PhotoFileSniffer {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PhotoFileSnifferPrivate * priv;
	GFile* file;
	PhotoFileSnifferOptions options;
	gboolean calc_md5;
};

struct _PhotoFileSnifferClass {
	GTypeClass parent_class;
	void (*finalize) (PhotoFileSniffer *self);
	DetectedPhotoInformation* (*sniff) (PhotoFileSniffer* self, GError** error);
};

struct _GdkSniffer {
	PhotoFileSniffer parent_instance;
	GdkSnifferPrivate * priv;
};

struct _GdkSnifferClass {
	PhotoFileSnifferClass parent_class;
};

struct _PhotosBmpSniffer {
	GdkSniffer parent_instance;
	PhotosBmpSnifferPrivate * priv;
};

struct _PhotosBmpSnifferClass {
	GdkSnifferClass parent_class;
};

struct _PhotoFileAdapter {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PhotoFileAdapterPrivate * priv;
};

struct _PhotoFileAdapterClass {
	GTypeClass parent_class;
	void (*finalize) (PhotoFileAdapter *self);
};

struct _PhotoFileReader {
	PhotoFileAdapter parent_instance;
	PhotoFileReaderPrivate * priv;
};

struct _PhotoFileReaderClass {
	PhotoFileAdapterClass parent_class;
	PhotoMetadata* (*read_metadata) (PhotoFileReader* self, GError** error);
	GdkPixbuf* (*unscaled_read) (PhotoFileReader* self, GError** error);
	GdkPixbuf* (*scaled_read) (PhotoFileReader* self, Dimensions* full, Dimensions* scaled, GError** error);
};

struct _GdkReader {
	PhotoFileReader parent_instance;
	GdkReaderPrivate * priv;
};

struct _GdkReaderClass {
	PhotoFileReaderClass parent_class;
};

struct _PhotosBmpReader {
	GdkReader parent_instance;
	PhotosBmpReaderPrivate * priv;
};

struct _PhotosBmpReaderClass {
	GdkReaderClass parent_class;
};

struct _PhotoFileWriter {
	PhotoFileAdapter parent_instance;
	PhotoFileWriterPrivate * priv;
};

struct _PhotoFileWriterClass {
	PhotoFileAdapterClass parent_class;
	void (*write) (PhotoFileWriter* self, GdkPixbuf* pixbuf, JpegQuality quality, GError** error);
};

struct _PhotosBmpWriter {
	PhotoFileWriter parent_instance;
	PhotosBmpWriterPrivate * priv;
};

struct _PhotosBmpWriterClass {
	PhotoFileWriterClass parent_class;
};

struct _PhotoFileMetadataWriter {
	PhotoFileAdapter parent_instance;
	PhotoFileMetadataWriterPrivate * priv;
};

struct _PhotoFileMetadataWriterClass {
	PhotoFileAdapterClass parent_class;
	void (*write_metadata) (PhotoFileMetadataWriter* self, PhotoMetadata* metadata, GError** error);
};

struct _PhotosBmpMetadataWriter {
	PhotoFileMetadataWriter parent_instance;
	PhotosBmpMetadataWriterPrivate * priv;
};

struct _PhotosBmpMetadataWriterClass {
	PhotoFileMetadataWriterClass parent_class;
};

struct _PhotoFileFormatDriver {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PhotoFileFormatDriverPrivate * priv;
};

struct _PhotoFileFormatDriverClass {
	GTypeClass parent_class;
	void (*finalize) (PhotoFileFormatDriver *self);
	PhotoFileFormatProperties* (*get_properties) (PhotoFileFormatDriver* self);
	PhotoFileReader* (*create_reader) (PhotoFileFormatDriver* self, const gchar* filepath);
	PhotoMetadata* (*create_metadata) (PhotoFileFormatDriver* self);
	gboolean (*can_write_image) (PhotoFileFormatDriver* self);
	gboolean (*can_write_metadata) (PhotoFileFormatDriver* self);
	PhotoFileWriter* (*create_writer) (PhotoFileFormatDriver* self, const gchar* filepath);
	PhotoFileMetadataWriter* (*create_metadata_writer) (PhotoFileFormatDriver* self, const gchar* filepath);
	PhotoFileSniffer* (*create_sniffer) (PhotoFileFormatDriver* self, GFile* file, PhotoFileSnifferOptions options);
};

struct _PhotosBmpFileFormatDriver {
	PhotoFileFormatDriver parent_instance;
	PhotosBmpFileFormatDriverPrivate * priv;
};

struct _PhotosBmpFileFormatDriverClass {
	PhotoFileFormatDriverClass parent_class;
};

struct _GifSniffer {
	GdkSniffer parent_instance;
	GifSnifferPrivate * priv;
};

struct _GifSnifferClass {
	GdkSnifferClass parent_class;
};

struct _GifReader {
	GdkReader parent_instance;
	GifReaderPrivate * priv;
};

struct _GifReaderClass {
	GdkReaderClass parent_class;
};

struct _GifFileFormatDriver {
	PhotoFileFormatDriver parent_instance;
	GifFileFormatDriverPrivate * priv;
};

struct _GifFileFormatDriverClass {
	PhotoFileFormatDriverClass parent_class;
};

typedef enum  {
	GRAW_EXCEPTION_UNSPECIFIED,
	GRAW_EXCEPTION_UNSUPPORTED_FILE,
	GRAW_EXCEPTION_NONEXISTANT_IMAGE,
	GRAW_EXCEPTION_OUT_OF_ORDER_CALL,
	GRAW_EXCEPTION_NO_THUMBNAIL,
	GRAW_EXCEPTION_UNSUPPORTED_THUMBNAIL,
	GRAW_EXCEPTION_OUT_OF_MEMORY,
	GRAW_EXCEPTION_DATA_ERROR,
	GRAW_EXCEPTION_IO_ERROR,
	GRAW_EXCEPTION_CANCELLED_BY_CALLBACK,
	GRAW_EXCEPTION_BAD_CROP,
	GRAW_EXCEPTION_SYSTEM_ERROR
} GRawException;
#define GRAW_EXCEPTION graw_exception_quark ()

struct _GRawProcessedImage {
	GTypeInstance parent_instance;
	volatile int ref_count;
	GRawProcessedImagePrivate * priv;
};

struct _GRawProcessedImageClass {
	GTypeClass parent_class;
	void (*finalize) (GRawProcessedImage *self);
};

struct _GRawProcessor {
	GTypeInstance parent_instance;
	volatile int ref_count;
	GRawProcessorPrivate * priv;
};

struct _GRawProcessorClass {
	GTypeClass parent_class;
	void (*finalize) (GRawProcessor *self);
};

struct _JfifFileFormatDriver {
	PhotoFileFormatDriver parent_instance;
	JfifFileFormatDriverPrivate * priv;
};

struct _JfifFileFormatDriverClass {
	PhotoFileFormatDriverClass parent_class;
};

struct _PhotoFileFormatProperties {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PhotoFileFormatPropertiesPrivate * priv;
};

struct _PhotoFileFormatPropertiesClass {
	GTypeClass parent_class;
	void (*finalize) (PhotoFileFormatProperties *self);
	PhotoFileFormat (*get_file_format) (PhotoFileFormatProperties* self);
	PhotoFileFormatFlags (*get_flags) (PhotoFileFormatProperties* self);
	gboolean (*is_recognized_extension) (PhotoFileFormatProperties* self, const gchar* ext);
	gchar* (*get_default_extension) (PhotoFileFormatProperties* self);
	gchar** (*get_known_extensions) (PhotoFileFormatProperties* self, gint* result_length1);
	gchar* (*get_default_mime_type) (PhotoFileFormatProperties* self);
	gchar** (*get_mime_types) (PhotoFileFormatProperties* self, gint* result_length1);
	gchar* (*get_user_visible_name) (PhotoFileFormatProperties* self);
};

struct _JfifFileFormatProperties {
	PhotoFileFormatProperties parent_instance;
	JfifFileFormatPropertiesPrivate * priv;
};

struct _JfifFileFormatPropertiesClass {
	PhotoFileFormatPropertiesClass parent_class;
};

struct _JfifSniffer {
	GdkSniffer parent_instance;
	JfifSnifferPrivate * priv;
};

struct _JfifSnifferClass {
	GdkSnifferClass parent_class;
};

struct _JfifReader {
	GdkReader parent_instance;
	JfifReaderPrivate * priv;
};

struct _JfifReaderClass {
	GdkReaderClass parent_class;
};

struct _JfifWriter {
	PhotoFileWriter parent_instance;
	JfifWriterPrivate * priv;
};

struct _JfifWriterClass {
	PhotoFileWriterClass parent_class;
};

struct _JfifMetadataWriter {
	PhotoFileMetadataWriter parent_instance;
	JfifMetadataWriterPrivate * priv;
};

struct _JfifMetadataWriterClass {
	PhotoFileMetadataWriterClass parent_class;
};

typedef enum  {
	PHOTO_FORMAT_ERROR_READ_ONLY
} PhotoFormatError;
#define PHOTO_FORMAT_ERROR photo_format_error_quark ()

struct _DetectedPhotoInformation {
	GTypeInstance parent_instance;
	volatile int ref_count;
	DetectedPhotoInformationPrivate * priv;
	PhotoFileFormat file_format;
	PhotoMetadata* metadata;
	gchar* md5;
	gchar* exif_md5;
	gchar* thumbnail_md5;
	gchar* format_name;
	Dimensions image_dim;
	GdkColorspace colorspace;
	gint channels;
	gint bits_per_channel;
};

struct _DetectedPhotoInformationClass {
	GTypeClass parent_class;
	void (*finalize) (DetectedPhotoInformation *self);
};

struct _PhotoFileInterrogator {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PhotoFileInterrogatorPrivate * priv;
};

struct _PhotoFileInterrogatorClass {
	GTypeClass parent_class;
	void (*finalize) (PhotoFileInterrogator *self);
};

struct _HierarchicalKeywordField {
	GTypeInstance parent_instance;
	volatile int ref_count;
	HierarchicalKeywordFieldPrivate * priv;
	gchar* field_name;
	gchar* path_separator;
	gboolean wants_leading_separator;
	gboolean is_writeable;
};

struct _HierarchicalKeywordFieldClass {
	GTypeClass parent_class;
	void (*finalize) (HierarchicalKeywordField *self);
};

struct _PhotoPreview {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PhotoPreviewPrivate * priv;
};

struct _PhotoPreviewClass {
	GTypeClass parent_class;
	void (*finalize) (PhotoPreview *self);
	GBytes* (*flatten) (PhotoPreview* self, GError** error);
	GdkPixbuf* (*get_pixbuf) (PhotoPreview* self, GError** error);
};

struct _PhotoMetadata {
	MediaMetadata parent_instance;
	PhotoMetadataPrivate * priv;
};

struct _PhotoMetadataClass {
	MediaMetadataClass parent_class;
};

struct _PngSniffer {
	GdkSniffer parent_instance;
	PngSnifferPrivate * priv;
};

struct _PngSnifferClass {
	GdkSnifferClass parent_class;
};

struct _PngReader {
	GdkReader parent_instance;
	PngReaderPrivate * priv;
};

struct _PngReaderClass {
	GdkReaderClass parent_class;
};

struct _PngWriter {
	PhotoFileWriter parent_instance;
	PngWriterPrivate * priv;
};

struct _PngWriterClass {
	PhotoFileWriterClass parent_class;
};

struct _PngMetadataWriter {
	PhotoFileMetadataWriter parent_instance;
	PngMetadataWriterPrivate * priv;
};

struct _PngMetadataWriterClass {
	PhotoFileMetadataWriterClass parent_class;
};

struct _PngFileFormatDriver {
	PhotoFileFormatDriver parent_instance;
	PngFileFormatDriverPrivate * priv;
};

struct _PngFileFormatDriverClass {
	PhotoFileFormatDriverClass parent_class;
};

struct _RawFileFormatDriver {
	PhotoFileFormatDriver parent_instance;
	RawFileFormatDriverPrivate * priv;
};

struct _RawFileFormatDriverClass {
	PhotoFileFormatDriverClass parent_class;
};

struct _RawFileFormatProperties {
	PhotoFileFormatProperties parent_instance;
	RawFileFormatPropertiesPrivate * priv;
};

struct _RawFileFormatPropertiesClass {
	PhotoFileFormatPropertiesClass parent_class;
};

struct _RawSniffer {
	PhotoFileSniffer parent_instance;
	RawSnifferPrivate * priv;
};

struct _RawSnifferClass {
	PhotoFileSnifferClass parent_class;
};

struct _RawReader {
	PhotoFileReader parent_instance;
	RawReaderPrivate * priv;
};

struct _RawReaderClass {
	PhotoFileReaderClass parent_class;
};

struct _PhotosTiffFileFormatDriver {
	PhotoFileFormatDriver parent_instance;
	PhotosTiffFileFormatDriverPrivate * priv;
};

struct _PhotosTiffFileFormatDriverClass {
	PhotoFileFormatDriverClass parent_class;
};

struct _WebPSniffer {
	PhotoFileSniffer parent_instance;
	WebPSnifferPrivate * priv;
};

struct _WebPSnifferClass {
	PhotoFileSnifferClass parent_class;
};

struct _WebPReader {
	PhotoFileReader parent_instance;
	WebPReaderPrivate * priv;
};

struct _WebPReaderClass {
	PhotoFileReaderClass parent_class;
};

struct _WebPFileFormatDriver {
	PhotoFileFormatDriver parent_instance;
	WebPFileFormatDriverPrivate * priv;
};

struct _WebPFileFormatDriverClass {
	PhotoFileFormatDriverClass parent_class;
};

struct _PluginsExtensionPoint {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PluginsExtensionPointPrivate * priv;
};

struct _PluginsExtensionPointClass {
	GTypeClass parent_class;
	void (*finalize) (PluginsExtensionPoint *self);
};

struct _PluginsNotifier {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PluginsNotifierPrivate * priv;
};

struct _PluginsNotifierClass {
	GTypeClass parent_class;
	void (*finalize) (PluginsNotifier *self);
};

struct _SpitPluggableInfo {
	gchar* version;
	gchar* brief_description;
	gchar* authors;
	gchar* copyright;
	gchar* license;
	gboolean is_license_wordwrapped;
	gchar* website_url;
	gchar* website_name;
	gchar* translators;
	GIcon* icon;
};

struct _SpitPluggableIface {
	GTypeInterface parent_iface;
	gint (*get_pluggable_interface) (SpitPluggable* self, gint min_host_interface, gint max_host_interface);
	const gchar* (*get_id) (SpitPluggable* self);
	const gchar* (*get_pluggable_name) (SpitPluggable* self);
	void (*get_info) (SpitPluggable* self, SpitPluggableInfo* info);
	void (*activation) (SpitPluggable* self, gboolean enabled);
	void (*reserved0) (SpitPluggable* self);
	void (*reserved1) (SpitPluggable* self);
	void (*reserved2) (SpitPluggable* self);
	void (*reserved3) (SpitPluggable* self);
	void (*reserved4) (SpitPluggable* self);
	void (*reserved5) (SpitPluggable* self);
	void (*reserved6) (SpitPluggable* self);
	void (*reserved7) (SpitPluggable* self);
};

struct _SpitHostInterfaceIface {
	GTypeInterface parent_iface;
	GFile* (*get_module_file) (SpitHostInterface* self);
	gboolean (*get_config_bool) (SpitHostInterface* self, const gchar* key, gboolean def);
	void (*set_config_bool) (SpitHostInterface* self, const gchar* key, gboolean val);
	gint (*get_config_int) (SpitHostInterface* self, const gchar* key, gint def);
	void (*set_config_int) (SpitHostInterface* self, const gchar* key, gint val);
	gchar* (*get_config_string) (SpitHostInterface* self, const gchar* key, const gchar* def);
	void (*set_config_string) (SpitHostInterface* self, const gchar* key, const gchar* val);
	gdouble (*get_config_double) (SpitHostInterface* self, const gchar* key, gdouble def);
	void (*set_config_double) (SpitHostInterface* self, const gchar* key, gdouble val);
	void (*unset_config_key) (SpitHostInterface* self, const gchar* key);
	void (*reserved0) (SpitHostInterface* self);
	void (*reserved1) (SpitHostInterface* self);
	void (*reserved2) (SpitHostInterface* self);
	void (*reserved3) (SpitHostInterface* self);
	void (*reserved4) (SpitHostInterface* self);
	void (*reserved5) (SpitHostInterface* self);
	void (*reserved6) (SpitHostInterface* self);
	void (*reserved7) (SpitHostInterface* self);
};

struct _PluginsStandardHostInterface {
	GObject parent_instance;
	PluginsStandardHostInterfacePrivate * priv;
};

struct _PluginsStandardHostInterfaceClass {
	GObjectClass parent_class;
};

struct _PluginsManifestWidget {
	GtkGrid parent_instance;
	PluginsManifestWidgetPrivate * priv;
};

struct _PluginsManifestWidgetClass {
	GtkGridClass parent_class;
};

struct _SearchesBranch {
	SidebarBranch parent_instance;
	SearchesBranchPrivate * priv;
};

struct _SearchesBranchClass {
	SidebarBranchClass parent_class;
};

struct _SearchesGrouping {
	SidebarGrouping parent_instance;
	SearchesGroupingPrivate * priv;
};

struct _SearchesGroupingClass {
	SidebarGroupingClass parent_class;
};

struct _SidebarDestroyableEntryIface {
	GTypeInterface parent_iface;
	void (*destroy_source) (SidebarDestroyableEntry* self);
};

struct _SearchesSidebarEntry {
	SidebarSimplePageEntry parent_instance;
	SearchesSidebarEntryPrivate * priv;
};

struct _SearchesSidebarEntryClass {
	SidebarSimplePageEntryClass parent_class;
};

struct _SearchCondition {
	GTypeInstance parent_instance;
	volatile int ref_count;
	SearchConditionPrivate * priv;
};

struct _SearchConditionClass {
	GTypeClass parent_class;
	void (*finalize) (SearchCondition *self);
	gboolean (*predicate) (SearchCondition* self, MediaSource* source);
};

struct _SearchConditionText {
	SearchCondition parent_instance;
	SearchConditionTextPrivate * priv;
};

struct _SearchConditionTextClass {
	SearchConditionClass parent_class;
};

struct _SearchConditionMediaType {
	SearchCondition parent_instance;
	SearchConditionMediaTypePrivate * priv;
};

struct _SearchConditionMediaTypeClass {
	SearchConditionClass parent_class;
};

struct _SearchConditionFlagged {
	SearchCondition parent_instance;
	SearchConditionFlaggedPrivate * priv;
};

struct _SearchConditionFlaggedClass {
	SearchConditionClass parent_class;
};

struct _SearchConditionModified {
	SearchCondition parent_instance;
	SearchConditionModifiedPrivate * priv;
};

struct _SearchConditionModifiedClass {
	SearchConditionClass parent_class;
};

struct _SearchConditionDate {
	SearchCondition parent_instance;
	SearchConditionDatePrivate * priv;
};

struct _SearchConditionDateClass {
	SearchConditionClass parent_class;
};

struct _SavedSearch {
	DataSource parent_instance;
	SavedSearchPrivate * priv;
};

struct _SavedSearchClass {
	DataSourceClass parent_class;
};

struct _SavedSearchTable {
	GTypeInstance parent_instance;
	volatile int ref_count;
	SavedSearchTablePrivate * priv;
};

struct _SavedSearchTableClass {
	GTypeClass parent_class;
	void (*finalize) (SavedSearchTable *self);
};

struct _SidebarRootOnlyBranch {
	SidebarBranch parent_instance;
	SidebarRootOnlyBranchPrivate * priv;
};

struct _SidebarRootOnlyBranchClass {
	SidebarBranchClass parent_class;
};

struct _SidebarInternalDragSourceEntryIface {
	GTypeInterface parent_iface;
	void (*prepare_selection_data) (SidebarInternalDragSourceEntry* self, GtkSelectionData* data);
};

struct _SidebarTree {
	GtkTreeView parent_instance;
	SidebarTreePrivate * priv;
};

struct _SidebarTreeClass {
	GtkTreeViewClass parent_class;
};

struct _MetadataView {
	GtkScrolledWindow parent_instance;
	MetadataViewPrivate * priv;
};

struct _MetadataViewClass {
	GtkScrolledWindowClass parent_class;
};

struct _Properties {
	GtkGrid parent_instance;
	PropertiesPrivate * priv;
	guint line_count;
};

struct _PropertiesClass {
	GtkGridClass parent_class;
	void (*get_single_properties) (Properties* self, DataView* view);
	void (*get_multiple_properties) (Properties* self, GeeIterable* iter);
	void (*get_properties) (Properties* self, Page* current_page);
	void (*clear_properties) (Properties* self);
	void (*update_properties) (Properties* self, Page* page);
	void (*internal_update_properties) (Properties* self, Page* page);
	void (*save_changes_to_source) (Properties* self);
};

struct _PropertiesHeader {
	GtkLabel parent_instance;
	PropertiesHeaderPrivate * priv;
};

struct _PropertiesHeaderClass {
	GtkLabelClass parent_class;
};

struct _PropertiesLabel {
	GtkLabel parent_instance;
	PropertiesLabelPrivate * priv;
};

struct _PropertiesLabelClass {
	GtkLabelClass parent_class;
};

struct _TransitionEffectsManager {
	GTypeInstance parent_instance;
	volatile int ref_count;
	TransitionEffectsManagerPrivate * priv;
};

struct _TransitionEffectsManagerClass {
	GTypeClass parent_class;
	void (*finalize) (TransitionEffectsManager *self);
};

struct _SpitTransitionsEffectIface {
	GTypeInterface parent_iface;
	void (*get_fps) (SpitTransitionsEffect* self, gint* desired_fps, gint* min_fps);
	void (*start) (SpitTransitionsEffect* self, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion);
	gboolean (*needs_clear_background) (SpitTransitionsEffect* self);
	void (*paint) (SpitTransitionsEffect* self, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number);
	void (*advance) (SpitTransitionsEffect* self, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number);
	void (*cancel) (SpitTransitionsEffect* self);
	void (*reserved0) (SpitTransitionsEffect* self);
	void (*reserved1) (SpitTransitionsEffect* self);
	void (*reserved2) (SpitTransitionsEffect* self);
	void (*reserved3) (SpitTransitionsEffect* self);
	void (*reserved4) (SpitTransitionsEffect* self);
	void (*reserved5) (SpitTransitionsEffect* self);
	void (*reserved6) (SpitTransitionsEffect* self);
	void (*reserved7) (SpitTransitionsEffect* self);
};

struct _SpitTransitionsDescriptorIface {
	GTypeInterface parent_iface;
	SpitTransitionsEffect* (*create) (SpitTransitionsDescriptor* self, SpitHostInterface* host);
	void (*reserved0) (SpitTransitionsDescriptor* self);
	void (*reserved1) (SpitTransitionsDescriptor* self);
	void (*reserved2) (SpitTransitionsDescriptor* self);
	void (*reserved3) (SpitTransitionsDescriptor* self);
	void (*reserved4) (SpitTransitionsDescriptor* self);
	void (*reserved5) (SpitTransitionsDescriptor* self);
	void (*reserved6) (SpitTransitionsDescriptor* self);
	void (*reserved7) (SpitTransitionsDescriptor* self);
};

struct _TransitionClock {
	GTypeInstance parent_instance;
	volatile int ref_count;
	TransitionClockPrivate * priv;
};

struct _TransitionClockClass {
	GTypeClass parent_class;
	void (*finalize) (TransitionClock *self);
};

struct _NullTransitionDescriptor {
	GObject parent_instance;
	NullTransitionDescriptorPrivate * priv;
};

struct _NullTransitionDescriptorClass {
	GObjectClass parent_class;
};

struct _NullEffect {
	GObject parent_instance;
	NullEffectPrivate * priv;
};

struct _NullEffectClass {
	GObjectClass parent_class;
};

struct _RandomEffectDescriptor {
	GObject parent_instance;
	RandomEffectDescriptorPrivate * priv;
};

struct _RandomEffectDescriptorClass {
	GObjectClass parent_class;
};

struct _TagsBranch {
	SidebarBranch parent_instance;
	TagsBranchPrivate * priv;
};

struct _TagsBranchClass {
	SidebarBranchClass parent_class;
};

struct _TagsGrouping {
	SidebarGrouping parent_instance;
	TagsGroupingPrivate * priv;
};

struct _TagsGroupingClass {
	SidebarGroupingClass parent_class;
};

struct _TagsSidebarEntry {
	SidebarSimplePageEntry parent_instance;
	TagsSidebarEntryPrivate * priv;
};

struct _TagsSidebarEntryClass {
	SidebarSimplePageEntryClass parent_class;
};

struct _HierarchicalTagIndex {
	GTypeInstance parent_instance;
	volatile int ref_count;
	HierarchicalTagIndexPrivate * priv;
};

struct _HierarchicalTagIndexClass {
	GTypeClass parent_class;
	void (*finalize) (HierarchicalTagIndex *self);
};

struct _NotificationObject {
	GTypeInstance parent_instance;
	volatile int ref_count;
	NotificationObjectPrivate * priv;
};

struct _NotificationObjectClass {
	GTypeClass parent_class;
	void (*finalize) (NotificationObject *self);
};

struct _InterlockedNotificationObject {
	NotificationObject parent_instance;
	InterlockedNotificationObjectPrivate * priv;
};

struct _InterlockedNotificationObjectClass {
	NotificationObjectClass parent_class;
};

struct _BackgroundJob {
	GTypeInstance parent_instance;
	volatile int ref_count;
	BackgroundJobPrivate * priv;
};

struct _BackgroundJobClass {
	GTypeClass parent_class;
	void (*finalize) (BackgroundJob *self);
	void (*execute) (BackgroundJob* self);
	BackgroundJobJobPriority (*get_priority) (BackgroundJob* self);
};

struct _AbstractSemaphore {
	GTypeInstance parent_instance;
	volatile int ref_count;
	AbstractSemaphorePrivate * priv;
};

struct _AbstractSemaphoreClass {
	GTypeClass parent_class;
	void (*finalize) (AbstractSemaphore *self);
	AbstractSemaphoreNotifyAction (*do_notify) (AbstractSemaphore* self);
	AbstractSemaphoreWaitAction (*do_wait) (AbstractSemaphore* self);
	gboolean (*do_reset) (AbstractSemaphore* self);
};

struct _Semaphore {
	AbstractSemaphore parent_instance;
	SemaphorePrivate * priv;
};

struct _SemaphoreClass {
	AbstractSemaphoreClass parent_class;
};

struct _CountdownSemaphore {
	AbstractSemaphore parent_instance;
	CountdownSemaphorePrivate * priv;
};

struct _CountdownSemaphoreClass {
	AbstractSemaphoreClass parent_class;
};

struct _EventSemaphore {
	AbstractSemaphore parent_instance;
	EventSemaphorePrivate * priv;
};

struct _EventSemaphoreClass {
	AbstractSemaphoreClass parent_class;
};

struct _BackgroundJobBatch {
	SortedList parent_instance;
	BackgroundJobBatchPrivate * priv;
};

struct _BackgroundJobBatchClass {
	SortedListClass parent_class;
};

struct _Workers {
	GTypeInstance parent_instance;
	volatile int ref_count;
	WorkersPrivate * priv;
};

struct _WorkersClass {
	GTypeClass parent_class;
	void (*finalize) (Workers *self);
};

struct _DragAndDropHandler {
	GTypeInstance parent_instance;
	volatile int ref_count;
	DragAndDropHandlerPrivate * priv;
};

struct _DragAndDropHandlerClass {
	GTypeClass parent_class;
	void (*finalize) (DragAndDropHandler *self);
};

struct _KeyValueMap {
	GTypeInstance parent_instance;
	volatile int ref_count;
	KeyValueMapPrivate * priv;
};

struct _KeyValueMapClass {
	GTypeClass parent_class;
	void (*finalize) (KeyValueMap *self);
};

struct _OneShotScheduler {
	GTypeInstance parent_instance;
	volatile int ref_count;
	OneShotSchedulerPrivate * priv;
};

struct _OneShotSchedulerClass {
	GTypeClass parent_class;
	void (*finalize) (OneShotScheduler *self);
};

struct _OpTimer {
	GTypeInstance parent_instance;
	volatile int ref_count;
	OpTimerPrivate * priv;
};

struct _OpTimerClass {
	GTypeClass parent_class;
	void (*finalize) (OpTimer *self);
};

struct _CollectionPageCollectionSearchViewFilter {
	DefaultSearchViewFilter parent_instance;
	CollectionPageCollectionSearchViewFilterPrivate * priv;
};

struct _CollectionPageCollectionSearchViewFilterClass {
	DefaultSearchViewFilterClass parent_class;
};

struct _SinglePhotoPage {
	Page parent_instance;
	SinglePhotoPagePrivate * priv;
	GtkDrawingArea* canvas;
	GtkViewport* viewport;
};

struct _SinglePhotoPageClass {
	PageClass parent_class;
	gboolean (*is_zoom_supported) (SinglePhotoPage* self);
	void (*cancel_zoom) (SinglePhotoPage* self);
	void (*save_zoom_state) (SinglePhotoPage* self);
	void (*restore_zoom_state) (SinglePhotoPage* self);
	ZoomBuffer* (*get_zoom_buffer) (SinglePhotoPage* self);
	void (*new_surface) (SinglePhotoPage* self, cairo_t* ctx, Dimensions* ctx_dim);
	void (*updated_pixbuf) (SinglePhotoPage* self, GdkPixbuf* pixbuf, SinglePhotoPageUpdateReason reason, Dimensions* old_dim);
	void (*paint) (SinglePhotoPage* self, cairo_t* ctx, Dimensions* ctx_dim);
	void (*on_previous_photo) (SinglePhotoPage* self);
	void (*on_next_photo) (SinglePhotoPage* self);
};

struct _EditingHostPage {
	SinglePhotoPage parent_instance;
	EditingHostPagePrivate * priv;
	GtkButton* rotate_button;
	GtkToggleButton* enhance_button;
};

struct _EditingHostPageClass {
	SinglePhotoPageClass parent_class;
	gboolean (*on_zoom_assembly_key_press) (EditingHostPage* self, GdkEventKey* event);
	void (*on_increase_size) (EditingHostPage* self);
	void (*on_decrease_size) (EditingHostPage* self);
	void (*photo_changing) (EditingHostPage* self, Photo* new_photo);
	DataView* (*create_photo_view) (EditingHostPage* self, DataSource* source);
	void (*update_ui) (EditingHostPage* self, gboolean missing);
	void (*notify_photo_backing_missing) (EditingHostPage* self, Photo* photo, gboolean missing);
	gboolean (*confirm_replace_photo) (EditingHostPage* self, Photo* old_photo, Photo* new_photo);
	gboolean (*on_double_click) (EditingHostPage* self, GdkEventButton* event);
	GdkPixbuf* (*get_bottom_left_trinket) (EditingHostPage* self, gint scale);
	GdkPixbuf* (*get_top_left_trinket) (EditingHostPage* self, gint scale);
	GdkPixbuf* (*get_top_right_trinket) (EditingHostPage* self, gint scale);
	GdkPixbuf* (*get_bottom_right_trinket) (EditingHostPage* self, gint scale);
};

struct _DirectPhotoPage {
	EditingHostPage parent_instance;
	DirectPhotoPagePrivate * priv;
};

struct _DirectPhotoPageClass {
	EditingHostPageClass parent_class;
};

struct _EventPage {
	CollectionPage parent_instance;
	EventPagePrivate * priv;
};

struct _EventPageClass {
	CollectionPageClass parent_class;
};

struct _NoEventPage {
	CollectionPage parent_instance;
	NoEventPagePrivate * priv;
};

struct _NoEventPageClass {
	CollectionPageClass parent_class;
};

struct _EventsDirectoryPage {
	CheckerboardPage parent_instance;
	EventsDirectoryPagePrivate * priv;
	ViewManager* view_manager;
};

struct _EventsDirectoryPageClass {
	CheckerboardPageClass parent_class;
};

struct _EventsDirectoryPageEventDirectoryManager {
	ViewManager parent_instance;
	EventsDirectoryPageEventDirectoryManagerPrivate * priv;
};

struct _EventsDirectoryPageEventDirectoryManagerClass {
	ViewManagerClass parent_class;
};

struct _MasterEventsDirectoryPage {
	EventsDirectoryPage parent_instance;
	MasterEventsDirectoryPagePrivate * priv;
};

struct _MasterEventsDirectoryPageClass {
	EventsDirectoryPageClass parent_class;
};

struct _SubEventsDirectoryPage {
	EventsDirectoryPage parent_instance;
	SubEventsDirectoryPagePrivate * priv;
};

struct _SubEventsDirectoryPageClass {
	EventsDirectoryPageClass parent_class;
};

struct _FlaggedPage {
	CollectionPage parent_instance;
	FlaggedPagePrivate * priv;
};

struct _FlaggedPageClass {
	CollectionPageClass parent_class;
};

struct _CameraViewTracker {
	CoreViewTracker parent_instance;
	CameraViewTrackerPrivate * priv;
	CameraAccumulator* all;
	CameraAccumulator* visible;
	CameraAccumulator* selected;
};

struct _CameraViewTrackerClass {
	CoreViewTrackerClass parent_class;
};

struct _CameraAccumulator {
	GObject parent_instance;
	CameraAccumulatorPrivate * priv;
};

struct _CameraAccumulatorClass {
	GObjectClass parent_class;
};

struct _ImportPage {
	CheckerboardPage parent_instance;
	ImportPagePrivate * priv;
};

struct _ImportPageClass {
	CheckerboardPageClass parent_class;
};

struct _ImportQueuePage {
	SinglePhotoPage parent_instance;
	ImportQueuePagePrivate * priv;
};

struct _ImportQueuePageClass {
	SinglePhotoPageClass parent_class;
	void (*add_toolbar_widgets) (ImportQueuePage* self, GtkActionBar* toolbar);
};

struct _LastImportPage {
	CollectionPage parent_instance;
	LastImportPagePrivate * priv;
};

struct _LastImportPageClass {
	CollectionPageClass parent_class;
};

struct _LibraryPhotoPage {
	EditingHostPage parent_instance;
	LibraryPhotoPagePrivate * priv;
};

struct _LibraryPhotoPageClass {
	EditingHostPageClass parent_class;
	void (*developer_changed) (LibraryPhotoPage* self, RawDeveloper rd);
};

struct _OfflinePage {
	CheckerboardPage parent_instance;
	OfflinePagePrivate * priv;
};

struct _OfflinePageClass {
	CheckerboardPageClass parent_class;
};

struct _LibraryPhotosEntry {
	SidebarSimplePageEntry parent_instance;
	LibraryPhotosEntryPrivate * priv;
	GIcon* icon;
};

struct _LibraryPhotosEntryClass {
	SidebarSimplePageEntryClass parent_class;
};

struct _LibraryPhotosPage {
	CollectionPage parent_instance;
	LibraryPhotosPagePrivate * priv;
};

struct _LibraryPhotosPageClass {
	CollectionPageClass parent_class;
};

struct _LibraryRawsEntry {
	SidebarSimplePageEntry parent_instance;
	LibraryRawsEntryPrivate * priv;
	GIcon* icon;
};

struct _LibraryRawsEntryClass {
	SidebarSimplePageEntryClass parent_class;
};

struct _LibraryRawsPage {
	CollectionPage parent_instance;
	LibraryRawsPagePrivate * priv;
};

struct _LibraryRawsPageClass {
	CollectionPageClass parent_class;
};

struct _SavedSearchPage {
	CollectionPage parent_instance;
	SavedSearchPagePrivate * priv;
};

struct _SavedSearchPageClass {
	CollectionPageClass parent_class;
};

struct _TagPage {
	CollectionPage parent_instance;
	TagPagePrivate * priv;
};

struct _TagPageClass {
	CollectionPageClass parent_class;
};

struct _TrashPage {
	CheckerboardPage parent_instance;
	TrashPagePrivate * priv;
};

struct _TrashPageClass {
	CheckerboardPageClass parent_class;
};

struct _LibraryVideosEntry {
	LibraryHideablePageEntry parent_instance;
	LibraryVideosEntryPrivate * priv;
	GIcon* icon;
};

struct _LibraryVideosEntryClass {
	LibraryHideablePageEntryClass parent_class;
};

struct _LibraryVideosPage {
	CollectionPage parent_instance;
	LibraryVideosPagePrivate * priv;
};

struct _LibraryVideosPageClass {
	CollectionPageClass parent_class;
};

struct _SearchRow {
	GtkGrid parent_instance;
	SearchRowPrivate * priv;
};

struct _SearchRowClass {
	GtkGridClass parent_class;
	SearchCondition* (*get_search_condition) (SearchRow* self);
	void (*populate) (SearchRow* self, SearchCondition* sc);
	gboolean (*is_complete) (SearchRow* self);
};

struct _EditableTitle {
	GtkEventBox parent_instance;
	EditableTitlePrivate * priv;
};

struct _EditableTitleClass {
	GtkEventBoxClass parent_class;
};

struct _TransitionEffectSelector {
	GtkToolItem parent_instance;
	TransitionEffectSelectorPrivate * priv;
};

struct _TransitionEffectSelectorClass {
	GtkToolItemClass parent_class;
};

struct _SearchRowContainer {
	GObject parent_instance;
	SearchRowContainerPrivate * priv;
};

struct _SearchRowContainerClass {
	GObjectClass parent_class;
};

struct _SearchRowDate {
	SearchRow parent_instance;
	SearchRowDatePrivate * priv;
};

struct _SearchRowDateClass {
	SearchRowClass parent_class;
};

struct _SearchRowFlagged {
	SearchRow parent_instance;
	SearchRowFlaggedPrivate * priv;
};

struct _SearchRowFlaggedClass {
	SearchRowClass parent_class;
};

struct _SearchRowMediaType {
	SearchRow parent_instance;
	SearchRowMediaTypePrivate * priv;
};

struct _SearchRowMediaTypeClass {
	SearchRowClass parent_class;
};

struct _SearchRowModified {
	SearchRow parent_instance;
	SearchRowModifiedPrivate * priv;
};

struct _SearchRowModifiedClass {
	SearchRowClass parent_class;
};

struct _SearchRowText {
	SearchRow parent_instance;
	SearchRowTextPrivate * priv;
};

struct _SearchRowTextClass {
	SearchRowClass parent_class;
};

struct _SliderAssembly {
	GtkGrid parent_instance;
	SliderAssemblyPrivate * priv;
};

struct _SliderAssemblyClass {
	GtkGridClass parent_class;
};

struct _ContractMenuItem {
	GtkMenuItem parent_instance;
	ContractMenuItemPrivate * priv;
};

struct _ContractMenuItemClass {
	GtkMenuItemClass parent_class;
};

struct _CustomPrintTab {
	GtkFixed parent_instance;
	CustomPrintTabPrivate * priv;
};

struct _CustomPrintTabClass {
	GtkFixedClass parent_class;
};

struct _SpitEntryPointParams {
	gint host_min_spit_interface;
	gint host_max_spit_interface;
	gint module_spit_interface;
	GFile* module_file;
};

struct _SpitModuleIface {
	GTypeInterface parent_iface;
	const gchar* (*get_module_name) (SpitModule* self);
	const gchar* (*get_version) (SpitModule* self);
	const gchar* (*get_id) (SpitModule* self);
	SpitPluggable** (*get_pluggables) (SpitModule* self, gint* result_length1);
	void (*reserved0) (SpitModule* self);
	void (*reserved1) (SpitModule* self);
	void (*reserved2) (SpitModule* self);
	void (*reserved3) (SpitModule* self);
	void (*reserved4) (SpitModule* self);
	void (*reserved5) (SpitModule* self);
	void (*reserved6) (SpitModule* self);
	void (*reserved7) (SpitModule* self);
};

struct _SpitTransitionsVisuals {
	GObject parent_instance;
	SpitTransitionsVisualsPrivate * priv;
};

struct _SpitTransitionsVisualsClass {
	GObjectClass parent_class;
	void (*reserved0) (SpitTransitionsVisuals* self);
	void (*reserved1) (SpitTransitionsVisuals* self);
	void (*reserved2) (SpitTransitionsVisuals* self);
	void (*reserved3) (SpitTransitionsVisuals* self);
	void (*reserved4) (SpitTransitionsVisuals* self);
	void (*reserved5) (SpitTransitionsVisuals* self);
	void (*reserved6) (SpitTransitionsVisuals* self);
	void (*reserved7) (SpitTransitionsVisuals* self);
};

struct _SpitTransitionsMotion {
	GObject parent_instance;
	SpitTransitionsMotionPrivate * priv;
};

struct _SpitTransitionsMotionClass {
	GObjectClass parent_class;
	void (*reserved0) (SpitTransitionsMotion* self);
	void (*reserved1) (SpitTransitionsMotion* self);
	void (*reserved2) (SpitTransitionsMotion* self);
	void (*reserved3) (SpitTransitionsMotion* self);
	void (*reserved4) (SpitTransitionsMotion* self);
	void (*reserved5) (SpitTransitionsMotion* self);
	void (*reserved6) (SpitTransitionsMotion* self);
	void (*reserved7) (SpitTransitionsMotion* self);
};

VALA_EXTERN GType photos_application_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PhotosApplication, g_object_unref)
VALA_EXTERN void photos_application_set_raw_thumbs_fix_required (PhotosApplication* self,
                                                     gboolean should_fixup);
VALA_EXTERN gboolean photos_application_get_raw_thumbs_fix_required (PhotosApplication* self);
VALA_EXTERN void photos_application_send_to_primary_instance (gchar** argv,
                                                  gint argv_length1);
VALA_EXTERN void photos_application_present_primary_instance (void);
VALA_EXTERN gboolean photos_application_app_get_is_remote (void);
VALA_EXTERN void photos_application_init (gboolean is_direct);
VALA_EXTERN void photos_application_terminate (void);
VALA_EXTERN void photos_application_start (PhotosApplication* self,
                               gchar** argv,
                               gint argv_length1);
VALA_EXTERN void photos_application_exit (PhotosApplication* self);
VALA_EXTERN void photos_application_panic (PhotosApplication* self);
VALA_EXTERN guint photos_application_app_inhibit (PhotosApplication* self,
                                      GtkApplicationInhibitFlags what,
                                      const gchar* reason);
VALA_EXTERN GType page_window_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PageWindow, g_object_unref)
VALA_EXTERN GType page_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Page, g_object_unref)
VALA_EXTERN GType app_window_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AppWindow, g_object_unref)
VALA_EXTERN GType dimensions_get_type (void) G_GNUC_CONST ;
VALA_EXTERN Dimensions* dimensions_dup (const Dimensions* self);
VALA_EXTERN void dimensions_free (Dimensions* self);
VALA_EXTERN AppWindow* app_window_instance;
VALA_EXTERN AppWindow* app_window_construct (GType object_type);
VALA_EXTERN void app_window_on_fullscreen (AppWindow* self);
VALA_EXTERN AppWindow* app_window_get_instance (void);
VALA_EXTERN GType fullscreen_window_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FullscreenWindow, g_object_unref)
VALA_EXTERN FullscreenWindow* app_window_get_fullscreen (void);
VALA_EXTERN void app_window_error_message (const gchar* title,
                               const gchar* message,
                               GtkWindow* parent);
VALA_EXTERN GtkResponseType app_window_cancel_affirm_question (const gchar* message,
                                                   const gchar* affirmative,
                                                   const gchar* title);
VALA_EXTERN GQuark database_error_quark (void);
VALA_EXTERN GType database_error_get_type (void) G_GNUC_CONST ;
VALA_EXTERN void app_window_database_error (GError* err);
VALA_EXTERN void app_window_panic (const gchar* msg);
VALA_EXTERN gchar* app_window_get_app_role (AppWindow* self);
VALA_EXTERN void app_window_on_quit (AppWindow* self);
VALA_EXTERN GtkActionGroup** app_window_create_common_action_groups (AppWindow* self,
                                                         gint* result_length1);
VALA_EXTERN GtkActionGroup** app_window_get_common_action_groups (AppWindow* self,
                                                      gint* result_length1);
VALA_EXTERN void app_window_go_fullscreen (AppWindow* self,
                               Page* page);
VALA_EXTERN void app_window_end_fullscreen (AppWindow* self);
VALA_EXTERN GtkAction* app_window_get_common_action (AppWindow* self,
                                         const gchar* name);
VALA_EXTERN void app_window_set_common_action_sensitive (AppWindow* self,
                                             const gchar* name,
                                             gboolean sensitive);
VALA_EXTERN void app_window_set_common_action_visible (AppWindow* self,
                                           const gchar* name,
                                           gboolean visible);
VALA_EXTERN void app_window_update_common_action_availability (AppWindow* self,
                                                   Page* old_page,
                                                   Page* new_page);
VALA_EXTERN void app_window_update_common_actions (AppWindow* self,
                                       Page* page,
                                       gint selected_count,
                                       gint count);
VALA_EXTERN gpointer command_manager_ref (gpointer instance);
VALA_EXTERN void command_manager_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_command_manager (const gchar* name,
                                        const gchar* nick,
                                        const gchar* blurb,
                                        GType object_type,
                                        GParamFlags flags);
VALA_EXTERN void value_set_command_manager (GValue* value,
                                gpointer v_object);
VALA_EXTERN void value_take_command_manager (GValue* value,
                                 gpointer v_object);
VALA_EXTERN gpointer value_get_command_manager (const GValue* value);
VALA_EXTERN GType command_manager_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (CommandManager, command_manager_unref)
VALA_EXTERN CommandManager* app_window_get_command_manager (void);
VALA_EXTERN GType import_result_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* import_result_to_string (ImportResult self);
VALA_EXTERN gboolean import_result_is_abort (ImportResult self);
VALA_EXTERN gboolean import_result_is_nonuser_abort (ImportResult self);
VALA_EXTERN ImportResult import_result_convert_error (GError* err,
                                          ImportResult default_result);
VALA_EXTERN gpointer batch_import_job_ref (gpointer instance);
VALA_EXTERN void batch_import_job_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_batch_import_job (const gchar* name,
                                         const gchar* nick,
                                         const gchar* blurb,
                                         GType object_type,
                                         GParamFlags flags);
VALA_EXTERN void value_set_batch_import_job (GValue* value,
                                 gpointer v_object);
VALA_EXTERN void value_take_batch_import_job (GValue* value,
                                  gpointer v_object);
VALA_EXTERN gpointer value_get_batch_import_job (const GValue* value);
VALA_EXTERN GType batch_import_job_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (BatchImportJob, batch_import_job_unref)
VALA_EXTERN GType duplicated_file_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DuplicatedFile, g_object_unref)
VALA_EXTERN GType data_object_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DataObject, g_object_unref)
VALA_EXTERN GType data_source_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DataSource, g_object_unref)
VALA_EXTERN GType thumbnail_source_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ThumbnailSource, g_object_unref)
VALA_EXTERN GType media_source_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MediaSource, g_object_unref)
VALA_EXTERN gpointer batch_import_roll_ref (gpointer instance);
VALA_EXTERN void batch_import_roll_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_batch_import_roll (const gchar* name,
                                          const gchar* nick,
                                          const gchar* blurb,
                                          GType object_type,
                                          GParamFlags flags);
VALA_EXTERN void value_set_batch_import_roll (GValue* value,
                                  gpointer v_object);
VALA_EXTERN void value_take_batch_import_roll (GValue* value,
                                   gpointer v_object);
VALA_EXTERN gpointer value_get_batch_import_roll (const GValue* value);
VALA_EXTERN GType batch_import_roll_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (BatchImportRoll, batch_import_roll_unref)
VALA_EXTERN gchar* batch_import_job_get_dest_identifier (BatchImportJob* self);
VALA_EXTERN gchar* batch_import_job_get_source_identifier (BatchImportJob* self);
VALA_EXTERN gboolean batch_import_job_is_directory (BatchImportJob* self);
VALA_EXTERN gchar* batch_import_job_get_basename (BatchImportJob* self);
VALA_EXTERN gchar* batch_import_job_get_path (BatchImportJob* self);
VALA_EXTERN DuplicatedFile* batch_import_job_get_duplicated_file (BatchImportJob* self);
VALA_EXTERN void batch_import_job_set_associated (BatchImportJob* self,
                                      BatchImportJob* associated);
VALA_EXTERN gboolean batch_import_job_determine_file_size (BatchImportJob* self,
                                               guint64* filesize,
                                               GFile** file_or_dir);
VALA_EXTERN gboolean batch_import_job_prepare (BatchImportJob* self,
                                   GFile** file_to_import,
                                   gboolean* copy_to_library,
                                   GError** error);
VALA_EXTERN gboolean batch_import_job_complete (BatchImportJob* self,
                                    MediaSource* source,
                                    BatchImportRoll* import_roll,
                                    GError** error);
VALA_EXTERN gint64 batch_import_job_get_exposure_time_override (BatchImportJob* self);
VALA_EXTERN BatchImportJob* batch_import_job_construct (GType object_type);
VALA_EXTERN GType file_import_job_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FileImportJob, batch_import_job_unref)
VALA_EXTERN FileImportJob* file_import_job_new (GFile* file_or_dir,
                                    gboolean copy_to_library);
VALA_EXTERN FileImportJob* file_import_job_construct (GType object_type,
                                          GFile* file_or_dir,
                                          gboolean copy_to_library);
VALA_EXTERN GFile* file_import_job_get_file (FileImportJob* self);
VALA_EXTERN GType import_id_get_type (void) G_GNUC_CONST ;
VALA_EXTERN ImportID* import_id_dup (const ImportID* self);
VALA_EXTERN void import_id_free (ImportID* self);
VALA_EXTERN gpointer data_collection_ref (gpointer instance);
VALA_EXTERN void data_collection_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_data_collection (const gchar* name,
                                        const gchar* nick,
                                        const gchar* blurb,
                                        GType object_type,
                                        GParamFlags flags);
VALA_EXTERN void value_set_data_collection (GValue* value,
                                gpointer v_object);
VALA_EXTERN void value_take_data_collection (GValue* value,
                                 gpointer v_object);
VALA_EXTERN gpointer value_get_data_collection (const GValue* value);
VALA_EXTERN GType data_collection_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DataCollection, data_collection_unref)
VALA_EXTERN GType view_collection_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ViewCollection, data_collection_unref)
VALA_EXTERN BatchImportRoll* batch_import_roll_new (void);
VALA_EXTERN BatchImportRoll* batch_import_roll_construct (GType object_type);
VALA_EXTERN gpointer batch_import_result_ref (gpointer instance);
VALA_EXTERN void batch_import_result_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_batch_import_result (const gchar* name,
                                            const gchar* nick,
                                            const gchar* blurb,
                                            GType object_type,
                                            GParamFlags flags);
VALA_EXTERN void value_set_batch_import_result (GValue* value,
                                    gpointer v_object);
VALA_EXTERN void value_take_batch_import_result (GValue* value,
                                     gpointer v_object);
VALA_EXTERN gpointer value_get_batch_import_result (const GValue* value);
VALA_EXTERN GType batch_import_result_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (BatchImportResult, batch_import_result_unref)
VALA_EXTERN BatchImportResult* batch_import_result_new (BatchImportJob* job,
                                            GFile* file,
                                            const gchar* src_identifier,
                                            const gchar* dest_identifier,
                                            DuplicatedFile* duplicate_of,
                                            ImportResult _result_);
VALA_EXTERN BatchImportResult* batch_import_result_construct (GType object_type,
                                                  BatchImportJob* job,
                                                  GFile* file,
                                                  const gchar* src_identifier,
                                                  const gchar* dest_identifier,
                                                  DuplicatedFile* duplicate_of,
                                                  ImportResult _result_);
VALA_EXTERN BatchImportResult* batch_import_result_new_from_error (BatchImportJob* job,
                                                       GFile* file,
                                                       const gchar* src_identifier,
                                                       const gchar* dest_identifier,
                                                       GError* err,
                                                       ImportResult default_result);
VALA_EXTERN BatchImportResult* batch_import_result_construct_from_error (GType object_type,
                                                             BatchImportJob* job,
                                                             GFile* file,
                                                             const gchar* src_identifier,
                                                             const gchar* dest_identifier,
                                                             GError* err,
                                                             ImportResult default_result);
VALA_EXTERN gpointer import_manifest_ref (gpointer instance);
VALA_EXTERN void import_manifest_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_import_manifest (const gchar* name,
                                        const gchar* nick,
                                        const gchar* blurb,
                                        GType object_type,
                                        GParamFlags flags);
VALA_EXTERN void value_set_import_manifest (GValue* value,
                                gpointer v_object);
VALA_EXTERN void value_take_import_manifest (GValue* value,
                                 gpointer v_object);
VALA_EXTERN gpointer value_get_import_manifest (const GValue* value);
VALA_EXTERN GType import_manifest_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ImportManifest, import_manifest_unref)
VALA_EXTERN ImportManifest* import_manifest_new (GeeList* prefailed,
                                     GeeList* pre_already_imported);
VALA_EXTERN ImportManifest* import_manifest_construct (GType object_type,
                                           GeeList* prefailed,
                                           GeeList* pre_already_imported);
VALA_EXTERN void import_manifest_add_result (ImportManifest* self,
                                 BatchImportResult* batch_result);
VALA_EXTERN GType batch_import_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (BatchImport, g_object_unref)
VALA_EXTERN BatchImport* batch_import_new (GeeIterable* jobs,
                               const gchar* name,
                               BatchImportImportReporter reporter,
                               gpointer reporter_target,
                               GeeArrayList* prefailed,
                               GeeArrayList* pre_already_imported,
                               GCancellable* cancellable,
                               BatchImportRoll* import_roll,
                               ImportManifest* skip_manifest);
VALA_EXTERN BatchImport* batch_import_construct (GType object_type,
                                     GeeIterable* jobs,
                                     const gchar* name,
                                     BatchImportImportReporter reporter,
                                     gpointer reporter_target,
                                     GeeArrayList* prefailed,
                                     GeeArrayList* pre_already_imported,
                                     GCancellable* cancellable,
                                     BatchImportRoll* import_roll,
                                     ImportManifest* skip_manifest);
VALA_EXTERN gchar* batch_import_get_name (BatchImport* self);
VALA_EXTERN void batch_import_user_halt (BatchImport* self);
VALA_EXTERN gboolean batch_import_get_untrash_duplicates (BatchImport* self);
VALA_EXTERN void batch_import_set_untrash_duplicates (BatchImport* self,
                                          gboolean untrash_duplicates);
VALA_EXTERN gboolean batch_import_get_mark_duplicates_online (BatchImport* self);
VALA_EXTERN void batch_import_set_mark_duplicates_online (BatchImport* self,
                                              gboolean mark_duplicates_online);
VALA_EXTERN void batch_import_schedule (BatchImport* self);
VALA_EXTERN GType photo_id_get_type (void) G_GNUC_CONST ;
VALA_EXTERN PhotoID* photo_id_dup (const PhotoID* self);
VALA_EXTERN void photo_id_free (PhotoID* self);
VALA_EXTERN DuplicatedFile* duplicated_file_create_from_photo_id (PhotoID* photo_id);
VALA_EXTERN GType video_id_get_type (void) G_GNUC_CONST ;
VALA_EXTERN VideoID* video_id_dup (const VideoID* self);
VALA_EXTERN void video_id_free (VideoID* self);
VALA_EXTERN DuplicatedFile* duplicated_file_create_from_video_id (VideoID* video_id);
VALA_EXTERN DuplicatedFile* duplicated_file_create_from_file (GFile* file);
VALA_EXTERN GFile* duplicated_file_get_file (DuplicatedFile* self);
VALA_EXTERN GType box_location_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType box_complements_get_type (void) G_GNUC_CONST ;
VALA_EXTERN BoxComplements box_complements_derive (gboolean horizontal_complement,
                                       gboolean vertical_complement);
VALA_EXTERN GType box_get_type (void) G_GNUC_CONST ;
VALA_EXTERN Box* box_dup (const Box* self);
VALA_EXTERN void box_free (Box* self);
VALA_EXTERN void box_init (Box *self,
               gint left,
               gint top,
               gint right,
               gint bottom);
VALA_EXTERN void box_from_rectangle (GdkRectangle* rect,
                         Box* result);
VALA_EXTERN void box_from_allocation (GtkAllocation* alloc,
                          Box* result);
VALA_EXTERN void box_from_points (GdkPoint* corner1,
                      GdkPoint* corner2,
                      Box* result);
VALA_EXTERN void box_from_center (GdkPoint* center,
                      gint width,
                      gint height,
                      Box* result);
VALA_EXTERN gint box_get_width (Box *self);
VALA_EXTERN gint box_get_height (Box *self);
VALA_EXTERN gboolean box_is_valid (Box *self);
VALA_EXTERN gboolean box_equals (Box *self,
                     Box* box);
VALA_EXTERN void box_adjust_width (Box *self,
                       gint width);
VALA_EXTERN void box_adjust_height (Box *self,
                        gint height);
VALA_EXTERN void box_get_scaled (Box *self,
                     Dimensions* scaled,
                     Box* result);
VALA_EXTERN void box_get_scaled_similar (Box *self,
                             Dimensions* original,
                             Dimensions* scaled,
                             Box* result);
VALA_EXTERN void box_get_offset (Box *self,
                     gint xofs,
                     gint yofs,
                     Box* result);
VALA_EXTERN void box_get_dimensions (Box *self,
                         Dimensions* result);
VALA_EXTERN void box_get_points (Box *self,
                     GdkPoint* top_left,
                     GdkPoint* bottom_right);
VALA_EXTERN void box_get_rectangle (Box *self,
                        GdkRectangle* result);
VALA_EXTERN void box_get_center (Box *self,
                     GdkPoint* result);
VALA_EXTERN void box_rotate_clockwise (Box *self,
                           Dimensions* space,
                           Box* result);
VALA_EXTERN void box_rotate_counterclockwise (Box *self,
                                  Dimensions* space,
                                  Box* result);
VALA_EXTERN void box_flip_left_to_right (Box *self,
                             Dimensions* space,
                             Box* result);
VALA_EXTERN void box_flip_top_to_bottom (Box *self,
                             Dimensions* space,
                             Box* result);
VALA_EXTERN gboolean box_intersects (Box *self,
                         Box* compare);
VALA_EXTERN void box_get_reduced (Box *self,
                      gint amount,
                      Box* result);
VALA_EXTERN void box_get_expanded (Box *self,
                       gint amount,
                       Box* result);
VALA_EXTERN gboolean box_contains (Box *self,
                       GdkPoint* point);
VALA_EXTERN BoxComplements box_resized_complements (Box *self,
                                        Box* resized,
                                        Box* horizontal,
                                        gboolean* horizontal_enlarged,
                                        Box* vertical,
                                        gboolean* vertical_enlarged);
VALA_EXTERN BoxComplements box_shifted_complements (Box *self,
                                        Box* shifted,
                                        Box* horizontal_this,
                                        Box* vertical_this,
                                        Box* horizontal_shifted,
                                        Box* vertical_shifted);
VALA_EXTERN void box_rubber_band (Box *self,
                      GdkPoint* point,
                      Box* result);
VALA_EXTERN gchar* box_to_string (Box *self);
VALA_EXTERN BoxLocation box_approx_location (Box *self,
                                 gint x,
                                 gint y);
VALA_EXTERN gpointer view_manager_ref (gpointer instance);
VALA_EXTERN void view_manager_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_view_manager (const gchar* name,
                                     const gchar* nick,
                                     const gchar* blurb,
                                     GType object_type,
                                     GParamFlags flags);
VALA_EXTERN void value_set_view_manager (GValue* value,
                             gpointer v_object);
VALA_EXTERN void value_take_view_manager (GValue* value,
                              gpointer v_object);
VALA_EXTERN gpointer value_get_view_manager (const GValue* value);
VALA_EXTERN GType view_manager_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ViewManager, view_manager_unref)
VALA_EXTERN GType data_view_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DataView, g_object_unref)
VALA_EXTERN GType collection_view_manager_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (CollectionViewManager, view_manager_unref)
VALA_EXTERN GType checkerboard_page_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (CheckerboardPage, g_object_unref)
VALA_EXTERN GType media_page_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MediaPage, g_object_unref)
VALA_EXTERN GType collection_page_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (CollectionPage, g_object_unref)
VALA_EXTERN CollectionViewManager* collection_view_manager_new (CollectionPage* page);
VALA_EXTERN CollectionViewManager* collection_view_manager_construct (GType object_type,
                                                          CollectionPage* page);
VALA_EXTERN GType rgb_analytic_pixel_get_type (void) G_GNUC_CONST ;
VALA_EXTERN RGBAnalyticPixel* rgb_analytic_pixel_dup (const RGBAnalyticPixel* self);
VALA_EXTERN void rgb_analytic_pixel_free (RGBAnalyticPixel* self);
VALA_EXTERN void rgb_analytic_pixel_init (RGBAnalyticPixel *self);
VALA_EXTERN void rgb_analytic_pixel_init_from_components (RGBAnalyticPixel *self,
                                              gfloat red,
                                              gfloat green,
                                              gfloat blue);
VALA_EXTERN void rgb_analytic_pixel_init_from_quantized_components (RGBAnalyticPixel *self,
                                                        guchar red_quantized,
                                                        guchar green_quantized,
                                                        guchar blue_quantized);
VALA_EXTERN GType hsv_analytic_pixel_get_type (void) G_GNUC_CONST ;
VALA_EXTERN HSVAnalyticPixel* hsv_analytic_pixel_dup (const HSVAnalyticPixel* self);
VALA_EXTERN void hsv_analytic_pixel_free (HSVAnalyticPixel* self);
VALA_EXTERN void rgb_analytic_pixel_init_from_hsv (RGBAnalyticPixel *self,
                                       HSVAnalyticPixel* hsv_pixel);
VALA_EXTERN guchar rgb_analytic_pixel_quantized_red (RGBAnalyticPixel *self);
VALA_EXTERN guchar rgb_analytic_pixel_quantized_green (RGBAnalyticPixel *self);
VALA_EXTERN guchar rgb_analytic_pixel_quantized_blue (RGBAnalyticPixel *self);
VALA_EXTERN gboolean rgb_analytic_pixel_equals (RGBAnalyticPixel *self,
                                    RGBAnalyticPixel* rhs);
VALA_EXTERN guint rgb_analytic_pixel_hash_code (RGBAnalyticPixel *self);
VALA_EXTERN void rgb_analytic_pixel_to_hsv (RGBAnalyticPixel *self,
                                HSVAnalyticPixel* result);
VALA_EXTERN void hsv_analytic_pixel_init (HSVAnalyticPixel *self);
VALA_EXTERN void hsv_analytic_pixel_init_from_components (HSVAnalyticPixel *self,
                                              gfloat hue,
                                              gfloat saturation,
                                              gfloat light_value);
VALA_EXTERN void hsv_analytic_pixel_init_from_quantized_components (HSVAnalyticPixel *self,
                                                        guchar hue_quantized,
                                                        guchar saturation_quantized,
                                                        guchar light_value_quantized);
VALA_EXTERN void hsv_analytic_pixel_init_from_rgb (HSVAnalyticPixel *self,
                                       RGBAnalyticPixel* p);
VALA_EXTERN void hsv_analytic_pixel_to_rgb (HSVAnalyticPixel *self,
                                RGBAnalyticPixel* result);
VALA_EXTERN gboolean hsv_analytic_pixel_equals (HSVAnalyticPixel *self,
                                    HSVAnalyticPixel* rhs);
VALA_EXTERN guint hsv_analytic_pixel_hash_code (HSVAnalyticPixel *self);
VALA_EXTERN GType composition_mode_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType pixel_format_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType pixel_transformation_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gpointer pixel_transformation_bundle_ref (gpointer instance);
VALA_EXTERN void pixel_transformation_bundle_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_pixel_transformation_bundle (const gchar* name,
                                                    const gchar* nick,
                                                    const gchar* blurb,
                                                    GType object_type,
                                                    GParamFlags flags);
VALA_EXTERN void value_set_pixel_transformation_bundle (GValue* value,
                                            gpointer v_object);
VALA_EXTERN void value_take_pixel_transformation_bundle (GValue* value,
                                             gpointer v_object);
VALA_EXTERN gpointer value_get_pixel_transformation_bundle (const GValue* value);
VALA_EXTERN GType pixel_transformation_bundle_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PixelTransformationBundle, pixel_transformation_bundle_unref)
VALA_EXTERN PixelTransformationBundle* pixel_transformation_bundle_new (void);
VALA_EXTERN PixelTransformationBundle* pixel_transformation_bundle_construct (GType object_type);
VALA_EXTERN PixelTransformationBundle* pixel_transformation_bundle_get_copied_color_adjustments (void);
VALA_EXTERN void pixel_transformation_bundle_set_copied_color_adjustments (PixelTransformationBundle* adjustments);
VALA_EXTERN gboolean pixel_transformation_bundle_has_copied_color_adjustments (void);
VALA_EXTERN gpointer pixel_transformation_ref (gpointer instance);
VALA_EXTERN void pixel_transformation_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_pixel_transformation (const gchar* name,
                                             const gchar* nick,
                                             const gchar* blurb,
                                             GType object_type,
                                             GParamFlags flags);
VALA_EXTERN void value_set_pixel_transformation (GValue* value,
                                     gpointer v_object);
VALA_EXTERN void value_take_pixel_transformation (GValue* value,
                                      gpointer v_object);
VALA_EXTERN gpointer value_get_pixel_transformation (const GValue* value);
VALA_EXTERN GType pixel_transformation_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PixelTransformation, pixel_transformation_unref)
VALA_EXTERN void pixel_transformation_bundle_set (PixelTransformationBundle* self,
                                      PixelTransformation* transformation);
VALA_EXTERN void pixel_transformation_bundle_set_to_identity (PixelTransformationBundle* self);
VALA_EXTERN gpointer key_value_map_ref (gpointer instance);
VALA_EXTERN void key_value_map_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_key_value_map (const gchar* name,
                                      const gchar* nick,
                                      const gchar* blurb,
                                      GType object_type,
                                      GParamFlags flags);
VALA_EXTERN void value_set_key_value_map (GValue* value,
                              gpointer v_object);
VALA_EXTERN void value_take_key_value_map (GValue* value,
                               gpointer v_object);
VALA_EXTERN gpointer value_get_key_value_map (const GValue* value);
VALA_EXTERN GType key_value_map_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (KeyValueMap, key_value_map_unref)
VALA_EXTERN void pixel_transformation_bundle_load (PixelTransformationBundle* self,
                                       KeyValueMap* store);
VALA_EXTERN KeyValueMap* pixel_transformation_bundle_save (PixelTransformationBundle* self,
                                               const gchar* group);
VALA_EXTERN gint pixel_transformation_bundle_get_count (PixelTransformationBundle* self);
VALA_EXTERN PixelTransformation* pixel_transformation_bundle_get_transformation (PixelTransformationBundle* self,
                                                                     PixelTransformationType type);
VALA_EXTERN GeeIterable* pixel_transformation_bundle_get_transformations (PixelTransformationBundle* self);
VALA_EXTERN gboolean pixel_transformation_bundle_is_identity (PixelTransformationBundle* self);
VALA_EXTERN gpointer pixel_transformer_ref (gpointer instance);
VALA_EXTERN void pixel_transformer_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_pixel_transformer (const gchar* name,
                                          const gchar* nick,
                                          const gchar* blurb,
                                          GType object_type,
                                          GParamFlags flags);
VALA_EXTERN void value_set_pixel_transformer (GValue* value,
                                  gpointer v_object);
VALA_EXTERN void value_take_pixel_transformer (GValue* value,
                                   gpointer v_object);
VALA_EXTERN gpointer value_get_pixel_transformer (const GValue* value);
VALA_EXTERN GType pixel_transformer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PixelTransformer, pixel_transformer_unref)
VALA_EXTERN PixelTransformer* pixel_transformation_bundle_generate_transformer (PixelTransformationBundle* self);
VALA_EXTERN PixelTransformationBundle* pixel_transformation_bundle_copy (PixelTransformationBundle* self);
VALA_EXTERN PixelTransformation* pixel_transformation_construct (GType object_type,
                                                     PixelTransformationType type);
VALA_EXTERN PixelTransformationType pixel_transformation_get_transformation_type (PixelTransformation* self);
VALA_EXTERN PixelFormat pixel_transformation_get_preferred_format (PixelTransformation* self);
VALA_EXTERN CompositionMode pixel_transformation_get_composition_mode (PixelTransformation* self);
VALA_EXTERN void pixel_transformation_compose_with (PixelTransformation* self,
                                        PixelTransformation* other);
VALA_EXTERN gboolean pixel_transformation_is_identity (PixelTransformation* self);
VALA_EXTERN void pixel_transformation_transform_pixel_hsv (PixelTransformation* self,
                                               HSVAnalyticPixel* p,
                                               HSVAnalyticPixel* result);
VALA_EXTERN void pixel_transformation_transform_pixel_rgb (PixelTransformation* self,
                                               RGBAnalyticPixel* p,
                                               RGBAnalyticPixel* result);
VALA_EXTERN gchar* pixel_transformation_to_string (PixelTransformation* self);
VALA_EXTERN PixelTransformation* pixel_transformation_copy (PixelTransformation* self);
VALA_EXTERN GType rgb_transformation_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (RGBTransformation, pixel_transformation_unref)
VALA_EXTERN RGBTransformation* rgb_transformation_new (PixelTransformationType type);
VALA_EXTERN RGBTransformation* rgb_transformation_construct (GType object_type,
                                                 PixelTransformationType type);
VALA_EXTERN GType hsv_transformation_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (HSVTransformation, pixel_transformation_unref)
VALA_EXTERN HSVTransformation* hsv_transformation_construct (GType object_type,
                                                 PixelTransformationType type);
VALA_EXTERN GType tint_transformation_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TintTransformation, pixel_transformation_unref)
VALA_EXTERN TintTransformation* tint_transformation_new (gfloat client_param);
VALA_EXTERN TintTransformation* tint_transformation_construct (GType object_type,
                                                   gfloat client_param);
VALA_EXTERN gfloat tint_transformation_get_parameter (TintTransformation* self);
VALA_EXTERN GType temperature_transformation_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TemperatureTransformation, pixel_transformation_unref)
VALA_EXTERN TemperatureTransformation* temperature_transformation_new (gfloat client_parameter);
VALA_EXTERN TemperatureTransformation* temperature_transformation_construct (GType object_type,
                                                                 gfloat client_parameter);
VALA_EXTERN gfloat temperature_transformation_get_parameter (TemperatureTransformation* self);
VALA_EXTERN GType saturation_transformation_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SaturationTransformation, pixel_transformation_unref)
VALA_EXTERN SaturationTransformation* saturation_transformation_new (gfloat client_parameter);
VALA_EXTERN SaturationTransformation* saturation_transformation_construct (GType object_type,
                                                               gfloat client_parameter);
VALA_EXTERN gfloat saturation_transformation_get_parameter (SaturationTransformation* self);
VALA_EXTERN GType exposure_transformation_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ExposureTransformation, pixel_transformation_unref)
VALA_EXTERN ExposureTransformation* exposure_transformation_new (gfloat client_parameter);
VALA_EXTERN ExposureTransformation* exposure_transformation_construct (GType object_type,
                                                           gfloat client_parameter);
VALA_EXTERN gfloat exposure_transformation_get_parameter (ExposureTransformation* self);
VALA_EXTERN PixelTransformer* pixel_transformer_new (void);
VALA_EXTERN PixelTransformer* pixel_transformer_construct (GType object_type);
VALA_EXTERN PixelTransformer* pixel_transformer_copy (PixelTransformer* self);
VALA_EXTERN void pixel_transformer_attach_transformation (PixelTransformer* self,
                                              PixelTransformation* trans);
VALA_EXTERN void pixel_transformer_detach_transformation (PixelTransformer* self,
                                              PixelTransformation* victim);
VALA_EXTERN void pixel_transformer_replace_transformation (PixelTransformer* self,
                                               PixelTransformation* old_trans,
                                               PixelTransformation* new_trans);
VALA_EXTERN void pixel_transformer_transform_pixbuf (PixelTransformer* self,
                                         GdkPixbuf* pixbuf,
                                         GCancellable* cancellable);
VALA_EXTERN void pixel_transformer_transform_from_fp (PixelTransformer* self,
                                          gfloat** fp_pixel_cache,
                                          gint* fp_pixel_cache_length1,
                                          GdkPixbuf* dest);
VALA_EXTERN void pixel_transformer_transform_to_other_pixbuf (PixelTransformer* self,
                                                  GdkPixbuf* source,
                                                  GdkPixbuf* dest,
                                                  GCancellable* cancellable);
VALA_EXTERN gpointer intensity_histogram_ref (gpointer instance);
VALA_EXTERN void intensity_histogram_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_intensity_histogram (const gchar* name,
                                            const gchar* nick,
                                            const gchar* blurb,
                                            GType object_type,
                                            GParamFlags flags);
VALA_EXTERN void value_set_intensity_histogram (GValue* value,
                                    gpointer v_object);
VALA_EXTERN void value_take_intensity_histogram (GValue* value,
                                     gpointer v_object);
VALA_EXTERN gpointer value_get_intensity_histogram (const GValue* value);
VALA_EXTERN GType intensity_histogram_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (IntensityHistogram, intensity_histogram_unref)
VALA_EXTERN IntensityHistogram* intensity_histogram_new (GdkPixbuf* pixbuf);
VALA_EXTERN IntensityHistogram* intensity_histogram_construct (GType object_type,
                                                   GdkPixbuf* pixbuf);
VALA_EXTERN gfloat intensity_histogram_get_cumulative_probability (IntensityHistogram* self,
                                                       gint level);
VALA_EXTERN GType expansion_transformation_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ExpansionTransformation, pixel_transformation_unref)
VALA_EXTERN ExpansionTransformation* expansion_transformation_new (IntensityHistogram* histogram);
VALA_EXTERN ExpansionTransformation* expansion_transformation_construct (GType object_type,
                                                             IntensityHistogram* histogram);
VALA_EXTERN ExpansionTransformation* expansion_transformation_new_from_extrema (gint black_point,
                                                                    gint white_point);
VALA_EXTERN ExpansionTransformation* expansion_transformation_construct_from_extrema (GType object_type,
                                                                          gint black_point,
                                                                          gint white_point);
VALA_EXTERN ExpansionTransformation* expansion_transformation_new_from_string (const gchar* encoded_transformation);
VALA_EXTERN ExpansionTransformation* expansion_transformation_construct_from_string (GType object_type,
                                                                         const gchar* encoded_transformation);
VALA_EXTERN gint expansion_transformation_get_white_point (ExpansionTransformation* self);
VALA_EXTERN gint expansion_transformation_get_black_point (ExpansionTransformation* self);
VALA_EXTERN GType shadow_detail_transformation_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ShadowDetailTransformation, pixel_transformation_unref)
VALA_EXTERN ShadowDetailTransformation* shadow_detail_transformation_new (gfloat user_intensity);
VALA_EXTERN ShadowDetailTransformation* shadow_detail_transformation_construct (GType object_type,
                                                                    gfloat user_intensity);
VALA_EXTERN gfloat shadow_detail_transformation_get_parameter (ShadowDetailTransformation* self);
VALA_EXTERN gpointer hermite_gamma_approximation_function_ref (gpointer instance);
VALA_EXTERN void hermite_gamma_approximation_function_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_hermite_gamma_approximation_function (const gchar* name,
                                                             const gchar* nick,
                                                             const gchar* blurb,
                                                             GType object_type,
                                                             GParamFlags flags);
VALA_EXTERN void value_set_hermite_gamma_approximation_function (GValue* value,
                                                     gpointer v_object);
VALA_EXTERN void value_take_hermite_gamma_approximation_function (GValue* value,
                                                      gpointer v_object);
VALA_EXTERN gpointer value_get_hermite_gamma_approximation_function (const GValue* value);
VALA_EXTERN GType hermite_gamma_approximation_function_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (HermiteGammaApproximationFunction, hermite_gamma_approximation_function_unref)
VALA_EXTERN HermiteGammaApproximationFunction* hermite_gamma_approximation_function_new (gfloat user_interval_upper);
VALA_EXTERN HermiteGammaApproximationFunction* hermite_gamma_approximation_function_construct (GType object_type,
                                                                                   gfloat user_interval_upper);
VALA_EXTERN gfloat hermite_gamma_approximation_function_evaluate (HermiteGammaApproximationFunction* self,
                                                      gfloat x);
VALA_EXTERN GType highlight_detail_transformation_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (HighlightDetailTransformation, pixel_transformation_unref)
VALA_EXTERN HighlightDetailTransformation* highlight_detail_transformation_new (gfloat user_intensity);
VALA_EXTERN HighlightDetailTransformation* highlight_detail_transformation_construct (GType object_type,
                                                                          gfloat user_intensity);
VALA_EXTERN gfloat highlight_detail_transformation_get_parameter (HighlightDetailTransformation* self);
VALA_EXTERN PixelTransformationBundle* auto_enhance_create_auto_enhance_adjustments (GdkPixbuf* pixbuf);
VALA_EXTERN GType command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Command, g_object_unref)
VALA_EXTERN Command* command_construct (GType object_type,
                            const gchar* name,
                            const gchar* explanation);
VALA_EXTERN void command_prepare (Command* self);
VALA_EXTERN void command_execute (Command* self);
VALA_EXTERN void command_undo (Command* self);
VALA_EXTERN void command_redo (Command* self);
VALA_EXTERN gboolean command_compress (Command* self,
                           Command* command);
VALA_EXTERN CommandManager* command_get_command_manager (Command* self);
VALA_EXTERN void command_internal_set_command_manager (Command* self,
                                           CommandManager* manager);
VALA_EXTERN const gchar* command_get_name (Command* self);
VALA_EXTERN const gchar* command_get_explanation (Command* self);
VALA_EXTERN CommandManager* command_manager_new (gint depth);
VALA_EXTERN CommandManager* command_manager_construct (GType object_type,
                                           gint depth);
VALA_EXTERN void command_manager_reset (CommandManager* self);
VALA_EXTERN void command_manager_execute (CommandManager* self,
                              Command* command);
VALA_EXTERN gboolean command_manager_can_undo (CommandManager* self);
VALA_EXTERN Command* command_manager_get_undo_command (CommandManager* self);
VALA_EXTERN gboolean command_manager_undo (CommandManager* self);
VALA_EXTERN gboolean command_manager_can_redo (CommandManager* self);
VALA_EXTERN Command* command_manager_get_redo_command (CommandManager* self);
VALA_EXTERN gboolean command_manager_redo (CommandManager* self);
VALA_EXTERN GType page_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PageCommand, g_object_unref)
VALA_EXTERN PageCommand* page_command_construct (GType object_type,
                                     const gchar* name,
                                     const gchar* explanation);
VALA_EXTERN void page_command_set_auto_return_to_page (PageCommand* self,
                                           gboolean auto_return);
VALA_EXTERN void page_command_return_to_page (PageCommand* self);
VALA_EXTERN GType single_data_source_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SingleDataSourceCommand, g_object_unref)
VALA_EXTERN SingleDataSourceCommand* single_data_source_command_construct (GType object_type,
                                                               DataSource* source,
                                                               const gchar* name,
                                                               const gchar* explanation);
VALA_EXTERN DataSource* single_data_source_command_get_source (SingleDataSourceCommand* self);
VALA_EXTERN GType simple_proxyable_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SimpleProxyableCommand, g_object_unref)
VALA_EXTERN gpointer source_proxy_ref (gpointer instance);
VALA_EXTERN void source_proxy_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_source_proxy (const gchar* name,
                                     const gchar* nick,
                                     const gchar* blurb,
                                     GType object_type,
                                     GParamFlags flags);
VALA_EXTERN void value_set_source_proxy (GValue* value,
                             gpointer v_object);
VALA_EXTERN void value_take_source_proxy (GValue* value,
                              gpointer v_object);
VALA_EXTERN gpointer value_get_source_proxy (const GValue* value);
VALA_EXTERN GType source_proxy_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SourceProxy, source_proxy_unref)
VALA_EXTERN GType proxyable_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Proxyable, g_object_unref)
VALA_EXTERN SimpleProxyableCommand* simple_proxyable_command_construct (GType object_type,
                                                            Proxyable* proxyable,
                                                            const gchar* name,
                                                            const gchar* explanation);
VALA_EXTERN void simple_proxyable_command_execute_on_source (SimpleProxyableCommand* self,
                                                 DataSource* source);
VALA_EXTERN void simple_proxyable_command_undo_on_source (SimpleProxyableCommand* self,
                                              DataSource* source);
VALA_EXTERN void simple_proxyable_command_add_proxyables (SimpleProxyableCommand* self,
                                              GeeCollection* proxyables);
VALA_EXTERN void simple_proxyable_command_clear_added_proxies (SimpleProxyableCommand* self);
VALA_EXTERN GType single_photo_transformation_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SinglePhotoTransformationCommand, g_object_unref)
VALA_EXTERN GType photo_source_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PhotoSource, g_object_unref)
VALA_EXTERN GType photo_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Photo, g_object_unref)
VALA_EXTERN SinglePhotoTransformationCommand* single_photo_transformation_command_construct (GType object_type,
                                                                                 Photo* photo,
                                                                                 const gchar* name,
                                                                                 const gchar* explanation);
VALA_EXTERN GType generic_photo_transformation_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GenericPhotoTransformationCommand, g_object_unref)
VALA_EXTERN GenericPhotoTransformationCommand* generic_photo_transformation_command_construct (GType object_type,
                                                                                   Photo* photo,
                                                                                   const gchar* name,
                                                                                   const gchar* explanation);
VALA_EXTERN void generic_photo_transformation_command_execute_on_photo (GenericPhotoTransformationCommand* self,
                                                            Photo* photo);
VALA_EXTERN gboolean generic_photo_transformation_command_can_compress (GenericPhotoTransformationCommand* self,
                                                            Command* command);
VALA_EXTERN GType multiple_data_source_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MultipleDataSourceCommand, g_object_unref)
VALA_EXTERN MultipleDataSourceCommand* multiple_data_source_command_construct (GType object_type,
                                                                   GeeIterable* iter,
                                                                   const gchar* progress_text,
                                                                   const gchar* undo_progress_text,
                                                                   const gchar* name,
                                                                   const gchar* explanation);
VALA_EXTERN GeeIterable* multiple_data_source_command_get_sources (MultipleDataSourceCommand* self);
VALA_EXTERN gint multiple_data_source_command_get_source_count (MultipleDataSourceCommand* self);
VALA_EXTERN void multiple_data_source_command_execute_on_source (MultipleDataSourceCommand* self,
                                                     DataSource* source);
VALA_EXTERN void multiple_data_source_command_undo_on_source (MultipleDataSourceCommand* self,
                                                  DataSource* source);
VALA_EXTERN GType multiple_data_source_at_once_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MultipleDataSourceAtOnceCommand, g_object_unref)
VALA_EXTERN MultipleDataSourceAtOnceCommand* multiple_data_source_at_once_command_construct (GType object_type,
                                                                                 GeeCollection* sources,
                                                                                 const gchar* name,
                                                                                 const gchar* explanation);
VALA_EXTERN void multiple_data_source_at_once_command_execute_on_all (MultipleDataSourceAtOnceCommand* self,
                                                          GeeCollection* sources);
VALA_EXTERN void multiple_data_source_at_once_command_undo_on_all (MultipleDataSourceAtOnceCommand* self,
                                                       GeeCollection* sources);
VALA_EXTERN GType multiple_photo_transformation_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MultiplePhotoTransformationCommand, g_object_unref)
VALA_EXTERN MultiplePhotoTransformationCommand* multiple_photo_transformation_command_construct (GType object_type,
                                                                                     GeeIterable* iter,
                                                                                     const gchar* progress_text,
                                                                                     const gchar* undo_progress_text,
                                                                                     const gchar* name,
                                                                                     const gchar* explanation);
VALA_EXTERN GType rotate_single_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (RotateSingleCommand, g_object_unref)
VALA_EXTERN GType rotation_get_type (void) G_GNUC_CONST ;
VALA_EXTERN RotateSingleCommand* rotate_single_command_new (Photo* photo,
                                                Rotation rotation,
                                                const gchar* name,
                                                const gchar* explanation);
VALA_EXTERN RotateSingleCommand* rotate_single_command_construct (GType object_type,
                                                      Photo* photo,
                                                      Rotation rotation,
                                                      const gchar* name,
                                                      const gchar* explanation);
VALA_EXTERN GType rotate_multiple_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (RotateMultipleCommand, g_object_unref)
VALA_EXTERN RotateMultipleCommand* rotate_multiple_command_new (GeeIterable* iter,
                                                    Rotation rotation,
                                                    const gchar* name,
                                                    const gchar* explanation,
                                                    const gchar* progress_text,
                                                    const gchar* undo_progress_text);
VALA_EXTERN RotateMultipleCommand* rotate_multiple_command_construct (GType object_type,
                                                          GeeIterable* iter,
                                                          Rotation rotation,
                                                          const gchar* name,
                                                          const gchar* explanation,
                                                          const gchar* progress_text,
                                                          const gchar* undo_progress_text);
VALA_EXTERN GType edit_title_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EditTitleCommand, g_object_unref)
VALA_EXTERN EditTitleCommand* edit_title_command_new (MediaSource* source,
                                          const gchar* new_title);
VALA_EXTERN EditTitleCommand* edit_title_command_construct (GType object_type,
                                                MediaSource* source,
                                                const gchar* new_title);
VALA_EXTERN GType edit_comment_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EditCommentCommand, g_object_unref)
VALA_EXTERN EditCommentCommand* edit_comment_command_new (MediaSource* source,
                                              const gchar* new_comment);
VALA_EXTERN EditCommentCommand* edit_comment_command_construct (GType object_type,
                                                    MediaSource* source,
                                                    const gchar* new_comment);
VALA_EXTERN GType edit_multiple_titles_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EditMultipleTitlesCommand, g_object_unref)
VALA_EXTERN EditMultipleTitlesCommand* edit_multiple_titles_command_new (GeeCollection* media_sources,
                                                             const gchar* new_title);
VALA_EXTERN EditMultipleTitlesCommand* edit_multiple_titles_command_construct (GType object_type,
                                                                   GeeCollection* media_sources,
                                                                   const gchar* new_title);
VALA_EXTERN GType edit_multiple_comments_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EditMultipleCommentsCommand, g_object_unref)
VALA_EXTERN EditMultipleCommentsCommand* edit_multiple_comments_command_new (GeeCollection* media_sources,
                                                                 const gchar* new_comment);
VALA_EXTERN EditMultipleCommentsCommand* edit_multiple_comments_command_construct (GType object_type,
                                                                       GeeCollection* media_sources,
                                                                       const gchar* new_comment);
VALA_EXTERN GType rename_event_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (RenameEventCommand, g_object_unref)
VALA_EXTERN GType event_source_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EventSource, g_object_unref)
VALA_EXTERN GType event_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Event, g_object_unref)
VALA_EXTERN RenameEventCommand* rename_event_command_new (Event* event,
                                              const gchar* new_name);
VALA_EXTERN RenameEventCommand* rename_event_command_construct (GType object_type,
                                                    Event* event,
                                                    const gchar* new_name);
VALA_EXTERN GType edit_event_comment_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EditEventCommentCommand, g_object_unref)
VALA_EXTERN EditEventCommentCommand* edit_event_comment_command_new (Event* event,
                                                         const gchar* new_comment);
VALA_EXTERN EditEventCommentCommand* edit_event_comment_command_construct (GType object_type,
                                                               Event* event,
                                                               const gchar* new_comment);
VALA_EXTERN GType set_key_photo_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SetKeyPhotoCommand, g_object_unref)
VALA_EXTERN SetKeyPhotoCommand* set_key_photo_command_new (Event* event,
                                               MediaSource* new_primary_source);
VALA_EXTERN SetKeyPhotoCommand* set_key_photo_command_construct (GType object_type,
                                                     Event* event,
                                                     MediaSource* new_primary_source);
VALA_EXTERN GType revert_single_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (RevertSingleCommand, g_object_unref)
VALA_EXTERN RevertSingleCommand* revert_single_command_new (Photo* photo);
VALA_EXTERN RevertSingleCommand* revert_single_command_construct (GType object_type,
                                                      Photo* photo);
VALA_EXTERN GType revert_multiple_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (RevertMultipleCommand, g_object_unref)
VALA_EXTERN RevertMultipleCommand* revert_multiple_command_new (GeeIterable* iter);
VALA_EXTERN RevertMultipleCommand* revert_multiple_command_construct (GType object_type,
                                                          GeeIterable* iter);
VALA_EXTERN GType enhance_single_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EnhanceSingleCommand, g_object_unref)
VALA_EXTERN EnhanceSingleCommand* enhance_single_command_new (Photo* photo);
VALA_EXTERN EnhanceSingleCommand* enhance_single_command_construct (GType object_type,
                                                        Photo* photo);
VALA_EXTERN GType enhance_multiple_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EnhanceMultipleCommand, g_object_unref)
VALA_EXTERN EnhanceMultipleCommand* enhance_multiple_command_new (GeeIterable* iter);
VALA_EXTERN EnhanceMultipleCommand* enhance_multiple_command_construct (GType object_type,
                                                            GeeIterable* iter);
VALA_EXTERN GType un_enhance_single_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (UnEnhanceSingleCommand, g_object_unref)
VALA_EXTERN UnEnhanceSingleCommand* un_enhance_single_command_new (Photo* photo);
VALA_EXTERN UnEnhanceSingleCommand* un_enhance_single_command_construct (GType object_type,
                                                             Photo* photo);
VALA_EXTERN GType un_enhance_multiple_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (UnEnhanceMultipleCommand, g_object_unref)
VALA_EXTERN UnEnhanceMultipleCommand* un_enhance_multiple_command_new (GeeIterable* iter);
VALA_EXTERN UnEnhanceMultipleCommand* un_enhance_multiple_command_construct (GType object_type,
                                                                 GeeIterable* iter);
VALA_EXTERN GType straighten_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (StraightenCommand, g_object_unref)
VALA_EXTERN StraightenCommand* straighten_command_new (Photo* photo,
                                           gdouble theta,
                                           Box* crop,
                                           const gchar* name,
                                           const gchar* explanation);
VALA_EXTERN StraightenCommand* straighten_command_construct (GType object_type,
                                                 Photo* photo,
                                                 gdouble theta,
                                                 Box* crop,
                                                 const gchar* name,
                                                 const gchar* explanation);
VALA_EXTERN GType crop_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (CropCommand, g_object_unref)
VALA_EXTERN CropCommand* crop_command_new (Photo* photo,
                               Box* crop,
                               const gchar* name,
                               const gchar* explanation);
VALA_EXTERN CropCommand* crop_command_construct (GType object_type,
                                     Photo* photo,
                                     Box* crop,
                                     const gchar* name,
                                     const gchar* explanation);
VALA_EXTERN GType adjust_colors_single_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AdjustColorsSingleCommand, g_object_unref)
VALA_EXTERN AdjustColorsSingleCommand* adjust_colors_single_command_new (Photo* photo,
                                                             PixelTransformationBundle* transformations,
                                                             const gchar* name,
                                                             const gchar* explanation);
VALA_EXTERN AdjustColorsSingleCommand* adjust_colors_single_command_construct (GType object_type,
                                                                   Photo* photo,
                                                                   PixelTransformationBundle* transformations,
                                                                   const gchar* name,
                                                                   const gchar* explanation);
VALA_EXTERN GType adjust_colors_multiple_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AdjustColorsMultipleCommand, g_object_unref)
VALA_EXTERN AdjustColorsMultipleCommand* adjust_colors_multiple_command_new (GeeIterable* iter,
                                                                 PixelTransformationBundle* transformations,
                                                                 const gchar* name,
                                                                 const gchar* explanation);
VALA_EXTERN AdjustColorsMultipleCommand* adjust_colors_multiple_command_construct (GType object_type,
                                                                       GeeIterable* iter,
                                                                       PixelTransformationBundle* transformations,
                                                                       const gchar* name,
                                                                       const gchar* explanation);
VALA_EXTERN GType redeye_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (RedeyeCommand, g_object_unref)
VALA_EXTERN GType editing_tools_redeye_instance_get_type (void) G_GNUC_CONST ;
VALA_EXTERN EditingToolsRedeyeInstance* editing_tools_redeye_instance_dup (const EditingToolsRedeyeInstance* self);
VALA_EXTERN void editing_tools_redeye_instance_free (EditingToolsRedeyeInstance* self);
VALA_EXTERN RedeyeCommand* redeye_command_new (Photo* photo,
                                   EditingToolsRedeyeInstance* redeye_instance,
                                   const gchar* name,
                                   const gchar* explanation);
VALA_EXTERN RedeyeCommand* redeye_command_construct (GType object_type,
                                         Photo* photo,
                                         EditingToolsRedeyeInstance* redeye_instance,
                                         const gchar* name,
                                         const gchar* explanation);
VALA_EXTERN GType move_photos_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MovePhotosCommand, g_object_unref)
VALA_EXTERN GType move_photos_command_real_move_photos_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MovePhotosCommandRealMovePhotosCommand, g_object_unref)
VALA_EXTERN MovePhotosCommand* move_photos_command_construct (GType object_type,
                                                  const gchar* name,
                                                  const gchar* explanation);
VALA_EXTERN MovePhotosCommandRealMovePhotosCommand* move_photos_command_real_move_photos_command_new (Event* new_event,
                                                                                          GeeIterable* source_views,
                                                                                          const gchar* progress_text,
                                                                                          const gchar* undo_progress_text,
                                                                                          const gchar* name,
                                                                                          const gchar* explanation);
VALA_EXTERN MovePhotosCommandRealMovePhotosCommand* move_photos_command_real_move_photos_command_construct (GType object_type,
                                                                                                Event* new_event,
                                                                                                GeeIterable* source_views,
                                                                                                const gchar* progress_text,
                                                                                                const gchar* undo_progress_text,
                                                                                                const gchar* name,
                                                                                                const gchar* explanation);
VALA_EXTERN GType new_event_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (NewEventCommand, g_object_unref)
VALA_EXTERN NewEventCommand* new_event_command_new (GeeIterable* iter);
VALA_EXTERN NewEventCommand* new_event_command_construct (GType object_type,
                                              GeeIterable* iter);
VALA_EXTERN GType set_event_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SetEventCommand, g_object_unref)
VALA_EXTERN SetEventCommand* set_event_command_new (GeeIterable* iter,
                                        Event* new_event);
VALA_EXTERN SetEventCommand* set_event_command_construct (GType object_type,
                                              GeeIterable* iter,
                                              Event* new_event);
VALA_EXTERN GType merge_events_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MergeEventsCommand, g_object_unref)
VALA_EXTERN MergeEventsCommand* merge_events_command_new (GeeIterable* iter);
VALA_EXTERN MergeEventsCommand* merge_events_command_construct (GType object_type,
                                                    GeeIterable* iter);
VALA_EXTERN GType duplicate_multiple_photos_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DuplicateMultiplePhotosCommand, g_object_unref)
VALA_EXTERN DuplicateMultiplePhotosCommand* duplicate_multiple_photos_command_new (GeeIterable* iter);
VALA_EXTERN DuplicateMultiplePhotosCommand* duplicate_multiple_photos_command_construct (GType object_type,
                                                                             GeeIterable* iter);
VALA_EXTERN GType set_raw_developer_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SetRawDeveloperCommand, g_object_unref)
VALA_EXTERN GType raw_developer_get_type (void) G_GNUC_CONST ;
VALA_EXTERN SetRawDeveloperCommand* set_raw_developer_command_new (GeeIterable* iter,
                                                       RawDeveloper developer);
VALA_EXTERN SetRawDeveloperCommand* set_raw_developer_command_construct (GType object_type,
                                                             GeeIterable* iter,
                                                             RawDeveloper developer);
VALA_EXTERN GType adjust_date_time_photo_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AdjustDateTimePhotoCommand, g_object_unref)
VALA_EXTERN GType dateable_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Dateable, g_object_unref)
VALA_EXTERN AdjustDateTimePhotoCommand* adjust_date_time_photo_command_new (Dateable* dateable,
                                                                gint64 time_shift,
                                                                gboolean modify_original);
VALA_EXTERN AdjustDateTimePhotoCommand* adjust_date_time_photo_command_construct (GType object_type,
                                                                      Dateable* dateable,
                                                                      gint64 time_shift,
                                                                      gboolean modify_original);
VALA_EXTERN GType adjust_date_time_photos_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AdjustDateTimePhotosCommand, g_object_unref)
VALA_EXTERN AdjustDateTimePhotosCommand* adjust_date_time_photos_command_new (GeeIterable* iter,
                                                                  gint64 time_shift,
                                                                  gboolean keep_relativity,
                                                                  gboolean modify_originals);
VALA_EXTERN AdjustDateTimePhotosCommand* adjust_date_time_photos_command_construct (GType object_type,
                                                                        GeeIterable* iter,
                                                                        gint64 time_shift,
                                                                        gboolean keep_relativity,
                                                                        gboolean modify_originals);
VALA_EXTERN GType add_tags_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AddTagsCommand, g_object_unref)
VALA_EXTERN AddTagsCommand* add_tags_command_new (gchar** paths,
                                      gint paths_length1,
                                      GeeCollection* sources);
VALA_EXTERN AddTagsCommand* add_tags_command_construct (GType object_type,
                                            gchar** paths,
                                            gint paths_length1,
                                            GeeCollection* sources);
VALA_EXTERN GType rename_tag_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (RenameTagCommand, g_object_unref)
VALA_EXTERN GType tag_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Tag, g_object_unref)
VALA_EXTERN RenameTagCommand* rename_tag_command_new (Tag* tag,
                                          const gchar* new_name);
VALA_EXTERN RenameTagCommand* rename_tag_command_construct (GType object_type,
                                                Tag* tag,
                                                const gchar* new_name);
VALA_EXTERN GType delete_tag_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DeleteTagCommand, g_object_unref)
VALA_EXTERN DeleteTagCommand* delete_tag_command_new (Tag* tag);
VALA_EXTERN DeleteTagCommand* delete_tag_command_construct (GType object_type,
                                                Tag* tag);
VALA_EXTERN GType new_child_tag_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (NewChildTagCommand, g_object_unref)
VALA_EXTERN NewChildTagCommand* new_child_tag_command_new (Tag* tag);
VALA_EXTERN NewChildTagCommand* new_child_tag_command_construct (GType object_type,
                                                     Tag* tag);
VALA_EXTERN Tag* new_child_tag_command_get_created_child (NewChildTagCommand* self);
VALA_EXTERN GType new_root_tag_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (NewRootTagCommand, g_object_unref)
VALA_EXTERN NewRootTagCommand* new_root_tag_command_new (void);
VALA_EXTERN NewRootTagCommand* new_root_tag_command_construct (GType object_type);
VALA_EXTERN Tag* new_root_tag_command_get_created_tag (NewRootTagCommand* self);
VALA_EXTERN GType reparent_tag_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ReparentTagCommand, g_object_unref)
VALA_EXTERN ReparentTagCommand* reparent_tag_command_new (Tag* tag,
                                              const gchar* new_parent_path);
VALA_EXTERN ReparentTagCommand* reparent_tag_command_construct (GType object_type,
                                                    Tag* tag,
                                                    const gchar* new_parent_path);
VALA_EXTERN GType modify_tags_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ModifyTagsCommand, g_object_unref)
VALA_EXTERN ModifyTagsCommand* modify_tags_command_new (MediaSource* media,
                                            GeeCollection* new_tag_list);
VALA_EXTERN ModifyTagsCommand* modify_tags_command_construct (GType object_type,
                                                  MediaSource* media,
                                                  GeeCollection* new_tag_list);
VALA_EXTERN GType tag_untag_photos_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TagUntagPhotosCommand, g_object_unref)
VALA_EXTERN TagUntagPhotosCommand* tag_untag_photos_command_new (Tag* tag,
                                                     GeeCollection* sources,
                                                     gint count,
                                                     gboolean attach);
VALA_EXTERN TagUntagPhotosCommand* tag_untag_photos_command_construct (GType object_type,
                                                           Tag* tag,
                                                           GeeCollection* sources,
                                                           gint count,
                                                           gboolean attach);
VALA_EXTERN GType rename_saved_search_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (RenameSavedSearchCommand, g_object_unref)
VALA_EXTERN GType saved_search_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SavedSearch, g_object_unref)
VALA_EXTERN RenameSavedSearchCommand* rename_saved_search_command_new (SavedSearch* search,
                                                           const gchar* new_name);
VALA_EXTERN RenameSavedSearchCommand* rename_saved_search_command_construct (GType object_type,
                                                                 SavedSearch* search,
                                                                 const gchar* new_name);
VALA_EXTERN GType delete_saved_search_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DeleteSavedSearchCommand, g_object_unref)
VALA_EXTERN DeleteSavedSearchCommand* delete_saved_search_command_new (SavedSearch* search);
VALA_EXTERN DeleteSavedSearchCommand* delete_saved_search_command_construct (GType object_type,
                                                                 SavedSearch* search);
VALA_EXTERN GType trash_untrash_photos_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TrashUntrashPhotosCommand, g_object_unref)
VALA_EXTERN TrashUntrashPhotosCommand* trash_untrash_photos_command_new (GeeCollection* sources,
                                                             gboolean to_trash);
VALA_EXTERN TrashUntrashPhotosCommand* trash_untrash_photos_command_construct (GType object_type,
                                                                   GeeCollection* sources,
                                                                   gboolean to_trash);
VALA_EXTERN GType flag_unflag_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FlagUnflagCommand, g_object_unref)
VALA_EXTERN FlagUnflagCommand* flag_unflag_command_new (GeeCollection* sources,
                                            gboolean flag);
VALA_EXTERN FlagUnflagCommand* flag_unflag_command_construct (GType object_type,
                                                  GeeCollection* sources,
                                                  gboolean flag);
VALA_EXTERN GType rgb_histogram_manipulator_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (RGBHistogramManipulator, g_object_unref)
VALA_EXTERN RGBHistogramManipulator* rgb_histogram_manipulator_new (void);
VALA_EXTERN RGBHistogramManipulator* rgb_histogram_manipulator_construct (GType object_type);
VALA_EXTERN void rgb_histogram_manipulator_update_histogram (RGBHistogramManipulator* self,
                                                 GdkPixbuf* source_pixbuf);
VALA_EXTERN gint rgb_histogram_manipulator_get_left_nub_position (RGBHistogramManipulator* self);
VALA_EXTERN gint rgb_histogram_manipulator_get_right_nub_position (RGBHistogramManipulator* self);
VALA_EXTERN void rgb_histogram_manipulator_set_left_nub_position (RGBHistogramManipulator* self,
                                                      gint user_nub_pos);
VALA_EXTERN void rgb_histogram_manipulator_set_right_nub_position (RGBHistogramManipulator* self,
                                                       gint user_nub_pos);
VALA_EXTERN GType scale_constraint_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* scale_constraint_to_string (ScaleConstraint self);
VALA_EXTERN void dimensions_init (Dimensions *self,
                      gint width,
                      gint height);
VALA_EXTERN void dimensions_for_pixbuf (GdkPixbuf* pixbuf,
                            Dimensions* result);
VALA_EXTERN void dimensions_for_allocation (GtkAllocation* allocation,
                                Dimensions* result);
VALA_EXTERN void dimensions_for_widget_allocation (GtkWidget* widget,
                                       Dimensions* result);
VALA_EXTERN void dimensions_for_rectangle (GdkRectangle* rect,
                               Dimensions* result);
VALA_EXTERN gboolean dimensions_has_area (Dimensions *self);
VALA_EXTERN void dimensions_floor (Dimensions *self,
                       Dimensions* min,
                       Dimensions* result);
VALA_EXTERN gchar* dimensions_to_string (Dimensions *self);
VALA_EXTERN gboolean dimensions_equals (Dimensions *self,
                            Dimensions* dim);
VALA_EXTERN gboolean dimensions_approx_equals (Dimensions *self,
                                   Dimensions* dim,
                                   gint fudge);
VALA_EXTERN gboolean dimensions_approx_scaled (Dimensions *self,
                                   gint scale,
                                   gint fudge);
VALA_EXTERN gint dimensions_major_axis (Dimensions *self);
VALA_EXTERN gint dimensions_minor_axis (Dimensions *self);
VALA_EXTERN void dimensions_with_min (Dimensions *self,
                          gint min_width,
                          gint min_height,
                          Dimensions* result);
VALA_EXTERN void dimensions_with_max (Dimensions *self,
                          gint max_width,
                          gint max_height,
                          Dimensions* result);
VALA_EXTERN void dimensions_get_scaled (Dimensions *self,
                            gint scale,
                            gboolean scale_up,
                            Dimensions* result);
VALA_EXTERN void dimensions_get_scale_ratios (Dimensions *self,
                                  Dimensions* scaled,
                                  gdouble* width_ratio,
                                  gdouble* height_ratio);
VALA_EXTERN gdouble dimensions_get_aspect_ratio (Dimensions *self);
VALA_EXTERN void dimensions_get_scaled_proportional (Dimensions *self,
                                         Dimensions* viewport,
                                         Dimensions* result);
VALA_EXTERN void dimensions_get_scaled_to_fill_viewport (Dimensions *self,
                                             Dimensions* viewport,
                                             Dimensions* result);
VALA_EXTERN void dimensions_get_scaled_rectangle (Dimensions *self,
                                      Dimensions* scaled,
                                      GdkRectangle* rect,
                                      GdkRectangle* result);
VALA_EXTERN void dimensions_get_scaled_similar (Dimensions *self,
                                    Dimensions* original,
                                    Dimensions* scaled,
                                    Dimensions* result);
VALA_EXTERN void dimensions_get_scaled_by_width (Dimensions *self,
                                     gint scale,
                                     Dimensions* result);
VALA_EXTERN void dimensions_get_scaled_by_height (Dimensions *self,
                                      gint scale,
                                      Dimensions* result);
VALA_EXTERN void dimensions_get_scaled_by_constraint (Dimensions *self,
                                          gint scale,
                                          ScaleConstraint constraint,
                                          Dimensions* result);
VALA_EXTERN GType scaling_get_type (void) G_GNUC_CONST ;
VALA_EXTERN Scaling* scaling_dup (const Scaling* self);
VALA_EXTERN void scaling_free (Scaling* self);
VALA_EXTERN void scaling_for_original (Scaling* result);
VALA_EXTERN void scaling_for_screen (GtkWindow* window,
                         gboolean scale_up,
                         Scaling* result);
VALA_EXTERN void scaling_for_best_fit (gint pixels,
                           gboolean scale_up,
                           Scaling* result);
VALA_EXTERN void scaling_for_viewport (Dimensions* viewport,
                           gboolean scale_up,
                           Scaling* result);
VALA_EXTERN void scaling_for_widget (GtkWidget* widget,
                         gboolean scale_up,
                         Scaling* result);
VALA_EXTERN void scaling_to_fill_viewport (Dimensions* viewport,
                               Scaling* result);
VALA_EXTERN void scaling_to_fill_screen (GtkWindow* window,
                             Scaling* result);
VALA_EXTERN void scaling_for_constraint (ScaleConstraint constraint,
                             gint scale,
                             gboolean scale_up,
                             Scaling* result);
VALA_EXTERN void scaling_get_screen_dimensions (GtkWindow* window,
                                    Dimensions* result);
VALA_EXTERN gboolean scaling_is_unscaled (Scaling *self);
VALA_EXTERN gboolean scaling_is_best_fit (Scaling *self,
                              Dimensions* original,
                              gint* pixels);
VALA_EXTERN gboolean scaling_is_best_fit_dimensions (Scaling *self,
                                         Dimensions* original,
                                         Dimensions* scaled);
VALA_EXTERN gboolean scaling_is_for_viewport (Scaling *self,
                                  Dimensions* original,
                                  Dimensions* scaled);
VALA_EXTERN gboolean scaling_is_fill_viewport (Scaling *self,
                                   Dimensions* original,
                                   Dimensions* scaled);
VALA_EXTERN void scaling_get_scaled_dimensions (Scaling *self,
                                    Dimensions* original,
                                    Dimensions* result);
VALA_EXTERN GdkPixbuf* scaling_perform_on_pixbuf (Scaling *self,
                                      GdkPixbuf* pixbuf,
                                      GdkInterpType interp,
                                      gboolean scale_up);
VALA_EXTERN gchar* scaling_to_string (Scaling *self);
VALA_EXTERN gboolean scaling_equals (Scaling *self,
                         Scaling* scaling);
VALA_EXTERN GType zoom_state_get_type (void) G_GNUC_CONST ;
VALA_EXTERN ZoomState* zoom_state_dup (const ZoomState* self);
VALA_EXTERN void zoom_state_free (ZoomState* self);
VALA_EXTERN void zoom_state_init (ZoomState *self,
                      Dimensions* content_dimensions,
                      Dimensions* viewport_dimensions,
                      gdouble slider_val,
                      GdkPoint* viewport_center);
VALA_EXTERN void zoom_state_init_rescale (ZoomState *self,
                              ZoomState* existing,
                              gdouble new_slider_val);
VALA_EXTERN void zoom_state_init_rescale_to_isomorphic (ZoomState *self,
                                            ZoomState* existing);
VALA_EXTERN void zoom_state_init_pan (ZoomState *self,
                          ZoomState* existing,
                          GdkPoint* new_viewport_center);
VALA_EXTERN gdouble zoom_state_get_interpolation_factor (ZoomState *self);
VALA_EXTERN void zoom_state_get_viewing_rectangle_wrt_content (ZoomState *self,
                                                   GdkRectangle* result);
VALA_EXTERN void zoom_state_get_viewing_rectangle_wrt_screen (ZoomState *self,
                                                  GdkRectangle* result);
VALA_EXTERN void zoom_state_get_viewing_rectangle_projection (ZoomState *self,
                                                  GdkPixbuf* for_pixbuf,
                                                  GdkRectangle* result);
VALA_EXTERN gdouble zoom_state_get_zoom_factor (ZoomState *self);
VALA_EXTERN gint zoom_state_get_zoomed_width (ZoomState *self);
VALA_EXTERN gint zoom_state_get_zoomed_height (ZoomState *self);
VALA_EXTERN void zoom_state_get_viewport_center (ZoomState *self,
                                     GdkPoint* result);
VALA_EXTERN gchar* zoom_state_to_string (ZoomState *self);
VALA_EXTERN gboolean zoom_state_is_min (ZoomState *self);
VALA_EXTERN gboolean zoom_state_is_default (ZoomState *self);
VALA_EXTERN gboolean zoom_state_is_max (ZoomState *self);
VALA_EXTERN gboolean zoom_state_is_isomorphic (ZoomState *self);
VALA_EXTERN gboolean zoom_state_equals (ZoomState *self,
                            ZoomState* other);
VALA_EXTERN GType directory_monitor_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DirectoryMonitor, g_object_unref)
VALA_EXTERN DirectoryMonitor* directory_monitor_new (GFile* root,
                                         gboolean recurse,
                                         gboolean monitoring);
VALA_EXTERN DirectoryMonitor* directory_monitor_construct (GType object_type,
                                               GFile* root,
                                               gboolean recurse,
                                               gboolean monitoring);
VALA_EXTERN void directory_monitor_mdbg (const gchar* msg);
VALA_EXTERN gboolean directory_monitor_is_recursive (DirectoryMonitor* self);
VALA_EXTERN gboolean directory_monitor_is_monitoring (DirectoryMonitor* self);
VALA_EXTERN void directory_monitor_notify_root_deleted (DirectoryMonitor* self,
                                            GFile* root);
VALA_EXTERN void directory_monitor_notify_root_moved (DirectoryMonitor* self,
                                          GFile* old_root,
                                          GFile* new_root,
                                          GFileInfo* new_root_info);
VALA_EXTERN void directory_monitor_notify_discovery_started (DirectoryMonitor* self);
VALA_EXTERN void directory_monitor_internal_notify_file_discovered (DirectoryMonitor* self,
                                                        GFile* file,
                                                        GFileInfo* info);
VALA_EXTERN void directory_monitor_notify_file_discovered (DirectoryMonitor* self,
                                               GFile* file,
                                               GFileInfo* info);
VALA_EXTERN void directory_monitor_internal_notify_directory_discovered (DirectoryMonitor* self,
                                                             GFile* dir,
                                                             GFileInfo* info);
VALA_EXTERN void directory_monitor_notify_directory_discovered (DirectoryMonitor* self,
                                                    GFile* dir,
                                                    GFileInfo* info);
VALA_EXTERN void directory_monitor_notify_discovery_failed (DirectoryMonitor* self,
                                                const gchar* reason);
VALA_EXTERN void directory_monitor_notify_discovery_completed (DirectoryMonitor* self);
VALA_EXTERN void directory_monitor_notify_file_created (DirectoryMonitor* self,
                                            GFile* file,
                                            GFileInfo* info);
VALA_EXTERN void directory_monitor_notify_file_moved (DirectoryMonitor* self,
                                          GFile* old_file,
                                          GFile* new_file,
                                          GFileInfo* new_file_info);
VALA_EXTERN void directory_monitor_notify_file_altered (DirectoryMonitor* self,
                                            GFile* file);
VALA_EXTERN void directory_monitor_notify_file_alteration_completed (DirectoryMonitor* self,
                                                         GFile* file,
                                                         GFileInfo* info);
VALA_EXTERN void directory_monitor_notify_file_attributes_altered (DirectoryMonitor* self,
                                                       GFile* file);
VALA_EXTERN void directory_monitor_notify_file_deleted (DirectoryMonitor* self,
                                            GFile* file);
VALA_EXTERN void directory_monitor_notify_directory_created (DirectoryMonitor* self,
                                                 GFile* dir,
                                                 GFileInfo* info);
VALA_EXTERN void directory_monitor_notify_directory_moved (DirectoryMonitor* self,
                                               GFile* old_dir,
                                               GFile* new_dir,
                                               GFileInfo* new_dir_info);
VALA_EXTERN void directory_monitor_notify_directory_altered (DirectoryMonitor* self,
                                                 GFile* dir);
VALA_EXTERN void directory_monitor_notify_directory_alteration_completed (DirectoryMonitor* self,
                                                              GFile* dir,
                                                              GFileInfo* info);
VALA_EXTERN void directory_monitor_notify_directory_attributes_altered (DirectoryMonitor* self,
                                                            GFile* dir);
VALA_EXTERN void directory_monitor_notify_directory_deleted (DirectoryMonitor* self,
                                                 GFile* dir);
VALA_EXTERN void directory_monitor_notify_closed (DirectoryMonitor* self);
VALA_EXTERN GFile* directory_monitor_get_root (DirectoryMonitor* self);
VALA_EXTERN gboolean directory_monitor_is_in_root (DirectoryMonitor* self,
                                       GFile* file);
VALA_EXTERN gboolean directory_monitor_has_started (DirectoryMonitor* self);
VALA_EXTERN void directory_monitor_start_discovery (DirectoryMonitor* self);
VALA_EXTERN void directory_monitor_close (DirectoryMonitor* self);
VALA_EXTERN GFileInfo* directory_monitor_get_file_info (DirectoryMonitor* self,
                                            GFile* file);
VALA_EXTERN GeeCollection* directory_monitor_get_files (DirectoryMonitor* self);
VALA_EXTERN GFileInfo* directory_monitor_query_file_info (DirectoryMonitor* self,
                                              GFile* file);
VALA_EXTERN gboolean directory_monitor_is_file_symlink_supported (GFileInfo* info);
VALA_EXTERN gpointer alteration_ref (gpointer instance);
VALA_EXTERN void alteration_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_alteration (const gchar* name,
                                   const gchar* nick,
                                   const gchar* blurb,
                                   GType object_type,
                                   GParamFlags flags);
VALA_EXTERN void value_set_alteration (GValue* value,
                           gpointer v_object);
VALA_EXTERN void value_take_alteration (GValue* value,
                            gpointer v_object);
VALA_EXTERN gpointer value_get_alteration (const GValue* value);
VALA_EXTERN GType alteration_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Alteration, alteration_unref)
VALA_EXTERN GType marker_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Marker, g_object_unref)
VALA_EXTERN GType source_collection_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SourceCollection, data_collection_unref)
VALA_EXTERN gpointer source_backlink_ref (gpointer instance);
VALA_EXTERN void source_backlink_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_source_backlink (const gchar* name,
                                        const gchar* nick,
                                        const gchar* blurb,
                                        GType object_type,
                                        GParamFlags flags);
VALA_EXTERN void value_set_source_backlink (GValue* value,
                                gpointer v_object);
VALA_EXTERN void value_take_source_backlink (GValue* value,
                                 gpointer v_object);
VALA_EXTERN gpointer value_get_source_backlink (const GValue* value);
VALA_EXTERN GType source_backlink_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SourceBacklink, source_backlink_unref)
VALA_EXTERN GType database_source_collection_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DatabaseSourceCollection, data_collection_unref)
VALA_EXTERN GType container_source_collection_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ContainerSourceCollection, data_collection_unref)
VALA_EXTERN GType container_source_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ContainerSource, g_object_unref)
VALA_EXTERN GType event_source_collection_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EventSourceCollection, data_collection_unref)
VALA_EXTERN EventSourceCollection* event_source_collection_new (void);
VALA_EXTERN EventSourceCollection* event_source_collection_construct (GType object_type);
VALA_EXTERN void event_source_collection_init (EventSourceCollection* self);
VALA_EXTERN GType event_id_get_type (void) G_GNUC_CONST ;
VALA_EXTERN EventID* event_id_dup (const EventID* self);
VALA_EXTERN void event_id_free (EventID* self);
VALA_EXTERN Event* event_source_collection_fetch (EventSourceCollection* self,
                                      EventID* event_id);
VALA_EXTERN GeeCollection* event_source_collection_get_no_event_objects (EventSourceCollection* self);
VALA_EXTERN gpointer source_holding_tank_ref (gpointer instance);
VALA_EXTERN void source_holding_tank_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_source_holding_tank (const gchar* name,
                                            const gchar* nick,
                                            const gchar* blurb,
                                            GType object_type,
                                            GParamFlags flags);
VALA_EXTERN void value_set_source_holding_tank (GValue* value,
                                    gpointer v_object);
VALA_EXTERN void value_take_source_holding_tank (GValue* value,
                                     gpointer v_object);
VALA_EXTERN gpointer value_get_source_holding_tank (const GValue* value);
VALA_EXTERN GType source_holding_tank_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SourceHoldingTank, source_holding_tank_unref)
VALA_EXTERN gpointer source_snapshot_ref (gpointer instance);
VALA_EXTERN void source_snapshot_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_source_snapshot (const gchar* name,
                                        const gchar* nick,
                                        const gchar* blurb,
                                        GType object_type,
                                        GParamFlags flags);
VALA_EXTERN void value_set_source_snapshot (GValue* value,
                                gpointer v_object);
VALA_EXTERN void value_take_source_snapshot (GValue* value,
                                 gpointer v_object);
VALA_EXTERN gpointer value_get_source_snapshot (const GValue* value);
VALA_EXTERN GType source_snapshot_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SourceSnapshot, source_snapshot_unref)
VALA_EXTERN GType photo_file_format_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType indexable_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Indexable, g_object_unref)
VALA_EXTERN EventSourceCollection* event_global;
VALA_EXTERN void event_init (ProgressMonitor monitor,
                 gpointer monitor_target);
VALA_EXTERN void event_terminate (void);
VALA_EXTERN gchar* event_prep_event_name (const gchar* name);
VALA_EXTERN void event_attach (Event* self,
                   MediaSource* source);
VALA_EXTERN void event_attach_many (Event* self,
                        GeeCollection* media);
VALA_EXTERN void event_detach (Event* self,
                   MediaSource* source);
VALA_EXTERN void event_detach_many (Event* self,
                        GeeCollection* media);
VALA_EXTERN gboolean event_contains_media_type (Event* self,
                                    const gchar* media_type);
VALA_EXTERN Event* event_create_empty_event (MediaSource* source);
VALA_EXTERN gboolean event_is_in_starting_day (Event* self,
                                   gint64 time);
VALA_EXTERN void event_generate_single_event (MediaSource* media,
                                  ViewCollection* events_so_far,
                                  const gchar* event_name);
VALA_EXTERN void event_generate_many_events (GeeCollection* sources,
                                 ViewCollection* events_so_far);
VALA_EXTERN void event_get_event_id (Event* self,
                         EventID* result);
VALA_EXTERN gboolean event_has_name (Event* self);
VALA_EXTERN gchar* event_get_formatted_daterange (Event* self);
VALA_EXTERN gchar* event_get_raw_name (Event* self);
VALA_EXTERN gboolean event_rename (Event* self,
                       const gchar* name);
VALA_EXTERN gint64 event_get_creation_time (Event* self);
VALA_EXTERN void event_mirror_photos (Event* self,
                          ViewCollection* view,
                          CreateView mirroring_ctor,
                          gpointer mirroring_ctor_target);
VALA_EXTERN MediaSource* event_get_primary_source (Event* self);
VALA_EXTERN gboolean event_set_primary_source (Event* self,
                                   MediaSource* source);
VALA_EXTERN GdkPixbuf* event_get_preview_pixbuf (Event* self,
                                     Scaling* scaling);
VALA_EXTERN GType export_format_mode_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType export_format_parameters_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType jpeg_quality_get_type (void) G_GNUC_CONST ;
VALA_EXTERN ExportFormatParameters* export_format_parameters_dup (const ExportFormatParameters* self);
VALA_EXTERN void export_format_parameters_free (ExportFormatParameters* self);
VALA_EXTERN void export_format_parameters_current (ExportFormatParameters* result);
VALA_EXTERN void export_format_parameters_unmodified (ExportFormatParameters* result);
VALA_EXTERN void export_format_parameters_for_format (PhotoFileFormat format,
                                          ExportFormatParameters* result);
VALA_EXTERN void export_format_parameters_last (ExportFormatParameters* result);
VALA_EXTERN void export_format_parameters_for_jpeg (JpegQuality quality,
                                        ExportFormatParameters* result);
VALA_EXTERN GType exporter_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Exporter, g_object_unref)
VALA_EXTERN GType exporter_overwrite_get_type (void) G_GNUC_CONST ;
VALA_EXTERN Exporter* exporter_new (GeeCollection* to_export,
                        GFile* dir,
                        Scaling* scaling,
                        ExportFormatParameters* export_params,
                        gboolean auto_replace_all);
VALA_EXTERN Exporter* exporter_construct (GType object_type,
                              GeeCollection* to_export,
                              GFile* dir,
                              Scaling* scaling,
                              ExportFormatParameters* export_params,
                              gboolean auto_replace_all);
VALA_EXTERN Exporter* exporter_new_for_temp_file (GeeCollection* to_export,
                                      Scaling* scaling,
                                      ExportFormatParameters* export_params);
VALA_EXTERN Exporter* exporter_construct_for_temp_file (GType object_type,
                                            GeeCollection* to_export,
                                            Scaling* scaling,
                                            ExportFormatParameters* export_params);
VALA_EXTERN void exporter_export (Exporter* self,
                      ExporterCompletionCallback completion_callback,
                      gpointer completion_callback_target,
                      ExporterExportFailedCallback error_callback,
                      gpointer error_callback_target,
                      ExporterOverwriteCallback overwrite_callback,
                      gpointer overwrite_callback_target,
                      GCancellable* cancellable,
                      ProgressMonitor monitor,
                      gpointer monitor_target);
VALA_EXTERN GFile** exporter_get_exported_files (Exporter* self,
                                     gint* result_length1);
VALA_EXTERN gpointer exporter_ui_ref (gpointer instance);
VALA_EXTERN void exporter_ui_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_exporter_ui (const gchar* name,
                                    const gchar* nick,
                                    const gchar* blurb,
                                    GType object_type,
                                    GParamFlags flags);
VALA_EXTERN void value_set_exporter_ui (GValue* value,
                            gpointer v_object);
VALA_EXTERN void value_take_exporter_ui (GValue* value,
                             gpointer v_object);
VALA_EXTERN gpointer value_get_exporter_ui (const GValue* value);
VALA_EXTERN GType exporter_ui_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ExporterUI, exporter_ui_unref)
VALA_EXTERN ExporterUI* exporter_ui_new (Exporter* exporter);
VALA_EXTERN ExporterUI* exporter_ui_construct (GType object_type,
                                   Exporter* exporter);
VALA_EXTERN void exporter_ui_export (ExporterUI* self,
                         ExporterCompletionCallback completion_callback,
                         gpointer completion_callback_target);
VALA_EXTERN FullscreenWindow* fullscreen_window_new (Page* page);
VALA_EXTERN FullscreenWindow* fullscreen_window_construct (GType object_type,
                                               Page* page);
VALA_EXTERN void fullscreen_window_close (FullscreenWindow* self);
VALA_EXTERN gboolean fullscreen_window_get_auto_dismiss_toolbar (FullscreenWindow* self);
VALA_EXTERN void fullscreen_window_set_auto_dismiss_toolbar (FullscreenWindow* self,
                                                 gboolean value);
VALA_EXTERN gpointer media_metadata_ref (gpointer instance);
VALA_EXTERN void media_metadata_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_media_metadata (const gchar* name,
                                       const gchar* nick,
                                       const gchar* blurb,
                                       GType object_type,
                                       GParamFlags flags);
VALA_EXTERN void value_set_media_metadata (GValue* value,
                               gpointer v_object);
VALA_EXTERN void value_take_media_metadata (GValue* value,
                                gpointer v_object);
VALA_EXTERN gpointer value_get_media_metadata (const GValue* value);
VALA_EXTERN GType media_metadata_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MediaMetadata, media_metadata_unref)
VALA_EXTERN GFile* library_files_generate_unique_file (const gchar* basename,
                                           MediaMetadata* metadata,
                                           gint64 ts,
                                           gboolean* collision,
                                           GError** error);
VALA_EXTERN gpointer library_monitor_pool_ref (gpointer instance);
VALA_EXTERN void library_monitor_pool_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_library_monitor_pool (const gchar* name,
                                             const gchar* nick,
                                             const gchar* blurb,
                                             GType object_type,
                                             GParamFlags flags);
VALA_EXTERN void value_set_library_monitor_pool (GValue* value,
                                     gpointer v_object);
VALA_EXTERN void value_take_library_monitor_pool (GValue* value,
                                      gpointer v_object);
VALA_EXTERN gpointer value_get_library_monitor_pool (const GValue* value);
VALA_EXTERN GType library_monitor_pool_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LibraryMonitorPool, library_monitor_pool_unref)
VALA_EXTERN void library_monitor_pool_init (void);
VALA_EXTERN void library_monitor_pool_terminate (void);
VALA_EXTERN LibraryMonitorPool* library_monitor_pool_get_instance (void);
VALA_EXTERN GType library_monitor_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LibraryMonitor, g_object_unref)
VALA_EXTERN LibraryMonitor* library_monitor_pool_get_monitor (LibraryMonitorPool* self);
VALA_EXTERN void library_monitor_pool_replace (LibraryMonitorPool* self,
                                   LibraryMonitor* replacement,
                                   gint start_msec_delay);
VALA_EXTERN LibraryMonitor* library_monitor_new (GFile* root,
                                     gboolean recurse,
                                     gboolean monitoring);
VALA_EXTERN LibraryMonitor* library_monitor_construct (GType object_type,
                                           GFile* root,
                                           gboolean recurse,
                                           gboolean monitoring);
VALA_EXTERN void library_monitor_blacklist_file (GFile* file,
                                     const gchar* reason);
VALA_EXTERN void library_monitor_unblacklist_file (GFile* file);
VALA_EXTERN gboolean library_monitor_is_blacklisted (GFile* file);
VALA_EXTERN void run_system_pictures_import (ImportManifest* external_exclusion_manifest);
VALA_EXTERN gpointer backing_file_state_ref (gpointer instance);
VALA_EXTERN void backing_file_state_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_backing_file_state (const gchar* name,
                                           const gchar* nick,
                                           const gchar* blurb,
                                           GType object_type,
                                           GParamFlags flags);
VALA_EXTERN void value_set_backing_file_state (GValue* value,
                                   gpointer v_object);
VALA_EXTERN void value_take_backing_file_state (GValue* value,
                                    gpointer v_object);
VALA_EXTERN gpointer value_get_backing_file_state (const GValue* value);
VALA_EXTERN GType backing_file_state_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (BackingFileState, backing_file_state_unref)
VALA_EXTERN BackingFileState* backing_file_state_new (const gchar* filepath,
                                          gint64 filesize,
                                          gint64 modification_time,
                                          const gchar* md5);
VALA_EXTERN BackingFileState* backing_file_state_construct (GType object_type,
                                                const gchar* filepath,
                                                gint64 filesize,
                                                gint64 modification_time,
                                                const gchar* md5);
VALA_EXTERN gpointer backing_photo_row_ref (gpointer instance);
VALA_EXTERN void backing_photo_row_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_backing_photo_row (const gchar* name,
                                          const gchar* nick,
                                          const gchar* blurb,
                                          GType object_type,
                                          GParamFlags flags);
VALA_EXTERN void value_set_backing_photo_row (GValue* value,
                                  gpointer v_object);
VALA_EXTERN void value_take_backing_photo_row (GValue* value,
                                   gpointer v_object);
VALA_EXTERN gpointer value_get_backing_photo_row (const GValue* value);
VALA_EXTERN GType backing_photo_row_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (BackingPhotoRow, backing_photo_row_unref)
VALA_EXTERN BackingFileState* backing_file_state_new_from_photo_row (BackingPhotoRow* photo_row,
                                                         const gchar* md5);
VALA_EXTERN BackingFileState* backing_file_state_construct_from_photo_row (GType object_type,
                                                               BackingPhotoRow* photo_row,
                                                               const gchar* md5);
VALA_EXTERN GFile* backing_file_state_get_file (BackingFileState* self);
VALA_EXTERN GType photo_exception_get_type (void) G_GNUC_CONST ;
VALA_EXTERN MediaSource* media_source_construct (GType object_type,
                                     gint64 object_id);
VALA_EXTERN guint64 media_source_internal_add_flags (guint64 flags,
                                         guint64 selector);
VALA_EXTERN guint64 media_source_internal_remove_flags (guint64 flags,
                                            guint64 selector);
VALA_EXTERN gboolean media_source_internal_is_flag_set (guint64 flags,
                                            guint64 selector);
VALA_EXTERN void media_source_notify_master_replaced (MediaSource* self,
                                          GFile* old_file,
                                          GFile* new_file);
VALA_EXTERN gboolean media_source_set_event_id (MediaSource* self,
                                    EventID* id);
VALA_EXTERN gboolean media_source_delete_original_file (MediaSource* self);
VALA_EXTERN gchar* media_source_get_basename (MediaSource* self);
VALA_EXTERN GFile* media_source_get_file (MediaSource* self);
VALA_EXTERN GFile* media_source_get_master_file (MediaSource* self);
VALA_EXTERN guint64 media_source_get_master_filesize (MediaSource* self);
VALA_EXTERN guint64 media_source_get_filesize (MediaSource* self);
VALA_EXTERN gint64 media_source_get_timestamp (MediaSource* self);
VALA_EXTERN BackingFileState** media_source_get_backing_files_state (MediaSource* self,
                                                         gint* result_length1);
VALA_EXTERN gchar* media_source_get_title (MediaSource* self);
VALA_EXTERN gchar* media_source_get_comment (MediaSource* self);
VALA_EXTERN void media_source_set_title (MediaSource* self,
                             const gchar* title);
VALA_EXTERN gboolean media_source_set_comment (MediaSource* self,
                                   const gchar* comment);
VALA_EXTERN gchar* media_source_prep_title (const gchar* title);
VALA_EXTERN gchar* media_source_prep_comment (const gchar* comment);
VALA_EXTERN void media_source_get_dimensions (MediaSource* self,
                                  PhotoException disallowed_steps,
                                  Dimensions* result);
VALA_EXTERN GdkPixbuf* media_source_get_preview_pixbuf (MediaSource* self,
                                            Scaling* scaling,
                                            GError** error);
VALA_EXTERN gboolean media_source_is_trashed (MediaSource* self);
VALA_EXTERN void media_source_trash (MediaSource* self);
VALA_EXTERN void media_source_untrash (MediaSource* self);
VALA_EXTERN gboolean media_source_is_offline (MediaSource* self);
VALA_EXTERN void media_source_mark_offline (MediaSource* self);
VALA_EXTERN void media_source_mark_online (MediaSource* self);
VALA_EXTERN gchar* media_source_get_master_md5 (MediaSource* self);
VALA_EXTERN void media_source_get_event_id (MediaSource* self,
                                EventID* result);
VALA_EXTERN Event* media_source_get_event (MediaSource* self);
VALA_EXTERN gboolean media_source_set_event (MediaSource* self,
                                 Event* new_event);
VALA_EXTERN gpointer transaction_controller_ref (gpointer instance);
VALA_EXTERN void transaction_controller_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_transaction_controller (const gchar* name,
                                               const gchar* nick,
                                               const gchar* blurb,
                                               GType object_type,
                                               GParamFlags flags);
VALA_EXTERN void value_set_transaction_controller (GValue* value,
                                       gpointer v_object);
VALA_EXTERN void value_take_transaction_controller (GValue* value,
                                        gpointer v_object);
VALA_EXTERN gpointer value_get_transaction_controller (const GValue* value);
VALA_EXTERN GType transaction_controller_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TransactionController, transaction_controller_unref)
VALA_EXTERN void media_source_set_many_to_event (GeeCollection* media_sources,
                                     Event* event,
                                     TransactionController* controller,
                                     GError** error);
VALA_EXTERN gint64 media_source_get_exposure_time (MediaSource* self);
VALA_EXTERN void media_source_get_import_id (MediaSource* self,
                                 ImportID* result);
VALA_EXTERN GType database_source_holding_tank_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DatabaseSourceHoldingTank, source_holding_tank_unref)
VALA_EXTERN GType media_source_holding_tank_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MediaSourceHoldingTank, source_holding_tank_unref)
VALA_EXTERN GType media_source_collection_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MediaSourceCollection, data_collection_unref)
VALA_EXTERN MediaSourceHoldingTank* media_source_holding_tank_new (MediaSourceCollection* sources,
                                                       SourceHoldingTankCheckToKeep check_to_keep,
                                                       gpointer check_to_keep_target,
                                                       GetSourceDatabaseKey get_key,
                                                       gpointer get_key_target);
VALA_EXTERN MediaSourceHoldingTank* media_source_holding_tank_construct (GType object_type,
                                                             MediaSourceCollection* sources,
                                                             SourceHoldingTankCheckToKeep check_to_keep,
                                                             gpointer check_to_keep_target,
                                                             GetSourceDatabaseKey get_key,
                                                             gpointer get_key_target);
VALA_EXTERN MediaSource* media_source_holding_tank_fetch_by_master_file (MediaSourceHoldingTank* self,
                                                             GFile* file);
VALA_EXTERN MediaSource* media_source_holding_tank_fetch_by_md5 (MediaSourceHoldingTank* self,
                                                     const gchar* md5);
VALA_EXTERN GType media_source_transaction_controller_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MediaSourceTransactionController, transaction_controller_unref)
VALA_EXTERN MediaSourceTransactionController* media_source_transaction_controller_new (MediaSourceCollection* sources);
VALA_EXTERN MediaSourceTransactionController* media_source_transaction_controller_construct (GType object_type,
                                                                                 MediaSourceCollection* sources);
VALA_EXTERN gpointer workers_ref (gpointer instance);
VALA_EXTERN void workers_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_workers (const gchar* name,
                                const gchar* nick,
                                const gchar* blurb,
                                GType object_type,
                                GParamFlags flags);
VALA_EXTERN void value_set_workers (GValue* value,
                        gpointer v_object);
VALA_EXTERN void value_take_workers (GValue* value,
                         gpointer v_object);
VALA_EXTERN gpointer value_get_workers (const GValue* value);
VALA_EXTERN GType workers_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Workers, workers_unref)
VALA_EXTERN GType media_monitor_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MediaMonitor, g_object_unref)
VALA_EXTERN MediaSourceCollection* media_source_collection_construct (GType object_type,
                                                          const gchar* name,
                                                          GetSourceDatabaseKey source_key_func,
                                                          gpointer source_key_func_target);
VALA_EXTERN GType library_photo_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LibraryPhoto, g_object_unref)
VALA_EXTERN GType video_source_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (VideoSource, g_object_unref)
VALA_EXTERN GType video_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Video, g_object_unref)
VALA_EXTERN void media_source_collection_filter_media (GeeCollection* media,
                                           GeeCollection* photos,
                                           GeeCollection* videos);
VALA_EXTERN void media_source_collection_count_media (GeeCollection* media,
                                          gint* photo_count,
                                          gint* video_count);
VALA_EXTERN gboolean media_source_collection_has_photo (GeeCollection* media);
VALA_EXTERN gboolean media_source_collection_has_video (GeeCollection* media);
VALA_EXTERN MediaSourceHoldingTank* media_source_collection_create_trashcan (MediaSourceCollection* self);
VALA_EXTERN MediaSourceHoldingTank* media_source_collection_create_offline_bin (MediaSourceCollection* self);
VALA_EXTERN MediaMonitor* media_source_collection_create_media_monitor (MediaSourceCollection* self,
                                                            Workers* workers,
                                                            GCancellable* cancellable);
VALA_EXTERN gchar* media_source_collection_get_typename (MediaSourceCollection* self);
VALA_EXTERN gboolean media_source_collection_is_file_recognized (MediaSourceCollection* self,
                                                     GFile* file);
VALA_EXTERN MediaSourceHoldingTank* media_source_collection_get_trashcan (MediaSourceCollection* self);
VALA_EXTERN MediaSourceHoldingTank* media_source_collection_get_offline_bin (MediaSourceCollection* self);
VALA_EXTERN MediaSource* media_source_collection_fetch_by_numeric_id (MediaSourceCollection* self,
                                                          gint64 numeric_id);
VALA_EXTERN void media_source_collection_notify_import_roll_altered (MediaSourceCollection* self);
VALA_EXTERN void media_source_collection_notify_flagged_contents_altered (MediaSourceCollection* self);
VALA_EXTERN void media_source_collection_notify_media_import_starting (MediaSourceCollection* self,
                                                           GeeCollection* media);
VALA_EXTERN void media_source_collection_notify_media_import_completed (MediaSourceCollection* self,
                                                            GeeCollection* media);
VALA_EXTERN MediaSource* media_source_collection_fetch_by_master_file (MediaSourceCollection* self,
                                                           GFile* file);
VALA_EXTERN MediaSource* media_source_collection_fetch_by_source_id (MediaSourceCollection* self,
                                                         const gchar* source_id);
VALA_EXTERN GeeCollection* media_source_collection_get_event_source_ids (MediaSourceCollection* self,
                                                             EventID* event_id);
VALA_EXTERN GeeCollection* media_source_collection_get_trashcan_contents (MediaSourceCollection* self);
VALA_EXTERN GeeCollection* media_source_collection_get_offline_bin_contents (MediaSourceCollection* self);
VALA_EXTERN GeeCollection* media_source_collection_get_flagged (MediaSourceCollection* self);
VALA_EXTERN GeeSortedSet* media_source_collection_get_import_roll_ids (MediaSourceCollection* self);
VALA_EXTERN ImportID* media_source_collection_get_last_import_id (MediaSourceCollection* self);
VALA_EXTERN GeeCollection* media_source_collection_get_import_roll (MediaSourceCollection* self,
                                                        ImportID* import_id);
VALA_EXTERN void media_source_collection_add_many_to_trash (MediaSourceCollection* self,
                                                GeeCollection* sources);
VALA_EXTERN void media_source_collection_add_many_to_offline (MediaSourceCollection* self,
                                                  GeeCollection* sources);
VALA_EXTERN gint media_source_collection_get_trashcan_count (MediaSourceCollection* self);
VALA_EXTERN void media_source_collection_import_many (MediaSourceCollection* self,
                                          GeeCollection* media);
VALA_EXTERN void media_source_collection_postprocess_imported_media (MediaSourceCollection* self,
                                                         GeeCollection* media);
VALA_EXTERN void media_source_collection_remove_from_app (MediaSourceCollection* self,
                                              GeeCollection* sources,
                                              gboolean delete_backing,
                                              ProgressMonitor monitor,
                                              gpointer monitor_target,
                                              GeeList* not_removed);
VALA_EXTERN void media_source_collection_delete_backing_files (MediaSourceCollection* self,
                                                   GeeCollection* sources,
                                                   ProgressMonitor monitor,
                                                   gpointer monitor_target,
                                                   GeeList* not_deleted);
VALA_EXTERN TransactionController* media_source_collection_get_transaction_controller (MediaSourceCollection* self);
VALA_EXTERN gpointer media_collection_registry_ref (gpointer instance);
VALA_EXTERN void media_collection_registry_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_media_collection_registry (const gchar* name,
                                                  const gchar* nick,
                                                  const gchar* blurb,
                                                  GType object_type,
                                                  GParamFlags flags);
VALA_EXTERN void value_set_media_collection_registry (GValue* value,
                                          gpointer v_object);
VALA_EXTERN void value_take_media_collection_registry (GValue* value,
                                           gpointer v_object);
VALA_EXTERN gpointer value_get_media_collection_registry (const GValue* value);
VALA_EXTERN GType media_collection_registry_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MediaCollectionRegistry, media_collection_registry_unref)
VALA_EXTERN void media_collection_registry_init (void);
VALA_EXTERN MediaCollectionRegistry* media_collection_registry_get_instance (void);
VALA_EXTERN gchar* media_collection_registry_get_typename_from_source_id (const gchar* source_id);
VALA_EXTERN void media_collection_registry_register_collection (MediaCollectionRegistry* self,
                                                    MediaSourceCollection* collection);
VALA_EXTERN MediaSourceCollection* media_collection_registry_get_collection (MediaCollectionRegistry* self,
                                                                 const gchar* typename);
VALA_EXTERN GeeCollection* media_collection_registry_get_all (MediaCollectionRegistry* self);
VALA_EXTERN void media_collection_registry_freeze_all (MediaCollectionRegistry* self);
VALA_EXTERN void media_collection_registry_thaw_all (MediaCollectionRegistry* self);
VALA_EXTERN void media_collection_registry_begin_transaction_on_all (MediaCollectionRegistry* self);
VALA_EXTERN void media_collection_registry_commit_transaction_on_all (MediaCollectionRegistry* self);
VALA_EXTERN MediaSource* media_collection_registry_fetch_media (MediaCollectionRegistry* self,
                                                    const gchar* source_id);
VALA_EXTERN ImportID* media_collection_registry_get_last_import_id (MediaCollectionRegistry* self);
VALA_EXTERN GeeCollection* media_collection_registry_get_source_ids_for_event_id (MediaCollectionRegistry* self,
                                                                      EventID* event_id);
VALA_EXTERN MediaSourceCollection* media_collection_registry_get_collection_for_file (MediaCollectionRegistry* self,
                                                                          GFile* file);
VALA_EXTERN gboolean media_collection_registry_is_valid_source_id (MediaCollectionRegistry* self,
                                                       const gchar* source_id);
VALA_EXTERN TransactionController* transaction_controller_construct (GType object_type);
VALA_EXTERN void transaction_controller_begin (TransactionController* self);
VALA_EXTERN void transaction_controller_begin_impl (TransactionController* self,
                                        GError** error);
VALA_EXTERN void transaction_controller_commit (TransactionController* self);
VALA_EXTERN void transaction_controller_commit_impl (TransactionController* self,
                                         GError** error);
VALA_EXTERN GType flaggable_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Flaggable, g_object_unref)
VALA_EXTERN gboolean flaggable_is_flagged (Flaggable* self);
VALA_EXTERN void flaggable_mark_flagged (Flaggable* self);
VALA_EXTERN void flaggable_mark_unflagged (Flaggable* self);
VALA_EXTERN void flaggable_mark_many_flagged_unflagged (GeeCollection* flag,
                                            GeeCollection* unflag,
                                            TransactionController* controller,
                                            GError** error);
VALA_EXTERN GType monitorable_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Monitorable, g_object_unref)
VALA_EXTERN gboolean monitorable_is_offline (Monitorable* self);
VALA_EXTERN void monitorable_mark_online (Monitorable* self);
VALA_EXTERN void monitorable_mark_offline (Monitorable* self);
VALA_EXTERN void monitorable_mark_many_online_offline (GeeCollection* online,
                                           GeeCollection* offline,
                                           TransactionController* controller,
                                           GError** error);
VALA_EXTERN void monitorable_set_master_file (Monitorable* self,
                                  GFile* file);
VALA_EXTERN void monitorable_set_many_master_file (GeeMap* map,
                                       TransactionController* controller,
                                       GError** error);
VALA_EXTERN void monitorable_set_master_timestamp (Monitorable* self,
                                       GFileInfo* info);
VALA_EXTERN void monitorable_set_many_master_timestamp (GeeMap* map,
                                            TransactionController* controller,
                                            GError** error);
VALA_EXTERN void dateable_set_exposure_time (Dateable* self,
                                 gint64 target_time);
VALA_EXTERN gint64 dateable_get_exposure_time (Dateable* self);
VALA_EXTERN gpointer metadata_date_time_ref (gpointer instance);
VALA_EXTERN void metadata_date_time_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_metadata_date_time (const gchar* name,
                                           const gchar* nick,
                                           const gchar* blurb,
                                           GType object_type,
                                           GParamFlags flags);
VALA_EXTERN void value_set_metadata_date_time (GValue* value,
                                   gpointer v_object);
VALA_EXTERN void value_take_metadata_date_time (GValue* value,
                                    gpointer v_object);
VALA_EXTERN gpointer value_get_metadata_date_time (const GValue* value);
VALA_EXTERN GType metadata_date_time_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MetadataDateTime, metadata_date_time_unref)
VALA_EXTERN MediaMetadata* media_metadata_construct (GType object_type);
VALA_EXTERN void media_metadata_read_from_file (MediaMetadata* self,
                                    GFile* file,
                                    GError** error);
VALA_EXTERN MetadataDateTime* media_metadata_get_creation_date_time (MediaMetadata* self);
VALA_EXTERN gchar* media_metadata_get_title (MediaMetadata* self);
VALA_EXTERN gchar* media_metadata_get_comment (MediaMetadata* self);
VALA_EXTERN GType metadata_rational_get_type (void) G_GNUC_CONST ;
VALA_EXTERN MetadataRational* metadata_rational_dup (const MetadataRational* self);
VALA_EXTERN void metadata_rational_free (MetadataRational* self);
VALA_EXTERN void metadata_rational_init (MetadataRational *self,
                             gint numerator,
                             gint denominator);
VALA_EXTERN gboolean metadata_rational_is_valid (MetadataRational *self);
VALA_EXTERN gchar* metadata_rational_to_string (MetadataRational *self);
VALA_EXTERN GQuark metadata_date_time_error_quark (void);
VALA_EXTERN GType metadata_date_time_error_get_type (void) G_GNUC_CONST ;
VALA_EXTERN MetadataDateTime* metadata_date_time_new (gint64 timestamp);
VALA_EXTERN MetadataDateTime* metadata_date_time_construct (GType object_type,
                                                gint64 timestamp);
VALA_EXTERN MetadataDateTime* metadata_date_time_new_from_exif (const gchar* label,
                                                    GError** error);
VALA_EXTERN MetadataDateTime* metadata_date_time_construct_from_exif (GType object_type,
                                                          const gchar* label,
                                                          GError** error);
VALA_EXTERN MetadataDateTime* metadata_date_time_new_from_xmp (const gchar* label,
                                                   GError** error);
VALA_EXTERN MetadataDateTime* metadata_date_time_construct_from_xmp (GType object_type,
                                                         const gchar* label,
                                                         GError** error);
VALA_EXTERN gint64 metadata_date_time_get_timestamp (MetadataDateTime* self);
VALA_EXTERN gchar* metadata_date_time_get_exif_label (MetadataDateTime* self);
VALA_EXTERN gchar* metadata_date_time_get_xmp_label (MetadataDateTime* self);
VALA_EXTERN gpointer monitorable_updates_ref (gpointer instance);
VALA_EXTERN void monitorable_updates_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_monitorable_updates (const gchar* name,
                                            const gchar* nick,
                                            const gchar* blurb,
                                            GType object_type,
                                            GParamFlags flags);
VALA_EXTERN void value_set_monitorable_updates (GValue* value,
                                    gpointer v_object);
VALA_EXTERN void value_take_monitorable_updates (GValue* value,
                                     gpointer v_object);
VALA_EXTERN gpointer value_get_monitorable_updates (const GValue* value);
VALA_EXTERN GType monitorable_updates_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MonitorableUpdates, monitorable_updates_unref)
VALA_EXTERN MonitorableUpdates* monitorable_updates_new (Monitorable* monitorable);
VALA_EXTERN MonitorableUpdates* monitorable_updates_construct (GType object_type,
                                                   Monitorable* monitorable);
VALA_EXTERN GFile* monitorable_updates_get_master_file (MonitorableUpdates* self);
VALA_EXTERN GFileInfo* monitorable_updates_get_master_file_info (MonitorableUpdates* self);
VALA_EXTERN gboolean monitorable_updates_is_in_alteration (MonitorableUpdates* self);
VALA_EXTERN gboolean monitorable_updates_is_set_offline (MonitorableUpdates* self);
VALA_EXTERN gboolean monitorable_updates_is_set_online (MonitorableUpdates* self);
VALA_EXTERN void monitorable_updates_set_master_file (MonitorableUpdates* self,
                                          GFile* file);
VALA_EXTERN void monitorable_updates_set_master_file_info_altered (MonitorableUpdates* self,
                                                       gboolean altered);
VALA_EXTERN void monitorable_updates_set_master_file_info (MonitorableUpdates* self,
                                               GFileInfo* info);
VALA_EXTERN void monitorable_updates_set_master_in_alteration (MonitorableUpdates* self,
                                                   gboolean in_alteration);
VALA_EXTERN void monitorable_updates_set_master_alterations_complete (MonitorableUpdates* self,
                                                          GFileInfo* info);
VALA_EXTERN void monitorable_updates_mark_offline (MonitorableUpdates* self);
VALA_EXTERN void monitorable_updates_mark_online (MonitorableUpdates* self);
VALA_EXTERN void monitorable_updates_reset_online_offline (MonitorableUpdates* self);
VALA_EXTERN gboolean monitorable_updates_is_all_updated (MonitorableUpdates* self);
VALA_EXTERN GType media_monitor_discovered_file_get_type (void) G_GNUC_CONST ;
VALA_EXTERN MediaMonitor* media_monitor_construct (GType object_type,
                                       MediaSourceCollection* sources,
                                       GCancellable* cancellable);
VALA_EXTERN MediaSourceCollection* media_monitor_get_media_source_collection (MediaMonitor* self);
VALA_EXTERN void media_monitor_close (MediaMonitor* self);
VALA_EXTERN gchar* media_monitor_to_string (MediaMonitor* self);
VALA_EXTERN MonitorableUpdates* media_monitor_create_updates (MediaMonitor* self,
                                                  Monitorable* monitorable);
VALA_EXTERN void media_monitor_on_media_source_destroyed (MediaMonitor* self,
                                              DataSource* source);
VALA_EXTERN void media_monitor_notify_discovery_started (MediaMonitor* self);
VALA_EXTERN MediaMonitorDiscoveredFile media_monitor_notify_file_discovered (MediaMonitor* self,
                                                                 GFile* file,
                                                                 GFileInfo* info,
                                                                 Monitorable** monitorable);
VALA_EXTERN GeeCollection* media_monitor_candidates_for_unknown_file (MediaMonitor* self,
                                                          GFile* file,
                                                          GFileInfo* info,
                                                          MediaMonitorDiscoveredFile* _result_);
VALA_EXTERN GFile** media_monitor_get_auxilliary_backing_files (MediaMonitor* self,
                                                    Monitorable* monitorable,
                                                    gint* result_length1);
VALA_EXTERN void media_monitor_update_backing_file_info (MediaMonitor* self,
                                             Monitorable* monitorable,
                                             GFile* file,
                                             GFileInfo* info);
VALA_EXTERN void media_monitor_notify_discovery_completing (MediaMonitor* self);
VALA_EXTERN gboolean media_monitor_is_file_represented (MediaMonitor* self,
                                            GFile* file);
VALA_EXTERN gboolean media_monitor_notify_file_created (MediaMonitor* self,
                                            GFile* file,
                                            GFileInfo* info);
VALA_EXTERN gboolean media_monitor_notify_file_moved (MediaMonitor* self,
                                          GFile* old_file,
                                          GFile* new_file,
                                          GFileInfo* new_file_info);
VALA_EXTERN gboolean media_monitor_notify_file_altered (MediaMonitor* self,
                                            GFile* file);
VALA_EXTERN gboolean media_monitor_notify_file_attributes_altered (MediaMonitor* self,
                                                       GFile* file);
VALA_EXTERN gboolean media_monitor_notify_file_alteration_completed (MediaMonitor* self,
                                                         GFile* file,
                                                         GFileInfo* info);
VALA_EXTERN gboolean media_monitor_notify_file_deleted (MediaMonitor* self,
                                            GFile* file);
VALA_EXTERN void media_monitor_mdbg (const gchar* msg);
VALA_EXTERN gboolean media_monitor_has_pending_updates (MediaMonitor* self);
VALA_EXTERN GeeCollection* media_monitor_get_monitorables (MediaMonitor* self);
VALA_EXTERN MonitorableUpdates* media_monitor_fetch_updates (MediaMonitor* self,
                                                 Monitorable* monitorable);
VALA_EXTERN MonitorableUpdates* media_monitor_get_existing_updates (MediaMonitor* self,
                                                        Monitorable* monitorable);
VALA_EXTERN void media_monitor_remove_updates (MediaMonitor* self,
                                   Monitorable* monitorable);
VALA_EXTERN gboolean media_monitor_is_online (MediaMonitor* self,
                                  Monitorable* monitorable);
VALA_EXTERN gboolean media_monitor_is_offline (MediaMonitor* self,
                                   Monitorable* monitorable);
VALA_EXTERN GFile* media_monitor_get_master_file (MediaMonitor* self,
                                      Monitorable* monitorable);
VALA_EXTERN void media_monitor_update_master_file (MediaMonitor* self,
                                       Monitorable* monitorable,
                                       GFile* file);
VALA_EXTERN void media_monitor_update_master_file_info_altered (MediaMonitor* self,
                                                    Monitorable* monitorable);
VALA_EXTERN void media_monitor_update_master_file_in_alteration (MediaMonitor* self,
                                                     Monitorable* monitorable,
                                                     gboolean in_alteration);
VALA_EXTERN void media_monitor_update_master_file_alterations_completed (MediaMonitor* self,
                                                             Monitorable* monitorable,
                                                             GFileInfo* info);
VALA_EXTERN void media_monitor_update_online (MediaMonitor* self,
                                  Monitorable* monitorable);
VALA_EXTERN void media_monitor_update_offline (MediaMonitor* self,
                                   Monitorable* monitorable);
VALA_EXTERN void media_monitor_process_updates (MediaMonitor* self,
                                    GeeCollection* all_updates,
                                    TransactionController* controller,
                                    gint* op_count,
                                    GError** error);
VALA_EXTERN gpointer core_tracker_ref (gpointer instance);
VALA_EXTERN void core_tracker_unref (gpointer instance);
VALA_EXTERN GParamSpec* core_param_spec_tracker (const gchar* name,
                                     const gchar* nick,
                                     const gchar* blurb,
                                     GType object_type,
                                     GParamFlags flags);
VALA_EXTERN void core_value_set_tracker (GValue* value,
                             gpointer v_object);
VALA_EXTERN void core_value_take_tracker (GValue* value,
                              gpointer v_object);
VALA_EXTERN gpointer core_value_get_tracker (const GValue* value);
VALA_EXTERN GType core_tracker_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (CoreTracker, core_tracker_unref)
VALA_EXTERN GType core_view_tracker_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (CoreViewTracker, core_tracker_unref)
VALA_EXTERN GType media_view_tracker_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MediaViewTracker, core_tracker_unref)
VALA_EXTERN GType media_accumulator_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MediaAccumulator, g_object_unref)
VALA_EXTERN MediaViewTracker* media_view_tracker_new (ViewCollection* collection);
VALA_EXTERN MediaViewTracker* media_view_tracker_construct (GType object_type,
                                                ViewCollection* collection);
VALA_EXTERN GType core_tracker_accumulator_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (CoreTrackerAccumulator, g_object_unref)
VALA_EXTERN gchar* media_accumulator_to_string (MediaAccumulator* self);
VALA_EXTERN MediaAccumulator* media_accumulator_new (void);
VALA_EXTERN MediaAccumulator* media_accumulator_construct (GType object_type);
VALA_EXTERN GType metadata_writer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MetadataWriter, g_object_unref)
VALA_EXTERN void metadata_writer_init (void);
VALA_EXTERN void metadata_writer_terminate (void);
VALA_EXTERN MetadataWriter* metadata_writer_get_instance (void);
VALA_EXTERN void metadata_writer_force_rescan (MetadataWriter* self);
VALA_EXTERN void metadata_writer_pause (MetadataWriter* self);
VALA_EXTERN void metadata_writer_unpause (MetadataWriter* self);
VALA_EXTERN void metadata_writer_close (MetadataWriter* self);
VALA_EXTERN GType orientation_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* orientation_to_string (Orientation self);
VALA_EXTERN Orientation orientation_rotate_clockwise (Orientation self);
VALA_EXTERN Orientation orientation_rotate_counterclockwise (Orientation self);
VALA_EXTERN Orientation orientation_flip_top_to_bottom (Orientation self);
VALA_EXTERN Orientation orientation_flip_left_to_right (Orientation self);
VALA_EXTERN Orientation orientation_perform (Orientation self,
                                 Rotation rotation);
VALA_EXTERN Rotation* orientation_to_rotations (Orientation self,
                                    gint* result_length1);
VALA_EXTERN void orientation_rotate_dimensions (Orientation self,
                                    Dimensions* dim,
                                    Dimensions* result);
VALA_EXTERN void orientation_derotate_dimensions (Orientation self,
                                      Dimensions* dim,
                                      Dimensions* result);
VALA_EXTERN GdkPixbuf* orientation_rotate_pixbuf (Orientation self,
                                      GdkPixbuf* pixbuf);
VALA_EXTERN void orientation_rotate_point (Orientation self,
                               Dimensions* space,
                               GdkPoint* point,
                               GdkPoint* result);
VALA_EXTERN void orientation_derotate_point (Orientation self,
                                 Dimensions* space,
                                 GdkPoint* point,
                                 GdkPoint* result);
VALA_EXTERN void orientation_rotate_box (Orientation self,
                             Dimensions* space,
                             Box* box,
                             Box* result);
VALA_EXTERN void orientation_derotate_box (Orientation self,
                               Dimensions* space,
                               Box* box,
                               Box* result);
VALA_EXTERN GdkPixbuf* rotation_perform (Rotation self,
                             GdkPixbuf* pixbuf);
VALA_EXTERN Rotation rotation_opposite (Rotation self);
VALA_EXTERN void page_window_switched_pages (PageWindow* self,
                                 Page* old_page,
                                 Page* new_page);
VALA_EXTERN Page* page_window_get_current_page (PageWindow* self);
VALA_EXTERN void page_window_set_current_page (PageWindow* self,
                                   Page* page);
VALA_EXTERN void page_window_clear_current_page (PageWindow* self);
VALA_EXTERN void page_window_set_busy_cursor (PageWindow* self);
VALA_EXTERN void page_window_set_normal_cursor (PageWindow* self);
VALA_EXTERN PageWindow* page_window_construct (GType object_type);
VALA_EXTERN GType backing_fetch_mode_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gpointer photo_import_params_ref (gpointer instance);
VALA_EXTERN void photo_import_params_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_photo_import_params (const gchar* name,
                                            const gchar* nick,
                                            const gchar* blurb,
                                            GType object_type,
                                            GParamFlags flags);
VALA_EXTERN void value_set_photo_import_params (GValue* value,
                                    gpointer v_object);
VALA_EXTERN void value_take_photo_import_params (GValue* value,
                                     gpointer v_object);
VALA_EXTERN gpointer value_get_photo_import_params (const GValue* value);
VALA_EXTERN GType photo_import_params_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PhotoImportParams, photo_import_params_unref)
VALA_EXTERN GType photo_file_sniffer_options_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gpointer thumbnails_ref (gpointer instance);
VALA_EXTERN void thumbnails_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_thumbnails (const gchar* name,
                                   const gchar* nick,
                                   const gchar* blurb,
                                   GType object_type,
                                   GParamFlags flags);
VALA_EXTERN void value_set_thumbnails (GValue* value,
                           gpointer v_object);
VALA_EXTERN void value_take_thumbnails (GValue* value,
                            gpointer v_object);
VALA_EXTERN gpointer value_get_thumbnails (const GValue* value);
VALA_EXTERN GType thumbnails_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Thumbnails, thumbnails_unref)
VALA_EXTERN gpointer photo_row_ref (gpointer instance);
VALA_EXTERN void photo_row_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_photo_row (const gchar* name,
                                  const gchar* nick,
                                  const gchar* blurb,
                                  GType object_type,
                                  GParamFlags flags);
VALA_EXTERN void value_set_photo_row (GValue* value,
                          gpointer v_object);
VALA_EXTERN void value_take_photo_row (GValue* value,
                           gpointer v_object);
VALA_EXTERN gpointer value_get_photo_row (const GValue* value);
VALA_EXTERN GType photo_row_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PhotoRow, photo_row_unref)
VALA_EXTERN PhotoImportParams* photo_import_params_new (GFile* file,
                                            GFile* final_associated_file,
                                            ImportID* import_id,
                                            PhotoFileSnifferOptions sniffer_options,
                                            const gchar* exif_md5,
                                            const gchar* thumbnail_md5,
                                            const gchar* full_md5,
                                            Thumbnails* thumbnails);
VALA_EXTERN PhotoImportParams* photo_import_params_construct (GType object_type,
                                                  GFile* file,
                                                  GFile* final_associated_file,
                                                  ImportID* import_id,
                                                  PhotoFileSnifferOptions sniffer_options,
                                                  const gchar* exif_md5,
                                                  const gchar* thumbnail_md5,
                                                  const gchar* full_md5,
                                                  Thumbnails* thumbnails);
VALA_EXTERN PhotoImportParams* photo_import_params_new_create_placeholder (GFile* file,
                                                               ImportID* import_id);
VALA_EXTERN PhotoImportParams* photo_import_params_construct_create_placeholder (GType object_type,
                                                                     GFile* file,
                                                                     ImportID* import_id);
VALA_EXTERN GType photo_transformation_state_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PhotoTransformationState, g_object_unref)
VALA_EXTERN PhotoTransformationState* photo_transformation_state_construct (GType object_type);
VALA_EXTERN gboolean photo_transformation_state_is_broken (PhotoTransformationState* self);
VALA_EXTERN GType photo_metadata_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PhotoMetadata, media_metadata_unref)
VALA_EXTERN gboolean photo_exception_prohibits (PhotoException self,
                                    PhotoException exception);
VALA_EXTERN gboolean photo_exception_allows (PhotoException self,
                                 PhotoException exception);
VALA_EXTERN Photo* photo_construct (GType object_type,
                        PhotoRow* row);
VALA_EXTERN void photo_notify_editable_replaced (Photo* self,
                                     GFile* old_file,
                                     GFile* new_file);
VALA_EXTERN void photo_notify_raw_development_modified (Photo* self);
VALA_EXTERN void photo_notify_baseline_replaced (Photo* self);
VALA_EXTERN void photo_notify_master_reimported (Photo* self,
                                     PhotoMetadata* metadata);
VALA_EXTERN void photo_notify_editable_reimported (Photo* self,
                                       PhotoMetadata* metadata);
VALA_EXTERN void photo_notify_source_reimported (Photo* self,
                                     PhotoMetadata* metadata);
VALA_EXTERN void photo_notify_baseline_reimported (Photo* self,
                                       PhotoMetadata* metadata);
VALA_EXTERN gboolean photo_is_raw_developer_complete (Photo* self,
                                          RawDeveloper d);
VALA_EXTERN gboolean photo_is_raw_developer_available (Photo* self,
                                           RawDeveloper d);
VALA_EXTERN void photo_add_backing_photo_for_development (Photo* self,
                                              RawDeveloper d,
                                              BackingPhotoRow* bpr,
                                              GError** error);
VALA_EXTERN void photo_import_developed_backing_photo (PhotoRow* row,
                                           RawDeveloper d,
                                           BackingPhotoRow* bpr,
                                           GError** error);
VALA_EXTERN void photo_set_default_raw_developer (Photo* self,
                                      RawDeveloper d);
VALA_EXTERN void photo_set_raw_developer (Photo* self,
                              RawDeveloper d);
VALA_EXTERN RawDeveloper photo_get_raw_developer (Photo* self);
VALA_EXTERN void photo_redevelop_raw (Photo* self,
                          RawDeveloper d);
VALA_EXTERN gpointer photo_file_adapter_ref (gpointer instance);
VALA_EXTERN void photo_file_adapter_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_photo_file_adapter (const gchar* name,
                                           const gchar* nick,
                                           const gchar* blurb,
                                           GType object_type,
                                           GParamFlags flags);
VALA_EXTERN void value_set_photo_file_adapter (GValue* value,
                                   gpointer v_object);
VALA_EXTERN void value_take_photo_file_adapter (GValue* value,
                                    gpointer v_object);
VALA_EXTERN gpointer value_get_photo_file_adapter (const GValue* value);
VALA_EXTERN GType photo_file_adapter_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PhotoFileAdapter, photo_file_adapter_unref)
VALA_EXTERN GType photo_file_reader_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PhotoFileReader, photo_file_adapter_unref)
VALA_EXTERN PhotoFileReader* photo_get_editable_reader (Photo* self);
VALA_EXTERN gboolean photo_is_developed (Photo* self);
VALA_EXTERN gboolean photo_has_editable (Photo* self);
VALA_EXTERN gboolean photo_does_master_exist (Photo* self);
VALA_EXTERN gboolean photo_does_editable_exist (Photo* self);
VALA_EXTERN gboolean photo_is_master_baseline (Photo* self);
VALA_EXTERN gboolean photo_is_master_source (Photo* self);
VALA_EXTERN gboolean photo_is_editable_baseline (Photo* self);
VALA_EXTERN gboolean photo_is_editable_source (Photo* self);
VALA_EXTERN BackingPhotoRow* photo_get_master_photo_row (Photo* self);
VALA_EXTERN BackingPhotoRow* photo_get_editable_photo_row (Photo* self);
VALA_EXTERN GeeCollection* photo_get_raw_development_photo_rows (Photo* self);
VALA_EXTERN BackingPhotoRow* photo_get_raw_development_photo_row (Photo* self,
                                                      RawDeveloper d);
VALA_EXTERN PhotoFileFormat* photo_get_editable_file_format (Photo* self);
VALA_EXTERN PhotoFileFormat photo_get_export_format_for_parameters (Photo* self,
                                                        ExportFormatParameters* params);
VALA_EXTERN gchar* photo_get_export_basename_for_parameters (Photo* self,
                                                 ExportFormatParameters* params);
VALA_EXTERN ImportResult photo_prepare_for_import (PhotoImportParams* params);
VALA_EXTERN void photo_create_pre_import (PhotoImportParams* params);
VALA_EXTERN gpointer detected_photo_information_ref (gpointer instance);
VALA_EXTERN void detected_photo_information_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_detected_photo_information (const gchar* name,
                                                   const gchar* nick,
                                                   const gchar* blurb,
                                                   GType object_type,
                                                   GParamFlags flags);
VALA_EXTERN void value_set_detected_photo_information (GValue* value,
                                           gpointer v_object);
VALA_EXTERN void value_take_detected_photo_information (GValue* value,
                                            gpointer v_object);
VALA_EXTERN gpointer value_get_detected_photo_information (const GValue* value);
VALA_EXTERN GType detected_photo_information_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DetectedPhotoInformation, detected_photo_information_unref)
VALA_EXTERN BackingPhotoRow* photo_query_backing_photo_row (Photo* self,
                                                GFile* file,
                                                PhotoFileSnifferOptions options,
                                                DetectedPhotoInformation** detected,
                                                GError** error);
VALA_EXTERN gpointer photo_reimport_master_state_ref (gpointer instance);
VALA_EXTERN void photo_reimport_master_state_unref (gpointer instance);
VALA_EXTERN GParamSpec* photo_param_spec_reimport_master_state (const gchar* name,
                                                    const gchar* nick,
                                                    const gchar* blurb,
                                                    GType object_type,
                                                    GParamFlags flags);
VALA_EXTERN void photo_value_set_reimport_master_state (GValue* value,
                                            gpointer v_object);
VALA_EXTERN void photo_value_take_reimport_master_state (GValue* value,
                                             gpointer v_object);
VALA_EXTERN gpointer photo_value_get_reimport_master_state (const GValue* value);
VALA_EXTERN GType photo_reimport_master_state_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PhotoReimportMasterState, photo_reimport_master_state_unref)
VALA_EXTERN gboolean photo_prepare_for_reimport_master (Photo* self,
                                            PhotoReimportMasterState** reimport_state,
                                            GError** error);
VALA_EXTERN void photo_apply_user_metadata_for_reimport (Photo* self,
                                             PhotoMetadata* metadata);
VALA_EXTERN void photo_finish_reimport_master (Photo* self,
                                   PhotoReimportMasterState* state,
                                   GError** error);
VALA_EXTERN gpointer photo_reimport_editable_state_ref (gpointer instance);
VALA_EXTERN void photo_reimport_editable_state_unref (gpointer instance);
VALA_EXTERN GParamSpec* photo_param_spec_reimport_editable_state (const gchar* name,
                                                      const gchar* nick,
                                                      const gchar* blurb,
                                                      GType object_type,
                                                      GParamFlags flags);
VALA_EXTERN void photo_value_set_reimport_editable_state (GValue* value,
                                              gpointer v_object);
VALA_EXTERN void photo_value_take_reimport_editable_state (GValue* value,
                                               gpointer v_object);
VALA_EXTERN gpointer photo_value_get_reimport_editable_state (const GValue* value);
VALA_EXTERN GType photo_reimport_editable_state_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PhotoReimportEditableState, photo_reimport_editable_state_unref)
VALA_EXTERN gboolean photo_prepare_for_reimport_editable (Photo* self,
                                              PhotoReimportEditableState** state,
                                              GError** error);
VALA_EXTERN void photo_finish_reimport_editable (Photo* self,
                                     PhotoReimportEditableState* state,
                                     GError** error);
VALA_EXTERN gpointer photo_reimport_raw_development_state_ref (gpointer instance);
VALA_EXTERN void photo_reimport_raw_development_state_unref (gpointer instance);
VALA_EXTERN GParamSpec* photo_param_spec_reimport_raw_development_state (const gchar* name,
                                                             const gchar* nick,
                                                             const gchar* blurb,
                                                             GType object_type,
                                                             GParamFlags flags);
VALA_EXTERN void photo_value_set_reimport_raw_development_state (GValue* value,
                                                     gpointer v_object);
VALA_EXTERN void photo_value_take_reimport_raw_development_state (GValue* value,
                                                      gpointer v_object);
VALA_EXTERN gpointer photo_value_get_reimport_raw_development_state (const GValue* value);
VALA_EXTERN GType photo_reimport_raw_development_state_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PhotoReimportRawDevelopmentState, photo_reimport_raw_development_state_unref)
VALA_EXTERN gboolean photo_prepare_for_reimport_raw_development (Photo* self,
                                                     PhotoReimportRawDevelopmentState** state,
                                                     GError** error);
VALA_EXTERN void photo_finish_reimport_raw_development (Photo* self,
                                            PhotoReimportRawDevelopmentState* state,
                                            GError** error);
VALA_EXTERN void photo_set_master_timestamp (Photo* self,
                                 GFileInfo* info);
VALA_EXTERN void photo_update_editable_modification_time (Photo* self,
                                              GFileInfo* info,
                                              GError** error);
VALA_EXTERN void photo_update_many_editable_timestamps (GeeMap* map,
                                            GError** error);
VALA_EXTERN gboolean photo_is_file_image (GFile* file);
VALA_EXTERN gboolean photo_can_write_file (Photo* self);
VALA_EXTERN gboolean photo_is_duplicate (GFile* file,
                             const gchar* thumbnail_md5,
                             const gchar* full_md5,
                             PhotoFileFormat file_format);
VALA_EXTERN PhotoID* photo_get_duplicate_ids (GFile* file,
                                  const gchar* thumbnail_md5,
                                  const gchar* full_md5,
                                  PhotoFileFormat file_format,
                                  gint* result_length1);
VALA_EXTERN gint64 photo_get_photo_key (DataSource* source);
VALA_EXTERN void photo_set_master_file (Photo* self,
                            GFile* file);
VALA_EXTERN void photo_set_editable_file (Photo* self,
                              GFile* file);
VALA_EXTERN void photo_set_many_editable_file (GeeMap* map,
                                   GError** error);
VALA_EXTERN GFile* photo_get_actual_file (Photo* self);
VALA_EXTERN GFile* photo_get_editable_file (Photo* self);
VALA_EXTERN GeeCollection* photo_get_raw_developer_files (Photo* self);
VALA_EXTERN GFile* photo_get_source_file (Photo* self);
VALA_EXTERN PhotoFileFormat photo_get_file_format (Photo* self);
VALA_EXTERN PhotoFileFormat photo_get_best_export_file_format (Photo* self);
VALA_EXTERN PhotoFileFormat photo_get_master_file_format (Photo* self);
VALA_EXTERN void photo_get_photo_id (Photo* self,
                         PhotoID* result);
VALA_EXTERN gint64 photo_get_raw_event_id (Photo* self);
VALA_EXTERN GType backing_photo_id_get_type (void) G_GNUC_CONST ;
VALA_EXTERN BackingPhotoID* backing_photo_id_dup (const BackingPhotoID* self);
VALA_EXTERN void backing_photo_id_free (BackingPhotoID* self);
VALA_EXTERN void photo_get_editable_id (Photo* self,
                            BackingPhotoID* result);
VALA_EXTERN guint64 photo_get_flags (Photo* self);
VALA_EXTERN guint64 photo_replace_flags (Photo* self,
                             guint64 flags,
                             Alteration* additional_alteration);
VALA_EXTERN gboolean photo_is_flag_set (Photo* self,
                            guint64 mask);
VALA_EXTERN guint64 photo_add_flags (Photo* self,
                         guint64 mask,
                         Alteration* additional_alteration);
VALA_EXTERN guint64 photo_remove_flags (Photo* self,
                            guint64 mask,
                            Alteration* additional_alteration);
VALA_EXTERN guint64 photo_add_remove_flags (Photo* self,
                                guint64 add,
                                guint64 remove,
                                Alteration* additional_alteration);
VALA_EXTERN void photo_add_remove_many_flags (GeeCollection* add,
                                  guint64 add_mask,
                                  Alteration* additional_add_alteration,
                                  GeeCollection* remove,
                                  guint64 remove_mask,
                                  Alteration* additional_remove_alteration,
                                  GError** error);
VALA_EXTERN guint64 photo_toggle_flags (Photo* self,
                            guint64 mask,
                            Alteration* additional_alteration);
VALA_EXTERN gboolean photo_is_master_metadata_dirty (Photo* self);
VALA_EXTERN void photo_set_master_metadata_dirty (Photo* self,
                                      gboolean dirty,
                                      GError** error);
VALA_EXTERN gboolean photo_is_enhanced (Photo* self);
VALA_EXTERN void photo_set_enhanced (Photo* self,
                         gboolean enhanced);
VALA_EXTERN guint64 photo_get_editable_filesize (Photo* self);
VALA_EXTERN void photo_set_import_id (Photo* self,
                          ImportID* import_id);
VALA_EXTERN void photo_set_title_persistent (Photo* self,
                                 const gchar* title,
                                 GError** error);
VALA_EXTERN void photo_set_comment_persistent (Photo* self,
                                   const gchar* comment,
                                   GError** error);
VALA_EXTERN void photo_set_exposure_time_persistent (Photo* self,
                                         gint64 time,
                                         GError** error);
VALA_EXTERN PixelTransformationBundle* photo_get_color_adjustments (Photo* self);
VALA_EXTERN PixelTransformer* photo_get_pixel_transformer (Photo* self);
VALA_EXTERN gboolean photo_has_color_adjustments (Photo* self);
VALA_EXTERN PixelTransformation* photo_get_color_adjustment (Photo* self,
                                                 PixelTransformationType type);
VALA_EXTERN void photo_set_color_adjustments (Photo* self,
                                  PixelTransformationBundle* new_adjustments);
VALA_EXTERN PhotoMetadata* photo_get_master_metadata (Photo* self,
                                          GError** error);
VALA_EXTERN PhotoMetadata* photo_get_editable_metadata (Photo* self,
                                            GError** error);
VALA_EXTERN gboolean photo_persist_master_metadata (Photo* self,
                                        PhotoMetadata* metadata,
                                        PhotoReimportMasterState** state,
                                        GError** error);
VALA_EXTERN void photo_finish_update_master_metadata (Photo* self,
                                          PhotoReimportMasterState* state,
                                          GError** error);
VALA_EXTERN gboolean photo_persist_editable_metadata (Photo* self,
                                          PhotoMetadata* metadata,
                                          PhotoReimportEditableState** state,
                                          GError** error);
VALA_EXTERN void photo_finish_update_editable_metadata (Photo* self,
                                            PhotoReimportEditableState* state,
                                            GError** error);
VALA_EXTERN void photo_get_raw_dimensions (Photo* self,
                               Dimensions* result);
VALA_EXTERN gboolean photo_has_transformations (Photo* self);
VALA_EXTERN gboolean photo_only_metadata_changed (Photo* self);
VALA_EXTERN gboolean photo_has_alterations (Photo* self);
VALA_EXTERN PhotoTransformationState* photo_save_transformation_state (Photo* self);
VALA_EXTERN gboolean photo_load_transformation_state (Photo* self,
                                          PhotoTransformationState* state);
VALA_EXTERN void photo_remove_all_transformations (Photo* self);
VALA_EXTERN Orientation photo_get_original_orientation (Photo* self);
VALA_EXTERN Orientation photo_get_orientation (Photo* self);
VALA_EXTERN gboolean photo_set_orientation (Photo* self,
                                Orientation orientation);
VALA_EXTERN gboolean photo_check_can_rotate (Photo* self);
VALA_EXTERN void photo_rotate (Photo* self,
                   Rotation rotation);
VALA_EXTERN gboolean photo_has_crop (Photo* self);
VALA_EXTERN gboolean photo_get_raw_crop (Photo* self,
                             Box* crop);
VALA_EXTERN gboolean photo_has_redeye_transformations (Photo* self);
VALA_EXTERN void photo_add_redeye_instance (Photo* self,
                                EditingToolsRedeyeInstance* redeye);
VALA_EXTERN GdkPixbuf* photo_get_master_pixbuf (Photo* self,
                                    Scaling* scaling,
                                    gboolean rotate,
                                    GError** error);
VALA_EXTERN GdkPixbuf* photo_get_unmodified_pixbuf (Photo* self,
                                        Scaling* scaling,
                                        gboolean rotate,
                                        GError** error);
VALA_EXTERN void photo_populate_prefetched (Photo* self,
                                GError** error);
VALA_EXTERN GdkPixbuf* photo_get_prefetched_copy (Photo* self);
VALA_EXTERN gboolean photo_discard_prefetched (Photo* self,
                                   gboolean immed);
VALA_EXTERN GdkPixbuf* photo_get_pixbuf_with_options (Photo* self,
                                          Scaling* scaling,
                                          PhotoException exceptions,
                                          BackingFetchMode fetch_mode,
                                          GError** error);
VALA_EXTERN gboolean photo_has_user_generated_metadata (Photo* self);
VALA_EXTERN void photo_set_user_metadata_for_export (Photo* self,
                                         PhotoMetadata* metadata);
VALA_EXTERN gchar* photo_get_export_basename (Photo* self,
                                  PhotoFileFormat* file_format);
VALA_EXTERN gboolean photo_is_export_required (Photo* self,
                                   Scaling* scaling,
                                   PhotoFileFormat export_format);
VALA_EXTERN void photo_export (Photo* self,
                   GFile* dest_file,
                   Scaling* scaling,
                   JpegQuality quality,
                   PhotoFileFormat export_format,
                   gboolean direct_copy_unmodified,
                   gboolean export_metadata,
                   GError** error);
VALA_EXTERN void photo_open_with_raw_external_editor (Photo* self,
                                          const gchar* external_editor,
                                          GError** error);
VALA_EXTERN void photo_open_with_external_editor (Photo* self,
                                      const gchar* external_editor,
                                      GError** error);
VALA_EXTERN GFile* photo_get_modified_file (Photo* self,
                                GError** error);
VALA_EXTERN void photo_revert_to_master (Photo* self,
                             gboolean notify);
VALA_EXTERN void photo_reimport_editable (Photo* self,
                              GError** error);
VALA_EXTERN void photo_get_original_dimensions (Photo* self,
                                    Dimensions* result);
VALA_EXTERN void photo_get_master_dimensions (Photo* self,
                                  Dimensions* result);
VALA_EXTERN gboolean photo_get_crop (Photo* self,
                         Box* crop,
                         PhotoException exceptions);
VALA_EXTERN void photo_set_crop (Photo* self,
                     Box* crop);
VALA_EXTERN gboolean photo_get_straighten (Photo* self,
                               gdouble* theta);
VALA_EXTERN void photo_set_straighten (Photo* self,
                           gdouble theta);
VALA_EXTERN void photo_unscaled_to_raw_point (Photo* self,
                                  GdkPoint* unscaled_point,
                                  GdkPoint* result);
VALA_EXTERN void photo_unscaled_to_raw_rect (Photo* self,
                                 GdkRectangle* unscaled_rect,
                                 GdkRectangle* result);
VALA_EXTERN PixelTransformationBundle* photo_get_enhance_transformations (Photo* self);
VALA_EXTERN gboolean photo_enhance (Photo* self);
VALA_EXTERN gboolean photo_unenhance (Photo* self);
VALA_EXTERN gboolean photo_get_develop_raw_photos_to_files (void);
VALA_EXTERN void photo_set_develop_raw_photos_to_files (gboolean value);
VALA_EXTERN PhotoReimportMasterState* photo_reimport_master_state_construct (GType object_type);
VALA_EXTERN PhotoReimportEditableState* photo_reimport_editable_state_construct (GType object_type);
VALA_EXTERN PhotoReimportRawDevelopmentState* photo_reimport_raw_development_state_construct (GType object_type);
VALA_EXTERN GType library_photo_source_collection_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LibraryPhotoSourceCollection, data_collection_unref)
VALA_EXTERN GType library_photo_source_collection_state_get_type (void) G_GNUC_CONST ;
VALA_EXTERN LibraryPhotoSourceCollection* library_photo_source_collection_new (void);
VALA_EXTERN LibraryPhotoSourceCollection* library_photo_source_collection_construct (GType object_type);
VALA_EXTERN void library_photo_source_collection_notify_master_reimported (LibraryPhotoSourceCollection* self,
                                                               LibraryPhoto* photo,
                                                               PhotoMetadata* metadata);
VALA_EXTERN void library_photo_source_collection_notify_editable_reimported (LibraryPhotoSourceCollection* self,
                                                                 LibraryPhoto* photo,
                                                                 PhotoMetadata* metadata);
VALA_EXTERN void library_photo_source_collection_notify_source_reimported (LibraryPhotoSourceCollection* self,
                                                               LibraryPhoto* photo,
                                                               PhotoMetadata* metadata);
VALA_EXTERN void library_photo_source_collection_notify_baseline_reimported (LibraryPhotoSourceCollection* self,
                                                                 LibraryPhoto* photo,
                                                                 PhotoMetadata* metadata);
VALA_EXTERN LibraryPhoto* library_photo_source_collection_fetch (LibraryPhotoSourceCollection* self,
                                                     PhotoID* photo_id);
VALA_EXTERN LibraryPhoto* library_photo_source_collection_fetch_by_editable_file (LibraryPhotoSourceCollection* self,
                                                                      GFile* file);
VALA_EXTERN LibraryPhoto* library_photo_source_collection_fetch_by_raw_development_file (LibraryPhotoSourceCollection* self,
                                                                             GFile* file);
VALA_EXTERN void library_photo_source_collection_fetch_by_matching_backing (LibraryPhotoSourceCollection* self,
                                                                GFileInfo* info,
                                                                GeeCollection* matches_master,
                                                                GeeCollection* matches_editable,
                                                                GeeCollection* matched_development);
VALA_EXTERN void library_photo_source_collection_get_basename_filesize_duplicate (LibraryPhotoSourceCollection* self,
                                                                      const gchar* basename,
                                                                      gint64 filesize,
                                                                      PhotoID* result);
VALA_EXTERN gboolean library_photo_source_collection_has_basename_filesize_duplicate (LibraryPhotoSourceCollection* self,
                                                                          const gchar* basename,
                                                                          gint64 filesize);
VALA_EXTERN LibraryPhoto* library_photo_source_collection_get_trashed_by_file (LibraryPhotoSourceCollection* self,
                                                                   GFile* file);
VALA_EXTERN LibraryPhoto* library_photo_source_collection_get_trashed_by_md5 (LibraryPhotoSourceCollection* self,
                                                                  const gchar* md5);
VALA_EXTERN LibraryPhoto* library_photo_source_collection_get_offline_by_file (LibraryPhotoSourceCollection* self,
                                                                   GFile* file);
VALA_EXTERN LibraryPhoto* library_photo_source_collection_get_offline_by_md5 (LibraryPhotoSourceCollection* self,
                                                                  const gchar* md5);
VALA_EXTERN gint library_photo_source_collection_get_offline_count (LibraryPhotoSourceCollection* self);
VALA_EXTERN LibraryPhoto* library_photo_source_collection_get_state_by_file (LibraryPhotoSourceCollection* self,
                                                                 GFile* file,
                                                                 LibraryPhotoSourceCollectionState* state);
VALA_EXTERN LibraryPhotoSourceCollection* library_photo_global;
VALA_EXTERN void library_photo_init (ProgressMonitor monitor,
                         gpointer monitor_target);
VALA_EXTERN void library_photo_terminate (void);
VALA_EXTERN ImportResult library_photo_import_create (PhotoImportParams* params,
                                          LibraryPhoto** photo);
VALA_EXTERN void library_photo_import_failed (LibraryPhoto* photo);
VALA_EXTERN GeeCollection* library_photo_get_import_keywords (LibraryPhoto* self);
VALA_EXTERN void library_photo_clear_import_keywords (LibraryPhoto* self);
VALA_EXTERN LibraryPhoto* library_photo_duplicate (LibraryPhoto* self,
                                       GError** error);
VALA_EXTERN gboolean library_photo_has_nontrash_duplicate (GFile* file,
                                               const gchar* thumbnail_md5,
                                               const gchar* full_md5,
                                               PhotoFileFormat file_format);
VALA_EXTERN void library_photo_get_nontrash_duplicate (GFile* file,
                                           const gchar* thumbnail_md5,
                                           const gchar* full_md5,
                                           PhotoFileFormat file_format,
                                           PhotoID* result);
VALA_EXTERN GType library_photo_source_holding_tank_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LibraryPhotoSourceHoldingTank, source_holding_tank_unref)
VALA_EXTERN LibraryPhotoSourceHoldingTank* library_photo_source_holding_tank_new (LibraryPhotoSourceCollection* sources,
                                                                      SourceHoldingTankCheckToKeep check_to_keep,
                                                                      gpointer check_to_keep_target,
                                                                      GetSourceDatabaseKey get_key,
                                                                      gpointer get_key_target);
VALA_EXTERN LibraryPhotoSourceHoldingTank* library_photo_source_holding_tank_construct (GType object_type,
                                                                            LibraryPhotoSourceCollection* sources,
                                                                            SourceHoldingTankCheckToKeep check_to_keep,
                                                                            gpointer check_to_keep_target,
                                                                            GetSourceDatabaseKey get_key,
                                                                            gpointer get_key_target);
VALA_EXTERN LibraryPhoto* library_photo_source_holding_tank_fetch_by_backing_file (LibraryPhotoSourceHoldingTank* self,
                                                                       GFile* file);
VALA_EXTERN GType pixbuf_cache_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PixbufCache, g_object_unref)
VALA_EXTERN GType pixbuf_cache_photo_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN PixbufCache* pixbuf_cache_new (SourceCollection* sources,
                               PixbufCachePhotoType type,
                               Scaling* scaling,
                               gint max_count,
                               PixbufCacheCacheFilter filter,
                               gpointer filter_target);
VALA_EXTERN PixbufCache* pixbuf_cache_construct (GType object_type,
                                     SourceCollection* sources,
                                     PixbufCachePhotoType type,
                                     Scaling* scaling,
                                     gint max_count,
                                     PixbufCacheCacheFilter filter,
                                     gpointer filter_target);
VALA_EXTERN void pixbuf_cache_get_scaling (PixbufCache* self,
                               Scaling* result);
VALA_EXTERN GdkPixbuf* pixbuf_cache_get_ready_pixbuf (PixbufCache* self,
                                          Photo* photo);
VALA_EXTERN GdkPixbuf* pixbuf_cache_fetch (PixbufCache* self,
                               Photo* photo,
                               GError** error);
VALA_EXTERN void pixbuf_cache_drop (PixbufCache* self,
                        Photo* photo);
VALA_EXTERN GType background_job_job_priority_get_type (void) G_GNUC_CONST ;
VALA_EXTERN void pixbuf_cache_prefetch (PixbufCache* self,
                            Photo* photo,
                            BackgroundJobJobPriority priority,
                            gboolean force);
VALA_EXTERN void pixbuf_cache_prefetch_many (PixbufCache* self,
                                 GeeCollection* photos,
                                 BackgroundJobJobPriority priority,
                                 gboolean force);
VALA_EXTERN GType pixbuf_cache_pixbuf_cache_batch_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PixbufCachePixbufCacheBatch, g_object_unref)
VALA_EXTERN void pixbuf_cache_prefetch_batch (PixbufCache* self,
                                  PixbufCachePixbufCacheBatch* batch,
                                  gboolean force);
VALA_EXTERN gboolean pixbuf_cache_cancel_prefetch (PixbufCache* self,
                                       Photo* photo);
VALA_EXTERN void pixbuf_cache_cancel_all (PixbufCache* self);
VALA_EXTERN PixbufCachePixbufCacheBatch* pixbuf_cache_pixbuf_cache_batch_new (void);
VALA_EXTERN PixbufCachePixbufCacheBatch* pixbuf_cache_pixbuf_cache_batch_construct (GType object_type);
VALA_EXTERN GType content_layout_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gpointer print_settings_ref (gpointer instance);
VALA_EXTERN void print_settings_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_print_settings (const gchar* name,
                                       const gchar* nick,
                                       const gchar* blurb,
                                       GType object_type,
                                       GParamFlags flags);
VALA_EXTERN void value_set_print_settings (GValue* value,
                               gpointer v_object);
VALA_EXTERN void value_take_print_settings (GValue* value,
                                gpointer v_object);
VALA_EXTERN gpointer value_get_print_settings (const GValue* value);
VALA_EXTERN GType print_settings_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PrintSettings, print_settings_unref)
VALA_EXTERN PrintSettings* print_settings_new (void);
VALA_EXTERN PrintSettings* print_settings_construct (GType object_type);
VALA_EXTERN void print_settings_save (PrintSettings* self);
VALA_EXTERN GType measurement_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType measurement_unit_get_type (void) G_GNUC_CONST ;
VALA_EXTERN Measurement* measurement_dup (const Measurement* self);
VALA_EXTERN void measurement_free (Measurement* self);
VALA_EXTERN void print_settings_get_content_width (PrintSettings* self,
                                       Measurement* result);
VALA_EXTERN void print_settings_get_content_height (PrintSettings* self,
                                        Measurement* result);
VALA_EXTERN void print_settings_get_minimum_content_dimension (PrintSettings* self,
                                                   Measurement* result);
VALA_EXTERN void print_settings_get_maximum_content_dimension (PrintSettings* self,
                                                   Measurement* result);
VALA_EXTERN gboolean print_settings_is_match_aspect_ratio_enabled (PrintSettings* self);
VALA_EXTERN gboolean print_settings_is_print_titles_enabled (PrintSettings* self);
VALA_EXTERN gint print_settings_get_content_ppi (PrintSettings* self);
VALA_EXTERN gint print_settings_get_image_per_page_selection (PrintSettings* self);
VALA_EXTERN gint print_settings_get_size_selection (PrintSettings* self);
VALA_EXTERN ContentLayout print_settings_get_content_layout (PrintSettings* self);
VALA_EXTERN void print_settings_set_content_layout (PrintSettings* self,
                                        ContentLayout content_layout);
VALA_EXTERN void print_settings_set_content_width (PrintSettings* self,
                                       Measurement* content_width);
VALA_EXTERN void print_settings_set_content_height (PrintSettings* self,
                                        Measurement* content_height);
VALA_EXTERN void print_settings_set_content_ppi (PrintSettings* self,
                                     gint content_ppi);
VALA_EXTERN void print_settings_set_image_per_page_selection (PrintSettings* self,
                                                  gint image_per_page_selection);
VALA_EXTERN void print_settings_set_size_selection (PrintSettings* self,
                                        gint size_selection);
VALA_EXTERN void print_settings_set_match_aspect_ratio_enabled (PrintSettings* self,
                                                    gboolean enable_state);
VALA_EXTERN void print_settings_set_print_titles_enabled (PrintSettings* self,
                                              gboolean print_titles);
VALA_EXTERN void print_settings_set_print_titles_font (PrintSettings* self,
                                           const gchar* fontname);
VALA_EXTERN gchar* print_settings_get_print_titles_font (PrintSettings* self);
VALA_EXTERN void measurement_init (Measurement *self,
                       gdouble value,
                       MeasurementUnit unit);
VALA_EXTERN void measurement_convert_to (Measurement *self,
                             MeasurementUnit to_unit,
                             Measurement* result);
VALA_EXTERN gboolean measurement_is_less_than (Measurement *self,
                                   Measurement* rhs);
VALA_EXTERN gboolean measurement_is_greater_than (Measurement *self,
                                      Measurement* rhs);
VALA_EXTERN GType print_job_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PrintJob, g_object_unref)
VALA_EXTERN PrintJob* print_job_new (GeeCollection* to_print);
VALA_EXTERN PrintJob* print_job_construct (GType object_type,
                               GeeCollection* to_print);
VALA_EXTERN GeeList* print_job_get_photos (PrintJob* self);
VALA_EXTERN Photo* print_job_get_source_photo (PrintJob* self);
VALA_EXTERN gdouble print_job_get_source_aspect_ratio (PrintJob* self);
VALA_EXTERN PrintSettings* print_job_get_local_settings (PrintJob* self);
VALA_EXTERN void print_job_set_local_settings (PrintJob* self,
                                   PrintSettings* settings);
VALA_EXTERN gpointer standard_print_size_ref (gpointer instance);
VALA_EXTERN void standard_print_size_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_standard_print_size (const gchar* name,
                                            const gchar* nick,
                                            const gchar* blurb,
                                            GType object_type,
                                            GParamFlags flags);
VALA_EXTERN void value_set_standard_print_size (GValue* value,
                                    gpointer v_object);
VALA_EXTERN void value_take_standard_print_size (GValue* value,
                                     gpointer v_object);
VALA_EXTERN gpointer value_get_standard_print_size (const GValue* value);
VALA_EXTERN GType standard_print_size_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (StandardPrintSize, standard_print_size_unref)
VALA_EXTERN StandardPrintSize* standard_print_size_new (const gchar* name,
                                            Measurement* width,
                                            Measurement* height);
VALA_EXTERN StandardPrintSize* standard_print_size_construct (GType object_type,
                                                  const gchar* name,
                                                  Measurement* width,
                                                  Measurement* height);
VALA_EXTERN gpointer print_manager_ref (gpointer instance);
VALA_EXTERN void print_manager_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_print_manager (const gchar* name,
                                      const gchar* nick,
                                      const gchar* blurb,
                                      GType object_type,
                                      GParamFlags flags);
VALA_EXTERN void value_set_print_manager (GValue* value,
                              gpointer v_object);
VALA_EXTERN void value_take_print_manager (GValue* value,
                               gpointer v_object);
VALA_EXTERN gpointer value_get_print_manager (const GValue* value);
VALA_EXTERN GType print_manager_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PrintManager, print_manager_unref)
VALA_EXTERN StandardPrintSize** print_manager_get_standard_sizes (PrintManager* self,
                                                      gint* result_length1);
VALA_EXTERN PrintManager* print_manager_get_instance (void);
VALA_EXTERN void print_manager_spool_photo (PrintManager* self,
                                GeeCollection* to_print);
VALA_EXTERN PrintSettings* print_manager_get_global_settings (PrintManager* self);
VALA_EXTERN void print_manager_set_global_settings (PrintManager* self,
                                        PrintSettings* settings);
VALA_EXTERN gchar* resources_add_tags_label (gchar** names,
                                 gint names_length1);
VALA_EXTERN gchar* resources_delete_tag_menu (const gchar* name);
VALA_EXTERN gchar* resources_delete_tag_label (const gchar* name);
VALA_EXTERN gchar* resources_rename_tag_menu (const gchar* name);
VALA_EXTERN gchar* resources_rename_tag_label (const gchar* old_name,
                                   const gchar* new_name);
VALA_EXTERN gchar* resources_tag_photos_label (const gchar* name,
                                   gint count);
VALA_EXTERN gchar* resources_untag_photos_menu (const gchar* name,
                                    gint count);
VALA_EXTERN gchar* resources_untag_photos_label (const gchar* name,
                                     gint count);
VALA_EXTERN gchar* resources_rename_tag_exists_message (const gchar* name);
VALA_EXTERN gchar* resources_rename_search_exists_message (const gchar* name);
VALA_EXTERN gchar* resources_rename_search_label (const gchar* old_name,
                                      const gchar* new_name);
VALA_EXTERN gchar* resources_delete_search_label (const gchar* name);
VALA_EXTERN GdkPixbuf* resources_get_flag_trinket (void);
VALA_EXTERN gchar* resources_jump_to_file_failed (GError* err);
VALA_EXTERN gchar* resources_get_hh_mm_format_string (void);
VALA_EXTERN gchar* resources_get_hh_mm_ss_format_string (void);
VALA_EXTERN gchar* resources_get_long_date_format_string (void);
VALA_EXTERN gchar* resources_get_start_multiday_span_format_string (void);
VALA_EXTERN gchar* resources_get_end_multiday_span_format_string (void);
VALA_EXTERN gchar* resources_get_start_multimonth_span_format_string (void);
VALA_EXTERN gchar* resources_get_end_multimonth_span_format_string (void);
VALA_EXTERN GdkPixbuf* resources_get_noninterpretable_badge_pixbuf (void);
VALA_EXTERN GType search_filter_criteria_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gpointer view_filter_ref (gpointer instance);
VALA_EXTERN void view_filter_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_view_filter (const gchar* name,
                                    const gchar* nick,
                                    const gchar* blurb,
                                    GType object_type,
                                    GParamFlags flags);
VALA_EXTERN void value_set_view_filter (GValue* value,
                            gpointer v_object);
VALA_EXTERN void value_take_view_filter (GValue* value,
                             gpointer v_object);
VALA_EXTERN gpointer value_get_view_filter (const GValue* value);
VALA_EXTERN GType view_filter_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ViewFilter, view_filter_unref)
VALA_EXTERN GType search_view_filter_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SearchViewFilter, view_filter_unref)
VALA_EXTERN guint search_view_filter_get_criteria (SearchViewFilter* self);
VALA_EXTERN gboolean search_view_filter_has_search_filter (SearchViewFilter* self);
VALA_EXTERN const gchar* search_view_filter_get_search_filter (SearchViewFilter* self);
VALA_EXTERN gchar** search_view_filter_get_search_filter_words (SearchViewFilter* self,
                                                    gint* result_length1);
VALA_EXTERN void search_view_filter_set_search_filter (SearchViewFilter* self,
                                           const gchar* text);
VALA_EXTERN void search_view_filter_clear_search_filter (SearchViewFilter* self);
VALA_EXTERN gboolean search_view_filter_filter_by_media_type (SearchViewFilter* self);
VALA_EXTERN SearchViewFilter* search_view_filter_construct (GType object_type);
VALA_EXTERN gboolean search_view_filter_get_flagged (SearchViewFilter* self);
VALA_EXTERN void search_view_filter_set_flagged (SearchViewFilter* self,
                                     gboolean value);
VALA_EXTERN gboolean search_view_filter_get_show_media_video (SearchViewFilter* self);
VALA_EXTERN void search_view_filter_set_show_media_video (SearchViewFilter* self,
                                              gboolean value);
VALA_EXTERN gboolean search_view_filter_get_show_media_photos (SearchViewFilter* self);
VALA_EXTERN void search_view_filter_set_show_media_photos (SearchViewFilter* self,
                                               gboolean value);
VALA_EXTERN gboolean search_view_filter_get_show_media_raw (SearchViewFilter* self);
VALA_EXTERN void search_view_filter_set_show_media_raw (SearchViewFilter* self,
                                            gboolean value);
VALA_EXTERN GType default_search_view_filter_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DefaultSearchViewFilter, view_filter_unref)
VALA_EXTERN DefaultSearchViewFilter* default_search_view_filter_construct (GType object_type);
VALA_EXTERN GType disabled_view_filter_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DisabledViewFilter, view_filter_unref)
VALA_EXTERN DisabledViewFilter* disabled_view_filter_new (void);
VALA_EXTERN DisabledViewFilter* disabled_view_filter_construct (GType object_type);
VALA_EXTERN gpointer text_action_ref (gpointer instance);
VALA_EXTERN void text_action_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_text_action (const gchar* name,
                                    const gchar* nick,
                                    const gchar* blurb,
                                    GType object_type,
                                    GParamFlags flags);
VALA_EXTERN void value_set_text_action (GValue* value,
                            gpointer v_object);
VALA_EXTERN void value_take_text_action (GValue* value,
                             gpointer v_object);
VALA_EXTERN gpointer value_get_text_action (const GValue* value);
VALA_EXTERN GType text_action_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TextAction, text_action_unref)
VALA_EXTERN TextAction* text_action_new (const gchar* init);
VALA_EXTERN TextAction* text_action_construct (GType object_type,
                                   const gchar* init);
VALA_EXTERN void text_action_set_text (TextAction* self,
                           const gchar* text);
VALA_EXTERN void text_action_clear (TextAction* self);
VALA_EXTERN gboolean text_action_is_sensitive (TextAction* self);
VALA_EXTERN void text_action_set_sensitive (TextAction* self,
                                gboolean sensitive);
VALA_EXTERN gboolean text_action_is_visible (TextAction* self);
VALA_EXTERN void text_action_set_visible (TextAction* self,
                              gboolean visible);
VALA_EXTERN const gchar* text_action_get_value (TextAction* self);
VALA_EXTERN GType search_filter_entry_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SearchFilterEntry, g_object_unref)
VALA_EXTERN SearchFilterEntry* search_filter_entry_new (void);
VALA_EXTERN SearchFilterEntry* search_filter_entry_construct (GType object_type);
VALA_EXTERN void search_filter_entry_set_view_filter (SearchFilterEntry* self,
                                          SearchViewFilter* search_filter);
VALA_EXTERN void search_filter_entry_unset_view_filter (SearchFilterEntry* self);
VALA_EXTERN void search_filter_entry_update (SearchFilterEntry* self);
VALA_EXTERN gint64 file_comparator (void* a,
                        void* b);
VALA_EXTERN GType sorted_list_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SortedList, g_object_unref)
VALA_EXTERN SortedList* sorted_list_new (GType g_type,
                             GBoxedCopyFunc g_dup_func,
                             GDestroyNotify g_destroy_func,
                             Comparator cmp,
                             gpointer cmp_target);
VALA_EXTERN SortedList* sorted_list_construct (GType object_type,
                                   GType g_type,
                                   GBoxedCopyFunc g_dup_func,
                                   GDestroyNotify g_destroy_func,
                                   Comparator cmp,
                                   gpointer cmp_target);
VALA_EXTERN gboolean sorted_list_add_list (SortedList* self,
                               GeeList* items);
VALA_EXTERN gint sorted_list_get_count (SortedList* self);
VALA_EXTERN gpointer sorted_list_get_at (SortedList* self,
                             gint index);
VALA_EXTERN gint sorted_list_index_of (SortedList* self,
                           gconstpointer search);
VALA_EXTERN gint sorted_list_locate (SortedList* self,
                         gconstpointer search,
                         gboolean altered,
                         GEqualFunc equal_func);
VALA_EXTERN gpointer sorted_list_remove_at (SortedList* self,
                                gint index);
VALA_EXTERN void sorted_list_resort (SortedList* self,
                         Comparator new_cmp,
                         gpointer new_cmp_target);
VALA_EXTERN gboolean sorted_list_resort_item (SortedList* self,
                                  gconstpointer item);
VALA_EXTERN SortedList* sorted_list_copy (SortedList* self);
VALA_EXTERN GeeList* sorted_list_get_read_only_view_as_list (SortedList* self);
VALA_EXTERN GType tag_source_collection_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TagSourceCollection, data_collection_unref)
VALA_EXTERN TagSourceCollection* tag_source_collection_new (void);
VALA_EXTERN TagSourceCollection* tag_source_collection_construct (GType object_type);
VALA_EXTERN GType tag_id_get_type (void) G_GNUC_CONST ;
VALA_EXTERN TagID* tag_id_dup (const TagID* self);
VALA_EXTERN void tag_id_free (TagID* self);
VALA_EXTERN Tag* tag_source_collection_fetch (TagSourceCollection* self,
                                  TagID* tag_id);
VALA_EXTERN gboolean tag_source_collection_exists (TagSourceCollection* self,
                                       const gchar* name,
                                       gboolean treat_htags_as_root);
VALA_EXTERN GeeCollection* tag_source_collection_get_all_names (TagSourceCollection* self);
VALA_EXTERN GeeList* tag_source_collection_fetch_for_source (TagSourceCollection* self,
                                                 MediaSource* source);
VALA_EXTERN GeeSortedSet* tag_source_collection_fetch_sorted_for_source (TagSourceCollection* self,
                                                             MediaSource* photo);
VALA_EXTERN Tag* tag_source_collection_fetch_by_name (TagSourceCollection* self,
                                          const gchar* name,
                                          gboolean treat_htags_as_root);
VALA_EXTERN Tag* tag_source_collection_restore_tag_from_holding_tank (TagSourceCollection* self,
                                                          const gchar* name);
VALA_EXTERN TagSourceCollection* tag_global;
VALA_EXTERN void tag_init (ProgressMonitor monitor,
               gpointer monitor_target);
VALA_EXTERN void tag_terminate (void);
VALA_EXTERN gint tag_compare_names (Tag* a,
                        Tag* b);
VALA_EXTERN guint tag_hash_name_string (const gchar* a);
VALA_EXTERN gboolean tag_equal_name_strings (const gchar* a,
                                 const gchar* b);
VALA_EXTERN Tag* tag_for_path (const gchar* name);
VALA_EXTERN GeeCollection* tag_get_terminal_tags (GeeCollection* tags);
VALA_EXTERN gchar* tag_make_tag_string (GeeCollection* tags,
                            const gchar* start,
                            const gchar* separator,
                            const gchar* end,
                            gboolean escape);
VALA_EXTERN gchar* tag_prep_tag_name (const gchar* name);
VALA_EXTERN gchar** tag_prep_tag_names (gchar** names,
                            gint names_length1,
                            gint* result_length1);
VALA_EXTERN gchar* tag_get_path (Tag* self);
VALA_EXTERN gchar* tag_get_user_visible_name (Tag* self);
VALA_EXTERN gchar* tag_get_searchable_name (Tag* self);
VALA_EXTERN void tag_flatten (Tag* self);
VALA_EXTERN void tag_promote (Tag* self);
VALA_EXTERN Tag* tag_get_hierarchical_parent (Tag* self);
VALA_EXTERN gint tag_get_attachment_count (Tag* self,
                               MediaSource* source);
VALA_EXTERN GeeList* tag_get_hierarchical_children (Tag* self);
VALA_EXTERN Tag* tag_create_new_child (Tag* self);
VALA_EXTERN Tag* tag_create_new_root (void);
VALA_EXTERN gchar* tag_get_name_collation_key (Tag* self);
VALA_EXTERN void tag_get_tag_id (Tag* self,
                     TagID* result);
VALA_EXTERN gpointer tag_row_ref (gpointer instance);
VALA_EXTERN void tag_row_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_tag_row (const gchar* name,
                                const gchar* nick,
                                const gchar* blurb,
                                GType object_type,
                                GParamFlags flags);
VALA_EXTERN void value_set_tag_row (GValue* value,
                        gpointer v_object);
VALA_EXTERN void value_take_tag_row (GValue* value,
                         gpointer v_object);
VALA_EXTERN gpointer value_get_tag_row (const GValue* value);
VALA_EXTERN GType tag_row_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TagRow, tag_row_unref)
VALA_EXTERN Tag* tag_reconstitute (gint64 object_id,
                       TagRow* row);
VALA_EXTERN void tag_attach (Tag* self,
                 MediaSource* source);
VALA_EXTERN void tag_attach_many (Tag* self,
                      GeeCollection* sources);
VALA_EXTERN GeeList* tag_detach (Tag* self,
                     MediaSource* source);
VALA_EXTERN GeeMultiMap* tag_detach_many (Tag* self,
                              GeeCollection* sources);
VALA_EXTERN gboolean tag_rename (Tag* self,
                     const gchar* name);
VALA_EXTERN gboolean tag_contains (Tag* self,
                       MediaSource* source);
VALA_EXTERN gint tag_get_sources_count (Tag* self);
VALA_EXTERN GeeCollection* tag_get_sources (Tag* self);
VALA_EXTERN void tag_mirror_sources (Tag* self,
                         ViewCollection* view,
                         CreateView mirroring_ctor,
                         gpointer mirroring_ctor_target);
VALA_EXTERN Thumbnails* thumbnails_new (void);
VALA_EXTERN Thumbnails* thumbnails_construct (GType object_type);
VALA_EXTERN GType thumbnail_cache_size_get_type (void) G_GNUC_CONST ;
VALA_EXTERN void thumbnails_set (Thumbnails* self,
                     ThumbnailCacheSize size,
                     GdkPixbuf* pixbuf);
VALA_EXTERN void thumbnails_remove (Thumbnails* self,
                        ThumbnailCacheSize size);
VALA_EXTERN GdkPixbuf* thumbnails_get (Thumbnails* self,
                           ThumbnailCacheSize size);
VALA_EXTERN GType thumbnail_cache_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ThumbnailCache, g_object_unref)
VALA_EXTERN gint thumbnail_cache_size_get_scale (ThumbnailCacheSize self);
VALA_EXTERN void thumbnail_cache_size_get_scaling (ThumbnailCacheSize self,
                                       Scaling* result);
VALA_EXTERN ThumbnailCacheSize thumbnail_cache_size_get_best_size (gint scale);
VALA_EXTERN void thumbnail_cache_init (void);
VALA_EXTERN void thumbnail_cache_terminate (void);
VALA_EXTERN void thumbnail_cache_import_from_source (ThumbnailSource* source,
                                         gboolean force,
                                         GError** error);
VALA_EXTERN void thumbnail_cache_import_thumbnails (ThumbnailSource* source,
                                        Thumbnails* thumbnails,
                                        gboolean force,
                                        GError** error);
VALA_EXTERN void thumbnail_cache_duplicate (ThumbnailSource* src_source,
                                ThumbnailSource* dest_source);
VALA_EXTERN void thumbnail_cache_remove (ThumbnailSource* source);
VALA_EXTERN GdkPixbuf* thumbnail_cache_fetch (ThumbnailSource* source,
                                  gint scale,
                                  GError** error);
VALA_EXTERN void thumbnail_cache_fetch_async (ThumbnailSource* source,
                                  gint scale,
                                  ThumbnailCacheAsyncFetchCallback callback,
                                  gpointer callback_target,
                                  GCancellable* cancellable);
VALA_EXTERN void thumbnail_cache_fetch_async_scaled (ThumbnailSource* source,
                                         gint scale,
                                         Dimensions* dim,
                                         GdkInterpType interp,
                                         ThumbnailCacheAsyncFetchCallback callback,
                                         gpointer callback_target,
                                         GCancellable* cancellable);
VALA_EXTERN void thumbnail_cache_replace (ThumbnailSource* source,
                              ThumbnailCacheSize size,
                              GdkPixbuf* replacement,
                              GError** error);
VALA_EXTERN gboolean thumbnail_cache_exists (ThumbnailSource* source);
VALA_EXTERN void thumbnail_cache_rotate (ThumbnailSource* source,
                             Rotation rotation,
                             GError** error);
VALA_EXTERN void thumbnail_cache_generate_for_photo (Thumbnails* thumbnails,
                                         PhotoFileReader* reader,
                                         Orientation orientation,
                                         Dimensions* original_dim,
                                         GError** error);
VALA_EXTERN void thumbnail_cache_generate_for_video_frame (Thumbnails* thumbnails,
                                               GdkPixbuf* preview_frame);
VALA_EXTERN gint thumbnail_cache_get_scale_factor (void);
VALA_EXTERN void thumbnail_cache_set_scale_factor (gint value);
VALA_EXTERN GType thumbnail_view_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ThumbnailView, g_object_unref)
VALA_EXTERN GType checkerboard_item_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (CheckerboardItem, g_object_unref)
VALA_EXTERN GType thumbnail_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Thumbnail, g_object_unref)
VALA_EXTERN Thumbnail* thumbnail_new (MediaSource* media,
                          gint scale);
VALA_EXTERN Thumbnail* thumbnail_construct (GType object_type,
                                MediaSource* media,
                                gint scale);
VALA_EXTERN MediaSource* thumbnail_get_media_source (Thumbnail* self);
VALA_EXTERN gint64 thumbnail_photo_id_ascending_comparator (void* a,
                                                void* b);
VALA_EXTERN gint64 thumbnail_photo_id_descending_comparator (void* a,
                                                 void* b);
VALA_EXTERN gint64 thumbnail_title_ascending_comparator (void* a,
                                             void* b);
VALA_EXTERN gint64 thumbnail_title_descending_comparator (void* a,
                                              void* b);
VALA_EXTERN gboolean thumbnail_title_comparator_predicate (DataObject* object,
                                               Alteration* alteration);
VALA_EXTERN gint64 thumbnail_exposure_time_ascending_comparator (void* a,
                                                     void* b);
VALA_EXTERN gint64 thumbnail_exposure_time_descending_comparator (void* a,
                                                      void* b);
VALA_EXTERN gboolean thumbnail_exposure_time_comparator_predicate (DataObject* object,
                                                       Alteration* alteration);
VALA_EXTERN gint64 thumbnail_timestamp_ascending_comparator (void* a,
                                                 void* b);
VALA_EXTERN gint64 thumbnail_timestamp_descending_comparator (void* a,
                                                  void* b);
VALA_EXTERN gboolean thumbnail_timestamp_comparator_predicate (DataObject* object,
                                                   Alteration* alteration);
VALA_EXTERN gint64 thumbnail_filename_ascending_comparator (void* a,
                                                void* b);
VALA_EXTERN gint64 thumbnail_filename_descending_comparator (void* a,
                                                 void* b);
VALA_EXTERN gint thumbnail_get_MIN_SCALE (void);
VALA_EXTERN gint thumbnail_get_MAX_SCALE (void);
VALA_EXTERN gint thumbnail_get_DEFAULT_SCALE (void);
VALA_EXTERN gpointer timed_queue_ref (gpointer instance);
VALA_EXTERN void timed_queue_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_timed_queue (const gchar* name,
                                    const gchar* nick,
                                    const gchar* blurb,
                                    GType object_type,
                                    GParamFlags flags);
VALA_EXTERN void value_set_timed_queue (GValue* value,
                            gpointer v_object);
VALA_EXTERN void value_take_timed_queue (GValue* value,
                             gpointer v_object);
VALA_EXTERN gpointer value_get_timed_queue (const GValue* value);
VALA_EXTERN GType timed_queue_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TimedQueue, timed_queue_unref)
VALA_EXTERN TimedQueue* timed_queue_new (GType g_type,
                             GBoxedCopyFunc g_dup_func,
                             GDestroyNotify g_destroy_func,
                             guint hold_msec,
                             DequeuedCallback callback,
                             gpointer callback_target,
                             GeeEqualDataFunc equal_func,
                             gpointer equal_func_target,
                             GDestroyNotify equal_func_target_destroy_notify,
                             gint priority);
VALA_EXTERN TimedQueue* timed_queue_construct (GType object_type,
                                   GType g_type,
                                   GBoxedCopyFunc g_dup_func,
                                   GDestroyNotify g_destroy_func,
                                   guint hold_msec,
                                   DequeuedCallback callback,
                                   gpointer callback_target,
                                   GeeEqualDataFunc equal_func,
                                   gpointer equal_func_target,
                                   GDestroyNotify equal_func_target_destroy_notify,
                                   gint priority);
VALA_EXTERN guint timed_queue_get_dequeue_spacing_msec (TimedQueue* self);
VALA_EXTERN void timed_queue_set_dequeue_spacing_msec (TimedQueue* self,
                                           guint msec);
VALA_EXTERN void timed_queue_notify_dequeued (TimedQueue* self,
                                  gconstpointer item);
VALA_EXTERN gboolean timed_queue_is_paused (TimedQueue* self);
VALA_EXTERN void timed_queue_pause (TimedQueue* self);
VALA_EXTERN void timed_queue_unpause (TimedQueue* self);
VALA_EXTERN void timed_queue_clear (TimedQueue* self);
VALA_EXTERN gboolean timed_queue_contains (TimedQueue* self,
                               gconstpointer item);
VALA_EXTERN gboolean timed_queue_enqueue (TimedQueue* self,
                              gconstpointer item);
VALA_EXTERN gboolean timed_queue_enqueue_many (TimedQueue* self,
                                   GeeCollection* items);
VALA_EXTERN gboolean timed_queue_remove_first (TimedQueue* self,
                                   gconstpointer item);
VALA_EXTERN gint timed_queue_get_size (TimedQueue* self);
VALA_EXTERN GType hash_timed_queue_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (HashTimedQueue, timed_queue_unref)
VALA_EXTERN HashTimedQueue* hash_timed_queue_new (GType g_type,
                                      GBoxedCopyFunc g_dup_func,
                                      GDestroyNotify g_destroy_func,
                                      guint hold_msec,
                                      DequeuedCallback callback,
                                      gpointer callback_target,
                                      GeeHashDataFunc hash_func,
                                      gpointer hash_func_target,
                                      GDestroyNotify hash_func_target_destroy_notify,
                                      GeeEqualDataFunc equal_func,
                                      gpointer equal_func_target,
                                      GDestroyNotify equal_func_target_destroy_notify,
                                      gint priority);
VALA_EXTERN HashTimedQueue* hash_timed_queue_construct (GType object_type,
                                            GType g_type,
                                            GBoxedCopyFunc g_dup_func,
                                            GDestroyNotify g_destroy_func,
                                            guint hold_msec,
                                            DequeuedCallback callback,
                                            gpointer callback_target,
                                            GeeHashDataFunc hash_func,
                                            gpointer hash_func_target,
                                            GDestroyNotify hash_func_target_destroy_notify,
                                            GeeEqualDataFunc equal_func,
                                            gpointer equal_func_target,
                                            GDestroyNotify equal_func_target_destroy_notify,
                                            gint priority);
VALA_EXTERN GType tombstone_source_collection_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TombstoneSourceCollection, data_collection_unref)
VALA_EXTERN TombstoneSourceCollection* tombstone_source_collection_new (void);
VALA_EXTERN TombstoneSourceCollection* tombstone_source_collection_construct (GType object_type);
VALA_EXTERN GType tombstone_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Tombstone, g_object_unref)
VALA_EXTERN Tombstone* tombstone_source_collection_locate (TombstoneSourceCollection* self,
                                               GFile* file);
VALA_EXTERN gboolean tombstone_source_collection_matches (TombstoneSourceCollection* self,
                                              GFile* file);
VALA_EXTERN void tombstone_source_collection_resurrect (TombstoneSourceCollection* self,
                                            Tombstone* tombstone);
VALA_EXTERN void tombstone_source_collection_resurrect_many (TombstoneSourceCollection* self,
                                                 GeeCollection* tombstones);
VALA_EXTERN void tombstone_source_collection_launch_scan (TombstoneSourceCollection* self,
                                              DirectoryMonitor* monitor,
                                              GCancellable* cancellable);
VALA_EXTERN gpointer tombstoned_file_ref (gpointer instance);
VALA_EXTERN void tombstoned_file_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_tombstoned_file (const gchar* name,
                                        const gchar* nick,
                                        const gchar* blurb,
                                        GType object_type,
                                        GParamFlags flags);
VALA_EXTERN void value_set_tombstoned_file (GValue* value,
                                gpointer v_object);
VALA_EXTERN void value_take_tombstoned_file (GValue* value,
                                 gpointer v_object);
VALA_EXTERN gpointer value_get_tombstoned_file (const GValue* value);
VALA_EXTERN GType tombstoned_file_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TombstonedFile, tombstoned_file_unref)
VALA_EXTERN TombstonedFile* tombstoned_file_new (GFile* file,
                                     gint64 filesize,
                                     const gchar* md5);
VALA_EXTERN TombstonedFile* tombstoned_file_construct (GType object_type,
                                           GFile* file,
                                           gint64 filesize,
                                           const gchar* md5);
VALA_EXTERN GType tombstone_reason_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gint tombstone_reason_serialize (TombstoneReason self);
VALA_EXTERN TombstoneReason tombstone_reason_unserialize (gint value);
VALA_EXTERN TombstoneSourceCollection* tombstone_global;
VALA_EXTERN void tombstone_init (void);
VALA_EXTERN void tombstone_terminate (void);
VALA_EXTERN void tombstone_entomb_many_sources (GeeCollection* sources,
                                    TombstoneReason reason,
                                    GError** error);
VALA_EXTERN void tombstone_entomb_many_files (GeeCollection* files,
                                  TombstoneReason reason,
                                  GError** error);
VALA_EXTERN GType tombstone_id_get_type (void) G_GNUC_CONST ;
VALA_EXTERN TombstoneID* tombstone_id_dup (const TombstoneID* self);
VALA_EXTERN void tombstone_id_free (TombstoneID* self);
VALA_EXTERN void tombstone_get_tombstone_id (Tombstone* self,
                                 TombstoneID* result);
VALA_EXTERN GFile* tombstone_get_file (Tombstone* self);
VALA_EXTERN gchar* tombstone_get_md5 (Tombstone* self);
VALA_EXTERN TombstoneReason tombstone_get_reason (Tombstone* self);
VALA_EXTERN void tombstone_move (Tombstone* self,
                     GFile* file);
VALA_EXTERN gboolean tombstone_matches (Tombstone* self,
                            GFile* file,
                            gint64 filesize,
                            const gchar* md5);
VALA_EXTERN gpointer upgrades_ref (gpointer instance);
VALA_EXTERN void upgrades_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_upgrades (const gchar* name,
                                 const gchar* nick,
                                 const gchar* blurb,
                                 GType object_type,
                                 GParamFlags flags);
VALA_EXTERN void value_set_upgrades (GValue* value,
                         gpointer v_object);
VALA_EXTERN void value_take_upgrades (GValue* value,
                          gpointer v_object);
VALA_EXTERN gpointer value_get_upgrades (const GValue* value);
VALA_EXTERN GType upgrades_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Upgrades, upgrades_unref)
VALA_EXTERN void upgrades_init (void);
VALA_EXTERN Upgrades* upgrades_get_instance (void);
VALA_EXTERN guint64 upgrades_get_step_count (Upgrades* self);
VALA_EXTERN void upgrades_execute (Upgrades* self,
                       ProgressMonitor monitor,
                       gpointer monitor_target);
VALA_EXTERN GType video_metadata_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (VideoMetadata, media_metadata_unref)
VALA_EXTERN VideoMetadata* video_metadata_new (void);
VALA_EXTERN VideoMetadata* video_metadata_construct (GType object_type);
VALA_EXTERN GQuark video_error_quark (void);
VALA_EXTERN GType video_error_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gpointer video_import_params_ref (gpointer instance);
VALA_EXTERN void video_import_params_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_video_import_params (const gchar* name,
                                            const gchar* nick,
                                            const gchar* blurb,
                                            GType object_type,
                                            GParamFlags flags);
VALA_EXTERN void value_set_video_import_params (GValue* value,
                                    gpointer v_object);
VALA_EXTERN void value_take_video_import_params (GValue* value,
                                     gpointer v_object);
VALA_EXTERN gpointer value_get_video_import_params (const GValue* value);
VALA_EXTERN GType video_import_params_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (VideoImportParams, video_import_params_unref)
VALA_EXTERN gpointer video_row_ref (gpointer instance);
VALA_EXTERN void video_row_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_video_row (const gchar* name,
                                  const gchar* nick,
                                  const gchar* blurb,
                                  GType object_type,
                                  GParamFlags flags);
VALA_EXTERN void value_set_video_row (GValue* value,
                          gpointer v_object);
VALA_EXTERN void value_take_video_row (GValue* value,
                           gpointer v_object);
VALA_EXTERN gpointer value_get_video_row (const GValue* value);
VALA_EXTERN GType video_row_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (VideoRow, video_row_unref)
VALA_EXTERN VideoImportParams* video_import_params_new (GFile* file,
                                            ImportID* import_id,
                                            const gchar* md5,
                                            Thumbnails* thumbnails,
                                            gint64 exposure_time_override);
VALA_EXTERN VideoImportParams* video_import_params_construct (GType object_type,
                                                  GFile* file,
                                                  ImportID* import_id,
                                                  const gchar* md5,
                                                  Thumbnails* thumbnails,
                                                  gint64 exposure_time_override);
VALA_EXTERN gpointer video_reader_ref (gpointer instance);
VALA_EXTERN void video_reader_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_video_reader (const gchar* name,
                                     const gchar* nick,
                                     const gchar* blurb,
                                     GType object_type,
                                     GParamFlags flags);
VALA_EXTERN void value_set_video_reader (GValue* value,
                             gpointer v_object);
VALA_EXTERN void value_take_video_reader (GValue* value,
                              gpointer v_object);
VALA_EXTERN gpointer value_get_video_reader (const GValue* value);
VALA_EXTERN GType video_reader_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (VideoReader, video_reader_unref)
VALA_EXTERN VideoReader* video_reader_new (GFile* file);
VALA_EXTERN VideoReader* video_reader_construct (GType object_type,
                                     GFile* file);
VALA_EXTERN gboolean video_reader_is_supported_video_file (GFile* file);
VALA_EXTERN gboolean video_reader_is_supported_video_filename (const gchar* filename);
VALA_EXTERN ImportResult video_reader_prepare_for_import (VideoImportParams* params);
VALA_EXTERN GdkPixbuf* video_reader_read_preview_frame (VideoReader* self);
VALA_EXTERN gdouble video_reader_read_clip_duration (VideoReader* self,
                                         GError** error);
VALA_EXTERN VideoMetadata* video_reader_read_metadata (VideoReader* self,
                                           GError** error);
VALA_EXTERN gint64 video_reader_get_timestamp (VideoReader* self);
VALA_EXTERN GType video_source_collection_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (VideoSourceCollection, data_collection_unref)
VALA_EXTERN VideoSourceCollection* video_global;
VALA_EXTERN Video* video_new (VideoRow* row);
VALA_EXTERN Video* video_construct (GType object_type,
                        VideoRow* row);
VALA_EXTERN void video_init (ProgressMonitor monitor,
                 gpointer monitor_target);
VALA_EXTERN gboolean video_has_interpreter_state_changed (void);
VALA_EXTERN void video_notify_normal_thumbs_regenerated (void);
VALA_EXTERN void video_notify_offline_thumbs_regenerated (void);
VALA_EXTERN void video_terminate (void);
VALA_EXTERN ExporterUI* video_export_many (GeeCollection* videos,
                               ExporterCompletionCallback done,
                               gpointer done_target,
                               gboolean export_in_place);
VALA_EXTERN gboolean video_is_duplicate (GFile* file,
                             const gchar* full_md5);
VALA_EXTERN ImportResult video_import_create (VideoImportParams* params,
                                  Video** video);
VALA_EXTERN void video_import_failed (Video* video);
VALA_EXTERN void video_get_video_id (Video* self,
                         VideoID* result);
VALA_EXTERN void video_get_frame_dimensions (Video* self,
                                 Dimensions* result);
VALA_EXTERN gchar* video_get_filename (Video* self);
VALA_EXTERN void video_export (Video* self,
                   GFile* dest_file,
                   GError** error);
VALA_EXTERN gdouble video_get_clip_duration (Video* self);
VALA_EXTERN gboolean video_get_is_interpretable (Video* self);
VALA_EXTERN gpointer video_interpretable_results_ref (gpointer instance);
VALA_EXTERN void video_interpretable_results_unref (gpointer instance);
VALA_EXTERN GParamSpec* video_param_spec_interpretable_results (const gchar* name,
                                                    const gchar* nick,
                                                    const gchar* blurb,
                                                    GType object_type,
                                                    GParamFlags flags);
VALA_EXTERN void video_value_set_interpretable_results (GValue* value,
                                            gpointer v_object);
VALA_EXTERN void video_value_take_interpretable_results (GValue* value,
                                             gpointer v_object);
VALA_EXTERN gpointer video_value_get_interpretable_results (const GValue* value);
VALA_EXTERN GType video_interpretable_results_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (VideoInterpretableResults, video_interpretable_results_unref)
VALA_EXTERN VideoInterpretableResults* video_check_is_interpretable (Video* self);
VALA_EXTERN guint64 video_add_flags (Video* self,
                         guint64 flags_to_add,
                         Alteration* additional_alteration);
VALA_EXTERN guint64 video_remove_flags (Video* self,
                            guint64 flags_to_remove,
                            Alteration* additional_alteration);
VALA_EXTERN gboolean video_is_flag_set (Video* self,
                            guint64 flag);
VALA_EXTERN VideoMetadata* video_read_metadata (Video* self,
                                    GError** error);
VALA_EXTERN VideoInterpretableResults* video_interpretable_results_new (Video* video);
VALA_EXTERN VideoInterpretableResults* video_interpretable_results_construct (GType object_type,
                                                                  Video* video);
VALA_EXTERN void video_interpretable_results_foreground_finish (VideoInterpretableResults* self);
VALA_EXTERN GType video_source_collection_state_get_type (void) G_GNUC_CONST ;
VALA_EXTERN VideoSourceCollection* video_source_collection_new (void);
VALA_EXTERN VideoSourceCollection* video_source_collection_construct (GType object_type);
VALA_EXTERN gint64 video_source_collection_get_video_key (DataSource* source);
VALA_EXTERN gboolean video_source_collection_is_video_trashed (DataSource* source);
VALA_EXTERN gboolean video_source_collection_is_video_offline (DataSource* source);
VALA_EXTERN Video* video_source_collection_fetch (VideoSourceCollection* self,
                                      VideoID* video_id);
VALA_EXTERN Video* video_source_collection_get_state_by_file (VideoSourceCollection* self,
                                                  GFile* file,
                                                  VideoSourceCollectionState* state);
VALA_EXTERN void video_source_collection_fetch_by_matching_backing (VideoSourceCollection* self,
                                                        GFileInfo* info,
                                                        GeeCollection* matching_master);
VALA_EXTERN void video_source_collection_get_basename_filesize_duplicate (VideoSourceCollection* self,
                                                              const gchar* basename,
                                                              guint64 filesize,
                                                              VideoID* result);
VALA_EXTERN gboolean video_source_collection_has_basename_filesize_duplicate (VideoSourceCollection* self,
                                                                  const gchar* basename,
                                                                  guint64 filesize);
VALA_EXTERN GType zoom_buffer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ZoomBuffer, g_object_unref)
VALA_EXTERN GType single_photo_page_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SinglePhotoPage, g_object_unref)
VALA_EXTERN ZoomBuffer* zoom_buffer_new (SinglePhotoPage* parent_page,
                             Photo* backing_photo,
                             GdkPixbuf* preview_image);
VALA_EXTERN ZoomBuffer* zoom_buffer_construct (GType object_type,
                                   SinglePhotoPage* parent_page,
                                   Photo* backing_photo,
                                   GdkPixbuf* preview_image);
VALA_EXTERN GdkPixbuf* zoom_buffer_get_zoom_preview_image_internal (ZoomBuffer* self,
                                                        ZoomState* zoom_state);
VALA_EXTERN Photo* zoom_buffer_get_backing_photo (ZoomBuffer* self);
VALA_EXTERN void zoom_buffer_update_preview_image (ZoomBuffer* self,
                                       GdkPixbuf* preview_image);
VALA_EXTERN void zoom_buffer_flush_demand_cache (ZoomBuffer* self,
                                     ZoomState* initial_zoom_state);
VALA_EXTERN GdkPixbuf* zoom_buffer_get_zoomed_image (ZoomBuffer* self,
                                         ZoomState* zoom_state);
VALA_EXTERN GdkPixbuf* zoom_buffer_get_zoom_preview_image (ZoomBuffer* self,
                                               ZoomState* zoom_state);
VALA_EXTERN GType sidebar_branch_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SidebarBranch, g_object_unref)
VALA_EXTERN GType camera_branch_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (CameraBranch, g_object_unref)
VALA_EXTERN CameraBranch* camera_branch_new (void);
VALA_EXTERN CameraBranch* camera_branch_construct (GType object_type);
VALA_EXTERN gpointer discovered_camera_ref (gpointer instance);
VALA_EXTERN void discovered_camera_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_discovered_camera (const gchar* name,
                                          const gchar* nick,
                                          const gchar* blurb,
                                          GType object_type,
                                          GParamFlags flags);
VALA_EXTERN void value_set_discovered_camera (GValue* value,
                                  gpointer v_object);
VALA_EXTERN void value_take_discovered_camera (GValue* value,
                                   gpointer v_object);
VALA_EXTERN gpointer value_get_discovered_camera (const GValue* value);
VALA_EXTERN GType discovered_camera_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DiscoveredCamera, discovered_camera_unref)
VALA_EXTERN GType sidebar_simple_page_entry_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SidebarSimplePageEntry, g_object_unref)
VALA_EXTERN GType camera_sidebar_entry_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (CameraSidebarEntry, g_object_unref)
VALA_EXTERN CameraSidebarEntry* camera_branch_get_entry_for_camera (CameraBranch* self,
                                                        DiscoveredCamera* camera);
VALA_EXTERN GType sidebar_tree_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SidebarTree, g_object_unref)
VALA_EXTERN GType sidebar_entry_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SidebarEntry, g_object_unref)
VALA_EXTERN GType sidebar_expandable_entry_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType sidebar_grouping_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SidebarGrouping, g_object_unref)
VALA_EXTERN GType camera_grouping_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (CameraGrouping, g_object_unref)
VALA_EXTERN CameraGrouping* camera_grouping_new (void);
VALA_EXTERN CameraGrouping* camera_grouping_construct (GType object_type);
VALA_EXTERN GType sidebar_selectable_entry_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType sidebar_page_representative_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType sidebar_contextable_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SidebarContextable, g_object_unref)
VALA_EXTERN CameraSidebarEntry* camera_sidebar_entry_new (DiscoveredCamera* camera);
VALA_EXTERN CameraSidebarEntry* camera_sidebar_entry_construct (GType object_type,
                                                    DiscoveredCamera* camera);
VALA_EXTERN gchar* camera_sidebar_entry_get_uri (CameraSidebarEntry* self);
VALA_EXTERN DiscoveredCamera* discovered_camera_new (Camera* gcamera,
                                         const gchar* uri,
                                         const gchar* display_name,
                                         GIcon* icon);
VALA_EXTERN DiscoveredCamera* discovered_camera_construct (GType object_type,
                                               Camera* gcamera,
                                               const gchar* uri,
                                               const gchar* display_name,
                                               GIcon* icon);
VALA_EXTERN gpointer camera_table_ref (gpointer instance);
VALA_EXTERN void camera_table_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_camera_table (const gchar* name,
                                     const gchar* nick,
                                     const gchar* blurb,
                                     GType object_type,
                                     GParamFlags flags);
VALA_EXTERN void value_set_camera_table (GValue* value,
                             gpointer v_object);
VALA_EXTERN void value_take_camera_table (GValue* value,
                              gpointer v_object);
VALA_EXTERN gpointer value_get_camera_table (const GValue* value);
VALA_EXTERN GType camera_table_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (CameraTable, camera_table_unref)
VALA_EXTERN CameraTable* camera_table_get_instance (void);
VALA_EXTERN GeeIterable* camera_table_get_cameras (CameraTable* self);
VALA_EXTERN gint camera_table_get_count (CameraTable* self);
VALA_EXTERN DiscoveredCamera* camera_table_get_for_uri (CameraTable* self,
                                            const gchar* uri);
VALA_EXTERN gchar* camera_table_get_port_uri (const gchar* port);
VALA_EXTERN gchar* camera_table_get_port_path (const gchar* port);
VALA_EXTERN void camera_table_on_volume_changed (CameraTable* self,
                                     GVolume* volume);
VALA_EXTERN GQuark gphoto_error_quark (void);
VALA_EXTERN GType gphoto_error_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gpointer gp_context_wrapper_ref (gpointer instance);
VALA_EXTERN void gp_context_wrapper_unref (gpointer instance);
VALA_EXTERN GParamSpec* gp_param_spec_context_wrapper (const gchar* name,
                                           const gchar* nick,
                                           const gchar* blurb,
                                           GType object_type,
                                           GParamFlags flags);
VALA_EXTERN void gp_value_set_context_wrapper (GValue* value,
                                   gpointer v_object);
VALA_EXTERN void gp_value_take_context_wrapper (GValue* value,
                                    gpointer v_object);
VALA_EXTERN gpointer gp_value_get_context_wrapper (const GValue* value);
VALA_EXTERN GType gp_context_wrapper_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GPContextWrapper, gp_context_wrapper_unref)
VALA_EXTERN GPContextWrapper* gp_context_wrapper_new (void);
VALA_EXTERN GPContextWrapper* gp_context_wrapper_construct (GType object_type);
VALA_EXTERN void gp_context_wrapper_idle (GPContextWrapper* self);
VALA_EXTERN void gp_context_wrapper_error (GPContextWrapper* self,
                               const gchar* text,
                               void* data);
VALA_EXTERN void gp_context_wrapper_status (GPContextWrapper* self,
                                const gchar* text,
                                void* data);
VALA_EXTERN void gp_context_wrapper_message (GPContextWrapper* self,
                                 const gchar* text,
                                 void* data);
VALA_EXTERN void gp_context_wrapper_progress_start (GPContextWrapper* self,
                                        gfloat current,
                                        const gchar* text,
                                        void* data);
VALA_EXTERN void gp_context_wrapper_progress_update (GPContextWrapper* self,
                                         gfloat current,
                                         void* data);
VALA_EXTERN void gp_context_wrapper_progress_stop (GPContextWrapper* self);
VALA_EXTERN GType gp_spin_idle_wrapper_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GPSpinIdleWrapper, gp_context_wrapper_unref)
VALA_EXTERN GPSpinIdleWrapper* gp_spin_idle_wrapper_new (void);
VALA_EXTERN GPSpinIdleWrapper* gp_spin_idle_wrapper_construct (GType object_type);
VALA_EXTERN gboolean gp_get_info (GPContext* context,
                      Camera* camera,
                      const gchar* folder,
                      const gchar* filename,
                      CameraFileInfo* info,
                      GError** error);
VALA_EXTERN GBytes* gp_camera_file_to_bytes (GPContext* context,
                                 CameraFile* file);
VALA_EXTERN PhotoMetadata* gp_get_fallback_metadata (Camera* camera,
                                         GPContext* context,
                                         const gchar* folder,
                                         const gchar* filename);
VALA_EXTERN GdkPixbuf* gp_load_preview (GPContext* context,
                            Camera* camera,
                            const gchar* folder,
                            const gchar* filename,
                            gchar** preview_md5,
                            GError** error);
VALA_EXTERN GdkPixbuf* gp_load_image (GPContext* context,
                          Camera* camera,
                          const gchar* folder,
                          const gchar* filename,
                          GError** error);
VALA_EXTERN void gp_save_image (GPContext* context,
                    Camera* camera,
                    const gchar* folder,
                    const gchar* filename,
                    GFile* dest_file,
                    GError** error);
VALA_EXTERN PhotoMetadata* gp_load_metadata (GPContext* context,
                                 Camera* camera,
                                 const gchar* folder,
                                 const gchar* filename,
                                 GError** error);
VALA_EXTERN GInputStream* gp_load_file_into_stream (GPContext* context,
                                        Camera* camera,
                                        const gchar* folder,
                                        const gchar* filename,
                                        CameraFileType filetype,
                                        GError** error);
VALA_EXTERN GBytes* gp_load_file_into_buffer (GPContext* context,
                                  Camera* camera,
                                  const gchar* folder,
                                  const gchar* filename,
                                  CameraFileType filetype,
                                  GError** error);
VALA_EXTERN CheckerboardItem* checkerboard_item_construct (GType object_type,
                                               ThumbnailSource* source,
                                               Dimensions* initial_pixbuf_dim,
                                               const gchar* title,
                                               const gchar* comment,
                                               gboolean marked_up,
                                               PangoAlignment alignment);
VALA_EXTERN gchar* checkerboard_item_get_title (CheckerboardItem* self);
VALA_EXTERN gchar* checkerboard_item_get_comment (CheckerboardItem* self);
VALA_EXTERN void checkerboard_item_set_title (CheckerboardItem* self,
                                  const gchar* text,
                                  gboolean marked_up,
                                  PangoAlignment alignment);
VALA_EXTERN void checkerboard_item_clear_title (CheckerboardItem* self);
VALA_EXTERN void checkerboard_item_set_comment (CheckerboardItem* self,
                                    const gchar* text,
                                    gboolean marked_up,
                                    PangoAlignment alignment);
VALA_EXTERN void checkerboard_item_clear_comment (CheckerboardItem* self);
VALA_EXTERN gchar* checkerboard_item_get_subtitle (CheckerboardItem* self);
VALA_EXTERN void checkerboard_item_set_subtitle (CheckerboardItem* self,
                                     const gchar* text,
                                     gboolean marked_up,
                                     PangoAlignment alignment);
VALA_EXTERN void checkerboard_item_clear_subtitle (CheckerboardItem* self);
VALA_EXTERN gint checkerboard_item_get_alignment_point (CheckerboardItem* self);
VALA_EXTERN void checkerboard_item_exposed (CheckerboardItem* self);
VALA_EXTERN void checkerboard_item_unexposed (CheckerboardItem* self);
VALA_EXTERN gboolean checkerboard_item_is_exposed (CheckerboardItem* self);
VALA_EXTERN gboolean checkerboard_item_has_image (CheckerboardItem* self);
VALA_EXTERN GdkPixbuf* checkerboard_item_get_image (CheckerboardItem* self);
VALA_EXTERN void checkerboard_item_set_image (CheckerboardItem* self,
                                  GdkPixbuf* pixbuf);
VALA_EXTERN void checkerboard_item_clear_image (CheckerboardItem* self,
                                    Dimensions* dim);
VALA_EXTERN gint checkerboard_item_get_max_width (gint scale);
VALA_EXTERN void checkerboard_item_get_border_dimensions (Dimensions* object_dim,
                                              gint border_width,
                                              Dimensions* result);
VALA_EXTERN void checkerboard_item_get_border_origin (GdkPoint* object_origin,
                                          gint border_width,
                                          GdkPoint* result);
VALA_EXTERN void checkerboard_item_get_selection_button_area (CheckerboardItem* self,
                                                  GdkRectangle* result);
VALA_EXTERN void checkerboard_item_paint (CheckerboardItem* self,
                              cairo_t* ctx,
                              GtkStyleContext* style_context);
VALA_EXTERN void checkerboard_item_set_grid_coordinates (CheckerboardItem* self,
                                             gint col,
                                             gint row);
VALA_EXTERN gint checkerboard_item_get_column (CheckerboardItem* self);
VALA_EXTERN gint checkerboard_item_get_row (CheckerboardItem* self);
VALA_EXTERN void checkerboard_item_brighten (CheckerboardItem* self);
VALA_EXTERN void checkerboard_item_unbrighten (CheckerboardItem* self);
VALA_EXTERN gboolean checkerboard_item_query_tooltip (CheckerboardItem* self,
                                          gint x,
                                          gint y,
                                          GtkTooltip* tooltip);
VALA_EXTERN GType checkerboard_layout_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (CheckerboardLayout, g_object_unref)
VALA_EXTERN CheckerboardLayout* checkerboard_layout_new (ViewCollection* view);
VALA_EXTERN CheckerboardLayout* checkerboard_layout_construct (GType object_type,
                                                   ViewCollection* view);
VALA_EXTERN void checkerboard_layout_set_adjustments (CheckerboardLayout* self,
                                          GtkAdjustment* hadjustment,
                                          GtkAdjustment* vadjustment);
VALA_EXTERN void checkerboard_layout_set_scale (CheckerboardLayout* self,
                                    gint scale);
VALA_EXTERN gint checkerboard_layout_get_scale (CheckerboardLayout* self);
VALA_EXTERN void checkerboard_layout_set_name (CheckerboardLayout* self,
                                   const gchar* name);
VALA_EXTERN void checkerboard_layout_set_message (CheckerboardLayout* self,
                                      const gchar* text);
VALA_EXTERN void checkerboard_layout_unset_message (CheckerboardLayout* self);
VALA_EXTERN void checkerboard_layout_set_in_view (CheckerboardLayout* self,
                                      gboolean in_view);
VALA_EXTERN CheckerboardItem* checkerboard_layout_get_item_at_pixel (CheckerboardLayout* self,
                                                         gdouble xd,
                                                         gdouble yd);
VALA_EXTERN GeeList* checkerboard_layout_get_visible_items (CheckerboardLayout* self);
VALA_EXTERN GeeList* checkerboard_layout_intersection (CheckerboardLayout* self,
                                           GdkRectangle* area);
VALA_EXTERN CheckerboardItem* checkerboard_layout_get_item_relative_to (CheckerboardLayout* self,
                                                            CheckerboardItem* item,
                                                            GtkDirectionType direction);
VALA_EXTERN CheckerboardItem* checkerboard_layout_get_item_at_coordinate (CheckerboardLayout* self,
                                                              gint col,
                                                              gint row);
VALA_EXTERN void checkerboard_layout_set_drag_select_origin (CheckerboardLayout* self,
                                                 gint x,
                                                 gint y);
VALA_EXTERN void checkerboard_layout_set_drag_select_endpoint (CheckerboardLayout* self,
                                                   gint x,
                                                   gint y);
VALA_EXTERN GeeList* checkerboard_layout_items_in_selection_band (CheckerboardLayout* self);
VALA_EXTERN gboolean checkerboard_layout_is_drag_select_active (CheckerboardLayout* self);
VALA_EXTERN void checkerboard_layout_clear_drag_select (CheckerboardLayout* self);
VALA_EXTERN GType adjust_date_time_dialog_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AdjustDateTimeDialog, g_object_unref)
VALA_EXTERN AdjustDateTimeDialog* adjust_date_time_dialog_new (Dateable* source,
                                                   gint photo_count,
                                                   gboolean display_options,
                                                   gboolean contains_video,
                                                   gboolean only_video);
VALA_EXTERN AdjustDateTimeDialog* adjust_date_time_dialog_construct (GType object_type,
                                                         Dateable* source,
                                                         gint photo_count,
                                                         gboolean display_options,
                                                         gboolean contains_video,
                                                         gboolean only_video);
VALA_EXTERN gboolean adjust_date_time_dialog_execute (AdjustDateTimeDialog* self,
                                          gint64* time_shift,
                                          gboolean* keep_relativity,
                                          gboolean* modify_originals);
VALA_EXTERN gboolean dialogs_confirm_delete_tag (Tag* tag);
VALA_EXTERN gboolean dialogs_confirm_delete_saved_search (SavedSearch* search);
VALA_EXTERN gboolean dialogs_confirm_warn_developer_changed (gint number);
VALA_EXTERN GFile* export_ui_choose_file (const gchar* current_file_basename);
VALA_EXTERN GFile* export_ui_choose_dir (const gchar* user_title);
VALA_EXTERN GtkResponseType export_error_dialog (GFile* dest,
                                     gboolean photos_remaining);
VALA_EXTERN gpointer import_ui_question_params_ref (gpointer instance);
VALA_EXTERN void import_ui_question_params_unref (gpointer instance);
VALA_EXTERN GParamSpec* import_ui_param_spec_question_params (const gchar* name,
                                                  const gchar* nick,
                                                  const gchar* blurb,
                                                  GType object_type,
                                                  GParamFlags flags);
VALA_EXTERN void import_ui_value_set_question_params (GValue* value,
                                          gpointer v_object);
VALA_EXTERN void import_ui_value_take_question_params (GValue* value,
                                           gpointer v_object);
VALA_EXTERN gpointer import_ui_value_get_question_params (const GValue* value);
VALA_EXTERN GType import_ui_question_params_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ImportUIQuestionParams, import_ui_question_params_unref)
VALA_EXTERN ImportUIQuestionParams* import_ui_question_params_new (const gchar* question,
                                                       const gchar* yes_button,
                                                       const gchar* no_button);
VALA_EXTERN ImportUIQuestionParams* import_ui_question_params_construct (GType object_type,
                                                             const gchar* question,
                                                             const gchar* yes_button,
                                                             const gchar* no_button);
VALA_EXTERN gboolean import_ui_import_has_photos (GeeCollection* import_collection);
VALA_EXTERN gboolean import_ui_import_has_videos (GeeCollection* import_collection);
VALA_EXTERN gchar* import_ui_get_media_specific_string (GeeCollection* import_collection,
                                            const gchar* photos_msg,
                                            const gchar* videos_msg,
                                            const gchar* both_msg,
                                            const gchar* neither_msg);
VALA_EXTERN gchar* import_ui_create_result_report_from_manifest (ImportManifest* manifest);
VALA_EXTERN gboolean import_ui_report_manifest (ImportManifest* manifest,
                                    gboolean show_dest_id,
                                    ImportUIQuestionParams* question);
VALA_EXTERN gpointer text_entry_dialog_mediator_ref (gpointer instance);
VALA_EXTERN void text_entry_dialog_mediator_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_text_entry_dialog_mediator (const gchar* name,
                                                   const gchar* nick,
                                                   const gchar* blurb,
                                                   GType object_type,
                                                   GParamFlags flags);
VALA_EXTERN void value_set_text_entry_dialog_mediator (GValue* value,
                                           gpointer v_object);
VALA_EXTERN void value_take_text_entry_dialog_mediator (GValue* value,
                                            gpointer v_object);
VALA_EXTERN gpointer value_get_text_entry_dialog_mediator (const GValue* value);
VALA_EXTERN GType text_entry_dialog_mediator_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TextEntryDialogMediator, text_entry_dialog_mediator_unref)
VALA_EXTERN TextEntryDialogMediator* text_entry_dialog_mediator_construct (GType object_type,
                                                               const gchar* title,
                                                               const gchar* label,
                                                               const gchar* initial_text,
                                                               GeeCollection* completion_list,
                                                               const gchar* completion_delimiter);
VALA_EXTERN gboolean text_entry_dialog_mediator_on_modify_validate (TextEntryDialogMediator* self,
                                                        const gchar* text);
VALA_EXTERN gchar* _text_entry_dialog_mediator_execute (TextEntryDialogMediator* self);
VALA_EXTERN gchar* build_alert_body_text (const gchar* primary_text,
                              const gchar* secondary_text,
                              gboolean should_escape);
VALA_EXTERN GType entry_multi_completion_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EntryMultiCompletion, g_object_unref)
VALA_EXTERN EntryMultiCompletion* entry_multi_completion_new (GeeCollection* completion_list,
                                                  const gchar* delimiter);
VALA_EXTERN EntryMultiCompletion* entry_multi_completion_construct (GType object_type,
                                                        GeeCollection* completion_list,
                                                        const gchar* delimiter);
VALA_EXTERN GType event_rename_dialog_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EventRenameDialog, text_entry_dialog_mediator_unref)
VALA_EXTERN EventRenameDialog* event_rename_dialog_new (const gchar* event_name);
VALA_EXTERN EventRenameDialog* event_rename_dialog_construct (GType object_type,
                                                  const gchar* event_name);
VALA_EXTERN gchar* event_rename_dialog_execute (EventRenameDialog* self);
VALA_EXTERN gboolean revert_editable_dialog (GtkWindow* parent,
                                 GeeCollection* photos);
VALA_EXTERN gboolean remove_offline_dialog (GtkWindow* owner,
                                gint count);
VALA_EXTERN void multiple_object_error_dialog (GeeArrayList* objects,
                                   const gchar* message,
                                   const gchar* title);
VALA_EXTERN GType welcome_service_entry_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WelcomeServiceEntry, g_object_unref)
VALA_EXTERN void welcome_service_entry_execute (WelcomeServiceEntry* self);
VALA_EXTERN GtkResponseType copy_files_dialog (void);
VALA_EXTERN void remove_photos_from_library (GeeCollection* photos);
VALA_EXTERN void remove_from_app (GeeCollection* sources,
                      const gchar* dialog_title,
                      const gchar* progress_dialog_text,
                      gboolean delete_files);
VALA_EXTERN GType export_dialog_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ExportDialog, g_object_unref)
VALA_EXTERN ExportDialog* export_dialog_new (const gchar* title);
VALA_EXTERN ExportDialog* export_dialog_construct (GType object_type,
                                       const gchar* title);
VALA_EXTERN gboolean export_dialog_execute (ExportDialog* self,
                                gint* scale,
                                ScaleConstraint* constraint,
                                ExportFormatParameters* parameters);
VALA_EXTERN gpointer preferences_dialog_ref (gpointer instance);
VALA_EXTERN void preferences_dialog_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_preferences_dialog (const gchar* name,
                                           const gchar* nick,
                                           const gchar* blurb,
                                           GType object_type,
                                           GParamFlags flags);
VALA_EXTERN void value_set_preferences_dialog (GValue* value,
                                   gpointer v_object);
VALA_EXTERN void value_take_preferences_dialog (GValue* value,
                                    gpointer v_object);
VALA_EXTERN gpointer value_get_preferences_dialog (const GValue* value);
VALA_EXTERN GType preferences_dialog_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PreferencesDialog, preferences_dialog_unref)
VALA_EXTERN void preferences_dialog_show (void);
VALA_EXTERN GType progress_dialog_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ProgressDialog, g_object_unref)
VALA_EXTERN ProgressDialog* progress_dialog_new (GtkWindow* owner,
                                     const gchar* text,
                                     GCancellable* cancellable);
VALA_EXTERN ProgressDialog* progress_dialog_construct (GType object_type,
                                           GtkWindow* owner,
                                           const gchar* text,
                                           GCancellable* cancellable);
VALA_EXTERN void progress_dialog_update_display_every (ProgressDialog* self,
                                           gint update_every);
VALA_EXTERN void progress_dialog_set_minimum_on_screen_time_msec (ProgressDialog* self,
                                                      gint minimum_on_screen_time_msec);
VALA_EXTERN void progress_dialog_set_fraction (ProgressDialog* self,
                                   gint current,
                                   gint total);
VALA_EXTERN void progress_dialog_set_percentage (ProgressDialog* self,
                                     gdouble pct);
VALA_EXTERN void progress_dialog_set_status (ProgressDialog* self,
                                 const gchar* text);
VALA_EXTERN gboolean progress_dialog_monitor (ProgressDialog* self,
                                  guint64 count,
                                  guint64 total,
                                  gboolean do_event_loop);
VALA_EXTERN void progress_dialog_close (ProgressDialog* self);
VALA_EXTERN GType saved_search_dialog_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SavedSearchDialog, g_object_unref)
VALA_EXTERN SavedSearchDialog* saved_search_dialog_new (void);
VALA_EXTERN SavedSearchDialog* saved_search_dialog_construct (GType object_type);
VALA_EXTERN SavedSearchDialog* saved_search_dialog_new_edit_existing (SavedSearch* saved_search);
VALA_EXTERN SavedSearchDialog* saved_search_dialog_construct_edit_existing (GType object_type,
                                                                SavedSearch* saved_search);
VALA_EXTERN void saved_search_dialog_show (SavedSearchDialog* self);
VALA_EXTERN GType text_entry_dialog_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TextEntryDialog, g_object_unref)
VALA_EXTERN TextEntryDialog* text_entry_dialog_new (TextEntryDialogOnModifyValidateType modify_validate,
                                        gpointer modify_validate_target,
                                        const gchar* title,
                                        const gchar* label,
                                        const gchar* initial_text,
                                        GeeCollection* completion_list,
                                        const gchar* completion_delimiter);
VALA_EXTERN TextEntryDialog* text_entry_dialog_construct (GType object_type,
                                              TextEntryDialogOnModifyValidateType modify_validate,
                                              gpointer modify_validate_target,
                                              const gchar* title,
                                              const gchar* label,
                                              const gchar* initial_text,
                                              GeeCollection* completion_list,
                                              const gchar* completion_delimiter);
VALA_EXTERN gchar* text_entry_dialog_execute (TextEntryDialog* self);
VALA_EXTERN const gchar* text_entry_dialog_get_initial_text (TextEntryDialog* self);
VALA_EXTERN const gchar* text_entry_dialog_get_label (TextEntryDialog* self);
VALA_EXTERN GeeCollection* text_entry_dialog_get_completion_list (TextEntryDialog* self);
VALA_EXTERN const gchar* text_entry_dialog_get_completion_delimiter (TextEntryDialog* self);
VALA_EXTERN GQuark configuration_error_quark (void);
VALA_EXTERN GType configuration_error_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType configuration_engine_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ConfigurationEngine, g_object_unref)
VALA_EXTERN gboolean configuration_engine_get_plugin_bool (ConfigurationEngine* self,
                                               const gchar* domain,
                                               const gchar* id,
                                               const gchar* key,
                                               gboolean def);
VALA_EXTERN void configuration_engine_set_plugin_bool (ConfigurationEngine* self,
                                           const gchar* domain,
                                           const gchar* id,
                                           const gchar* key,
                                           gboolean val);
VALA_EXTERN gdouble configuration_engine_get_plugin_double (ConfigurationEngine* self,
                                                const gchar* domain,
                                                const gchar* id,
                                                const gchar* key,
                                                gdouble def);
VALA_EXTERN void configuration_engine_set_plugin_double (ConfigurationEngine* self,
                                             const gchar* domain,
                                             const gchar* id,
                                             const gchar* key,
                                             gdouble val);
VALA_EXTERN gint configuration_engine_get_plugin_int (ConfigurationEngine* self,
                                          const gchar* domain,
                                          const gchar* id,
                                          const gchar* key,
                                          gint def);
VALA_EXTERN void configuration_engine_set_plugin_int (ConfigurationEngine* self,
                                          const gchar* domain,
                                          const gchar* id,
                                          const gchar* key,
                                          gint val);
VALA_EXTERN gchar* configuration_engine_get_plugin_string (ConfigurationEngine* self,
                                               const gchar* domain,
                                               const gchar* id,
                                               const gchar* key,
                                               const gchar* def);
VALA_EXTERN void configuration_engine_set_plugin_string (ConfigurationEngine* self,
                                             const gchar* domain,
                                             const gchar* id,
                                             const gchar* key,
                                             const gchar* val);
VALA_EXTERN void configuration_engine_unset_plugin_key (ConfigurationEngine* self,
                                            const gchar* domain,
                                            const gchar* id,
                                            const gchar* key);
VALA_EXTERN GType configuration_facade_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ConfigurationFacade, g_object_unref)
VALA_EXTERN ConfigurationFacade* configuration_facade_construct (GType object_type,
                                                     ConfigurationEngine* engine);
VALA_EXTERN ConfigurationEngine* configuration_facade_get_engine (ConfigurationFacade* self);
VALA_EXTERN gboolean configuration_facade_get_plugin_bool (ConfigurationFacade* self,
                                               const gchar* domain,
                                               const gchar* id,
                                               const gchar* key,
                                               gboolean def);
VALA_EXTERN void configuration_facade_set_plugin_bool (ConfigurationFacade* self,
                                           const gchar* domain,
                                           const gchar* id,
                                           const gchar* key,
                                           gboolean val);
VALA_EXTERN gdouble configuration_facade_get_plugin_double (ConfigurationFacade* self,
                                                const gchar* domain,
                                                const gchar* id,
                                                const gchar* key,
                                                gdouble def);
VALA_EXTERN void configuration_facade_set_plugin_double (ConfigurationFacade* self,
                                             const gchar* domain,
                                             const gchar* id,
                                             const gchar* key,
                                             gdouble val);
VALA_EXTERN gint configuration_facade_get_plugin_int (ConfigurationFacade* self,
                                          const gchar* domain,
                                          const gchar* id,
                                          const gchar* key,
                                          gint def);
VALA_EXTERN void configuration_facade_set_plugin_int (ConfigurationFacade* self,
                                          const gchar* domain,
                                          const gchar* id,
                                          const gchar* key,
                                          gint val);
VALA_EXTERN gchar* configuration_facade_get_plugin_string (ConfigurationFacade* self,
                                               const gchar* domain,
                                               const gchar* id,
                                               const gchar* key,
                                               const gchar* def);
VALA_EXTERN void configuration_facade_set_plugin_string (ConfigurationFacade* self,
                                             const gchar* domain,
                                             const gchar* id,
                                             const gchar* key,
                                             const gchar* val);
VALA_EXTERN void configuration_facade_unset_plugin_key (ConfigurationFacade* self,
                                            const gchar* domain,
                                            const gchar* id,
                                            const gchar* key);
VALA_EXTERN GType config_facade_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ConfigFacade, g_object_unref)
VALA_EXTERN ConfigFacade* config_facade_get_instance (void);
VALA_EXTERN GType gsettings_configuration_engine_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GSettingsConfigurationEngine, g_object_unref)
VALA_EXTERN GSettingsConfigurationEngine* gsettings_configuration_engine_new (void);
VALA_EXTERN GSettingsConfigurationEngine* gsettings_configuration_engine_construct (GType object_type);
VALA_EXTERN gboolean view_manager_include_in_view (ViewManager* self,
                                       DataSource* source);
VALA_EXTERN DataView* view_manager_create_view (ViewManager* self,
                                    DataSource* source);
VALA_EXTERN ViewManager* view_manager_construct (GType object_type);
VALA_EXTERN Alteration* alteration_new (const gchar* subject,
                            const gchar* detail);
VALA_EXTERN Alteration* alteration_construct (GType object_type,
                                  const gchar* subject,
                                  const gchar* detail);
VALA_EXTERN Alteration* alteration_new_from_list (const gchar* list);
VALA_EXTERN Alteration* alteration_construct_from_list (GType object_type,
                                            const gchar* list);
VALA_EXTERN Alteration* alteration_new_from_array (gchar** array,
                                       gint array_length1);
VALA_EXTERN Alteration* alteration_construct_from_array (GType object_type,
                                             gchar** array,
                                             gint array_length1);
VALA_EXTERN gboolean alteration_has_subject (Alteration* self,
                                 const gchar* subject);
VALA_EXTERN gboolean alteration_has_detail (Alteration* self,
                                const gchar* subject,
                                const gchar* detail);
VALA_EXTERN GeeCollection* alteration_get_details (Alteration* self,
                                       const gchar* subject);
VALA_EXTERN gchar* alteration_to_string (Alteration* self);
VALA_EXTERN gboolean alteration_contains_any (Alteration* self,
                                  Alteration* other);
VALA_EXTERN gboolean alteration_equals (Alteration* self,
                            Alteration* other);
VALA_EXTERN Alteration* alteration_compress (Alteration* self,
                                 Alteration* other);
VALA_EXTERN ContainerSourceCollection* container_source_collection_construct (GType object_type,
                                                                  const gchar* backlink_name,
                                                                  const gchar* name,
                                                                  GetSourceDatabaseKey source_key_func,
                                                                  gpointer source_key_func_target);
VALA_EXTERN void container_source_collection_notify_container_contents_added (ContainerSourceCollection* self,
                                                                  ContainerSource* container,
                                                                  GeeCollection* added,
                                                                  gboolean relinked);
VALA_EXTERN void container_source_collection_notify_container_contents_removed (ContainerSourceCollection* self,
                                                                    ContainerSource* container,
                                                                    GeeCollection* removed,
                                                                    gboolean unlinked);
VALA_EXTERN void container_source_collection_notify_container_contents_altered (ContainerSourceCollection* self,
                                                                    ContainerSource* container,
                                                                    GeeCollection* added,
                                                                    gboolean relinked,
                                                                    GeeCollection* removed,
                                                                    gboolean unlinked);
VALA_EXTERN void container_source_collection_notify_backlink_to_container_removed (ContainerSourceCollection* self,
                                                                       ContainerSource* container,
                                                                       GeeCollection* sources);
VALA_EXTERN GeeCollection* container_source_collection_get_containers_holding_source (ContainerSourceCollection* self,
                                                                          DataSource* source);
VALA_EXTERN ContainerSource* container_source_collection_convert_backlink_to_container (ContainerSourceCollection* self,
                                                                            SourceBacklink* backlink);
VALA_EXTERN void container_source_collection_freeze_attached_notifications (ContainerSourceCollection* self);
VALA_EXTERN void container_source_collection_thaw_attached_notifications (ContainerSourceCollection* self);
VALA_EXTERN GeeCollection* container_source_collection_get_holding_tank (ContainerSourceCollection* self);
VALA_EXTERN void container_source_collection_init_add_unlinked (ContainerSourceCollection* self,
                                                    ContainerSource* unlinked);
VALA_EXTERN void container_source_collection_init_add_many_unlinked (ContainerSourceCollection* self,
                                                         GeeCollection* unlinked);
VALA_EXTERN gboolean container_source_collection_relink_from_holding_tank (ContainerSourceCollection* self,
                                                               ContainerSource* source);
VALA_EXTERN void container_source_collection_evaporate (ContainerSourceCollection* self,
                                            ContainerSource* container);
VALA_EXTERN void container_source_collection_attach_collection (ContainerSourceCollection* self,
                                                    SourceCollection* collection);
VALA_EXTERN void container_source_collection_detach_all_collections (ContainerSourceCollection* self);
VALA_EXTERN DatabaseSourceCollection* database_source_collection_construct (GType object_type,
                                                                const gchar* name,
                                                                GetSourceDatabaseKey source_key_func,
                                                                gpointer source_key_func_target);
VALA_EXTERN DataSource* database_source_collection_fetch_by_key (DatabaseSourceCollection* self,
                                                     gint64 key);
VALA_EXTERN DatabaseSourceHoldingTank* database_source_holding_tank_new (SourceCollection* sources,
                                                             SourceHoldingTankCheckToKeep check_to_keep,
                                                             gpointer check_to_keep_target,
                                                             GetSourceDatabaseKey get_key,
                                                             gpointer get_key_target);
VALA_EXTERN DatabaseSourceHoldingTank* database_source_holding_tank_construct (GType object_type,
                                                                   SourceCollection* sources,
                                                                   SourceHoldingTankCheckToKeep check_to_keep,
                                                                   gpointer check_to_keep_target,
                                                                   GetSourceDatabaseKey get_key,
                                                                   gpointer get_key_target);
VALA_EXTERN DataSource* database_source_holding_tank_get_by_id (DatabaseSourceHoldingTank* self,
                                                    gint64 id);
VALA_EXTERN DataCollection* data_collection_new (const gchar* name);
VALA_EXTERN DataCollection* data_collection_construct (GType object_type,
                                           const gchar* name);
VALA_EXTERN gchar* data_collection_to_string (DataCollection* self);
VALA_EXTERN void data_collection_notify_items_added (DataCollection* self,
                                         GeeIterable* added);
VALA_EXTERN void data_collection_notify_items_removed (DataCollection* self,
                                           GeeIterable* removed);
VALA_EXTERN void data_collection_notify_contents_altered (DataCollection* self,
                                              GeeIterable* added,
                                              GeeIterable* removed);
VALA_EXTERN void data_collection_notify_items_altered (DataCollection* self,
                                           GeeMap* items);
VALA_EXTERN void data_collection_notify_ordering_changed (DataCollection* self);
VALA_EXTERN void data_collection_notify_property_set (DataCollection* self,
                                          const gchar* name,
                                          GValue* old,
                                          GValue* val);
VALA_EXTERN void data_collection_notify_property_cleared (DataCollection* self,
                                              const gchar* name);
VALA_EXTERN GeeCollection* data_collection_get_singleton (DataObject* object);
VALA_EXTERN GeeMap* data_collection_get_alteration_singleton (DataObject* object,
                                                  Alteration* alteration);
VALA_EXTERN gboolean data_collection_valid_type (DataCollection* self,
                                     DataObject* object);
VALA_EXTERN Comparator data_collection_get_comparator (DataCollection* self,
                                           gpointer* result_target);
VALA_EXTERN ComparatorPredicate data_collection_get_comparator_predicate (DataCollection* self,
                                                              gpointer* result_target);
VALA_EXTERN void data_collection_set_comparator (DataCollection* self,
                                     Comparator comparator,
                                     gpointer comparator_target,
                                     ComparatorPredicate predicate,
                                     gpointer predicate_target);
VALA_EXTERN void data_collection_reset_comparator (DataCollection* self);
VALA_EXTERN GeeCollection* data_collection_get_all (DataCollection* self);
VALA_EXTERN gpointer data_set_ref (gpointer instance);
VALA_EXTERN void data_set_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_data_set (const gchar* name,
                                 const gchar* nick,
                                 const gchar* blurb,
                                 GType object_type,
                                 GParamFlags flags);
VALA_EXTERN void value_set_data_set (GValue* value,
                         gpointer v_object);
VALA_EXTERN void value_take_data_set (GValue* value,
                          gpointer v_object);
VALA_EXTERN gpointer value_get_data_set (const GValue* value);
VALA_EXTERN GType data_set_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DataSet, data_set_unref)
VALA_EXTERN DataSet* data_collection_get_dataset_copy (DataCollection* self);
VALA_EXTERN gint data_collection_get_count (DataCollection* self);
VALA_EXTERN DataObject* data_collection_get_at (DataCollection* self,
                                    gint index);
VALA_EXTERN gint data_collection_index_of (DataCollection* self,
                               DataObject* object);
VALA_EXTERN gboolean data_collection_contains (DataCollection* self,
                                   DataObject* object);
VALA_EXTERN gboolean data_collection_add (DataCollection* self,
                              DataObject* object);
VALA_EXTERN GeeCollection* data_collection_add_many (DataCollection* self,
                                         GeeCollection* objects,
                                         ProgressMonitor monitor,
                                         gpointer monitor_target);
VALA_EXTERN Marker* data_collection_start_marking (DataCollection* self);
VALA_EXTERN Marker* data_collection_mark (DataCollection* self,
                              DataObject* object);
VALA_EXTERN Marker* data_collection_mark_many (DataCollection* self,
                                   GeeCollection* objects);
VALA_EXTERN void data_collection_act_on_marked (DataCollection* self,
                                    Marker* m,
                                    MarkedAction action,
                                    gpointer action_target,
                                    ProgressMonitor monitor,
                                    gpointer monitor_target,
                                    GObject* user);
VALA_EXTERN void data_collection_remove_marked (DataCollection* self,
                                    Marker* m);
VALA_EXTERN void data_collection_clear (DataCollection* self);
VALA_EXTERN void data_collection_close (DataCollection* self);
VALA_EXTERN void data_collection_internal_notify_altered (DataCollection* self,
                                              DataObject* object,
                                              Alteration* alteration);
VALA_EXTERN GValue* data_collection_get_property (DataCollection* self,
                                      const gchar* name);
VALA_EXTERN void data_collection_set_property (DataCollection* self,
                                   const gchar* name,
                                   GValue* val,
                                   ValueEqualFunc value_equals,
                                   gpointer value_equals_target);
VALA_EXTERN void data_collection_clear_property (DataCollection* self,
                                     const gchar* name);
VALA_EXTERN void data_collection_freeze_notifications (DataCollection* self);
VALA_EXTERN void data_collection_thaw_notifications (DataCollection* self);
VALA_EXTERN gboolean data_collection_are_notifications_frozen (DataCollection* self);
VALA_EXTERN void data_collection_notify_frozen (DataCollection* self);
VALA_EXTERN void data_collection_notify_thawed (DataCollection* self);
VALA_EXTERN DataObject* data_object_construct (GType object_type,
                                   gint64 object_id);
VALA_EXTERN void data_object_notify_altered (DataObject* self,
                                 Alteration* alteration);
VALA_EXTERN void data_object_notify_membership_changed (DataObject* self,
                                            DataCollection* collection);
VALA_EXTERN void data_object_notify_collection_property_set (DataObject* self,
                                                 const gchar* name,
                                                 GValue* old,
                                                 GValue* val);
VALA_EXTERN void data_object_notify_collection_property_cleared (DataObject* self,
                                                     const gchar* name);
VALA_EXTERN gchar* data_object_get_name (DataObject* self);
VALA_EXTERN gchar* data_object_to_string (DataObject* self);
VALA_EXTERN DataCollection* data_object_get_membership (DataObject* self);
VALA_EXTERN gboolean data_object_has_membership (DataObject* self);
VALA_EXTERN void data_object_internal_set_membership (DataObject* self,
                                          DataCollection* collection,
                                          gint64 ordinal);
VALA_EXTERN void data_object_internal_set_ordinal (DataObject* self,
                                       gint64 ordinal);
VALA_EXTERN void data_object_internal_clear_membership (DataObject* self);
VALA_EXTERN gint64 data_object_internal_get_ordinal (DataObject* self);
VALA_EXTERN gint64 data_object_get_object_id (DataObject* self);
VALA_EXTERN GValue* data_object_get_collection_property (DataObject* self,
                                             const gchar* name,
                                             GValue* def);
VALA_EXTERN void data_object_set_collection_property (DataObject* self,
                                          const gchar* name,
                                          GValue* val,
                                          ValueEqualFunc value_equals,
                                          gpointer value_equals_target);
VALA_EXTERN void data_object_clear_collection_property (DataObject* self,
                                            const gchar* name);
VALA_EXTERN DataSet* data_set_new (void);
VALA_EXTERN DataSet* data_set_construct (GType object_type);
VALA_EXTERN gboolean data_set_contains (DataSet* self,
                            DataObject* object);
VALA_EXTERN gint data_set_get_count (DataSet* self);
VALA_EXTERN void data_set_reset_comparator (DataSet* self);
VALA_EXTERN Comparator data_set_get_comparator (DataSet* self,
                                    gpointer* result_target);
VALA_EXTERN ComparatorPredicate data_set_get_comparator_predicate (DataSet* self,
                                                       gpointer* result_target);
VALA_EXTERN void data_set_set_comparator (DataSet* self,
                              Comparator user_comparator,
                              gpointer user_comparator_target,
                              ComparatorPredicate comparator_predicate,
                              gpointer comparator_predicate_target);
VALA_EXTERN GeeList* data_set_get_all (DataSet* self);
VALA_EXTERN DataSet* data_set_copy (DataSet* self);
VALA_EXTERN DataObject* data_set_get_at (DataSet* self,
                             gint index);
VALA_EXTERN gint data_set_index_of (DataSet* self,
                        DataObject* object);
VALA_EXTERN gboolean data_set_add (DataSet* self,
                       DataObject* object);
VALA_EXTERN gboolean data_set_add_many (DataSet* self,
                            GeeCollection* objects);
VALA_EXTERN gboolean data_set_remove (DataSet* self,
                          DataObject* object);
VALA_EXTERN gboolean data_set_remove_many (DataSet* self,
                               GeeCollection* objects);
VALA_EXTERN gboolean data_set_resort_object (DataSet* self,
                                 DataObject* object,
                                 Alteration* alteration);
VALA_EXTERN ThumbnailSource* thumbnail_source_construct (GType object_type,
                                             gint64 object_id);
VALA_EXTERN void thumbnail_source_notify_thumbnail_altered (ThumbnailSource* self);
VALA_EXTERN GdkPixbuf* thumbnail_source_get_thumbnail (ThumbnailSource* self,
                                           gint scale,
                                           GError** error);
VALA_EXTERN GdkPixbuf* thumbnail_source_create_thumbnail (ThumbnailSource* self,
                                              gint scale,
                                              GError** error);
VALA_EXTERN gchar* thumbnail_source_get_representative_id (ThumbnailSource* self);
VALA_EXTERN PhotoFileFormat thumbnail_source_get_preferred_thumbnail_format (ThumbnailSource* self);
VALA_EXTERN PhotoSource* photo_source_construct (GType object_type,
                                     gint64 object_id);
VALA_EXTERN PhotoMetadata* photo_source_get_metadata (PhotoSource* self);
VALA_EXTERN GdkPixbuf* photo_source_get_pixbuf (PhotoSource* self,
                                    Scaling* scaling,
                                    GError** error);
VALA_EXTERN VideoSource* video_source_construct (GType object_type);
VALA_EXTERN EventSource* event_source_construct (GType object_type,
                                     gint64 object_id);
VALA_EXTERN gint64 event_source_get_start_time (EventSource* self);
VALA_EXTERN gint64 event_source_get_end_time (EventSource* self);
VALA_EXTERN guint64 event_source_get_total_filesize (EventSource* self);
VALA_EXTERN gint event_source_get_media_count (EventSource* self);
VALA_EXTERN GeeCollection* event_source_get_media (EventSource* self);
VALA_EXTERN gchar* event_source_get_comment (EventSource* self);
VALA_EXTERN gboolean event_source_set_comment (EventSource* self,
                                   const gchar* comment);
VALA_EXTERN gboolean container_source_has_links (ContainerSource* self);
VALA_EXTERN SourceBacklink* container_source_get_backlink (ContainerSource* self);
VALA_EXTERN void container_source_break_link (ContainerSource* self,
                                  DataSource* source);
VALA_EXTERN void container_source_break_link_many (ContainerSource* self,
                                       GeeCollection* sources);
VALA_EXTERN void container_source_establish_link (ContainerSource* self,
                                      DataSource* source);
VALA_EXTERN void container_source_establish_link_many (ContainerSource* self,
                                           GeeCollection* sources);
VALA_EXTERN DataSource* data_source_construct (GType object_type,
                                   gint64 object_id);
VALA_EXTERN void data_source_notify_held_in_tank (DataSource* self,
                                      SourceHoldingTank* holding_tank);
VALA_EXTERN void data_source_notify_unlinking (DataSource* self,
                                   SourceCollection* collection);
VALA_EXTERN void data_source_notify_unlinked (DataSource* self);
VALA_EXTERN void data_source_notify_relinking (DataSource* self,
                                   SourceCollection* collection);
VALA_EXTERN void data_source_notify_relinked (DataSource* self);
VALA_EXTERN gchar* data_source_get_typename (DataSource* self);
VALA_EXTERN gint64 data_source_get_instance_id (DataSource* self);
VALA_EXTERN gchar* data_source_get_source_id (DataSource* self);
VALA_EXTERN gboolean data_source_has_backlink (DataSource* self,
                                   SourceBacklink* backlink);
VALA_EXTERN GeeList* data_source_get_backlinks (DataSource* self,
                                    const gchar* name);
VALA_EXTERN void data_source_set_backlink (DataSource* self,
                               SourceBacklink* backlink);
VALA_EXTERN gboolean data_source_remove_backlink (DataSource* self,
                                      SourceBacklink* backlink);
VALA_EXTERN void data_source_commit_backlinks (DataSource* self,
                                   SourceCollection* sources,
                                   const gchar* dehydrated);
VALA_EXTERN void data_source_rehydrate_backlinks (DataSource* self,
                                      SourceCollection* unlinked_from,
                                      const gchar* dehydrated);
VALA_EXTERN SourceSnapshot* data_source_save_snapshot (DataSource* self);
VALA_EXTERN void data_source_internal_mark_for_destroy (DataSource* self);
VALA_EXTERN gboolean data_source_internal_delete_backing (DataSource* self,
                                              GError** error);
VALA_EXTERN gboolean data_source_equals (DataSource* self,
                             DataSource* source);
VALA_EXTERN void data_source_destroy (DataSource* self);
VALA_EXTERN gboolean data_source_destroy_orphan (DataSource* self,
                                     gboolean delete_backing);
VALA_EXTERN void data_source_internal_subscribe (DataSource* self,
                                     DataView* view);
VALA_EXTERN void data_source_internal_unsubscribe (DataSource* self,
                                       DataView* view);
VALA_EXTERN void data_source_contact_subscribers (DataSource* self,
                                      DataSourceContactSubscriber contact_subscriber,
                                      gpointer contact_subscriber_target);
VALA_EXTERN void data_source_contact_subscribers_alteration (DataSource* self,
                                                 Alteration* alteration);
VALA_EXTERN void source_snapshot_notify_broken (SourceSnapshot* self);
VALA_EXTERN gboolean source_snapshot_is_broken (SourceSnapshot* self);
VALA_EXTERN SourceSnapshot* source_snapshot_construct (GType object_type);
VALA_EXTERN SourceBacklink* source_backlink_new (const gchar* name,
                                     const gchar* value);
VALA_EXTERN SourceBacklink* source_backlink_construct (GType object_type,
                                           const gchar* name,
                                           const gchar* value);
VALA_EXTERN SourceBacklink* source_backlink_new_from_source (DataSource* source);
VALA_EXTERN SourceBacklink* source_backlink_construct_from_source (GType object_type,
                                                       DataSource* source);
VALA_EXTERN gchar* source_backlink_to_string (SourceBacklink* self);
VALA_EXTERN guint source_backlink_hash_func (SourceBacklink* backlink);
VALA_EXTERN gboolean source_backlink_equal_func (SourceBacklink* alink,
                                     SourceBacklink* blink);
VALA_EXTERN const gchar* source_backlink_get_name (SourceBacklink* self);
VALA_EXTERN const gchar* source_backlink_get_value (SourceBacklink* self);
VALA_EXTERN const gchar* source_backlink_get_typename (SourceBacklink* self);
VALA_EXTERN gint64 source_backlink_get_instance_id (SourceBacklink* self);
VALA_EXTERN SourceProxy* source_proxy_construct (GType object_type,
                                     DataSource* source);
VALA_EXTERN DataSource* source_proxy_reconstitute (SourceProxy* self,
                                       gint64 object_id,
                                       SourceSnapshot* snapshot);
VALA_EXTERN void source_proxy_notify_reconstituted (SourceProxy* self,
                                        DataSource* source);
VALA_EXTERN void source_proxy_notify_dehydrated (SourceProxy* self);
VALA_EXTERN void source_proxy_notify_broken (SourceProxy* self);
VALA_EXTERN DataSource* source_proxy_get_source (SourceProxy* self);
VALA_EXTERN SourceProxy* proxyable_get_proxy (Proxyable* self);
VALA_EXTERN ThumbnailView* thumbnail_view_new (ThumbnailSource* source);
VALA_EXTERN ThumbnailView* thumbnail_view_construct (GType object_type,
                                         ThumbnailSource* source);
VALA_EXTERN void thumbnail_view_notify_thumbnail_altered (ThumbnailView* self);
VALA_EXTERN GType photo_view_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PhotoView, g_object_unref)
VALA_EXTERN PhotoView* photo_view_new (PhotoSource* source);
VALA_EXTERN PhotoView* photo_view_construct (GType object_type,
                                 PhotoSource* source);
VALA_EXTERN PhotoSource* photo_view_get_photo_source (PhotoView* self);
VALA_EXTERN GType video_view_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (VideoView, g_object_unref)
VALA_EXTERN VideoView* video_view_new (VideoSource* source);
VALA_EXTERN VideoView* video_view_construct (GType object_type,
                                 VideoSource* source);
VALA_EXTERN VideoSource* video_view_get_video_source (VideoView* self);
VALA_EXTERN GType event_view_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EventView, g_object_unref)
VALA_EXTERN EventView* event_view_new (EventSource* source);
VALA_EXTERN EventView* event_view_construct (GType object_type,
                                 EventSource* source);
VALA_EXTERN EventSource* event_view_get_event_source (EventView* self);
VALA_EXTERN DataView* data_view_new (DataSource* source);
VALA_EXTERN DataView* data_view_construct (GType object_type,
                               DataSource* source);
VALA_EXTERN gboolean data_view_is_selected (DataView* self);
VALA_EXTERN void data_view_internal_set_selected (DataView* self,
                                      gboolean selected);
VALA_EXTERN gboolean data_view_internal_toggle (DataView* self);
VALA_EXTERN gboolean data_view_is_visible (DataView* self);
VALA_EXTERN void data_view_internal_set_visible (DataView* self,
                                     gboolean visible);
VALA_EXTERN void data_view_notify_view_altered (DataView* self);
VALA_EXTERN void data_view_notify_geometry_altered (DataView* self);
VALA_EXTERN void data_view_notify_unsubscribed (DataView* self,
                                    DataSource* source);
VALA_EXTERN DataSource* data_view_get_source (DataView* self);
VALA_EXTERN SourceCollection* source_collection_construct (GType object_type,
                                               const gchar* name);
VALA_EXTERN gboolean source_collection_holds_type_of_source (SourceCollection* self,
                                                 DataSource* source);
VALA_EXTERN void source_collection_notify_items_unlinking (SourceCollection* self,
                                               GeeCollection* unlinking);
VALA_EXTERN void source_collection_notify_items_relinked (SourceCollection* self,
                                              GeeCollection* relinked);
VALA_EXTERN void source_collection_notify_item_destroyed (SourceCollection* self,
                                              DataSource* source);
VALA_EXTERN void source_collection_notify_items_destroyed (SourceCollection* self,
                                               GeeCollection* destroyed);
VALA_EXTERN void source_collection_notify_unlinked_destroyed (SourceCollection* self,
                                                  DataSource* unlinked);
VALA_EXTERN void source_collection_notify_backlink_removed (SourceCollection* self,
                                                SourceBacklink* backlink,
                                                GeeCollection* sources);
VALA_EXTERN gint source_collection_destroy_marked (SourceCollection* self,
                                       Marker* marker,
                                       gboolean delete_backing,
                                       ProgressMonitor monitor,
                                       gpointer monitor_target,
                                       GeeList* not_removed);
VALA_EXTERN void source_collection_internal_backlink_set (SourceCollection* self,
                                              DataSource* source,
                                              SourceBacklink* backlink);
VALA_EXTERN void source_collection_internal_backlink_removed (SourceCollection* self,
                                                  DataSource* source,
                                                  SourceBacklink* backlink);
VALA_EXTERN gboolean source_collection_has_backlink (SourceCollection* self,
                                         SourceBacklink* backlink);
VALA_EXTERN GeeCollection* source_collection_unlink_marked (SourceCollection* self,
                                                Marker* marker,
                                                ProgressMonitor monitor,
                                                gpointer monitor_target);
VALA_EXTERN void source_collection_relink (SourceCollection* self,
                               DataSource* source);
VALA_EXTERN void source_collection_relink_many (SourceCollection* self,
                                    GeeCollection* relink);
VALA_EXTERN void source_collection_remove_backlink (SourceCollection* self,
                                        SourceBacklink* backlink);
VALA_EXTERN SourceHoldingTank* source_holding_tank_new (SourceCollection* sources,
                                            SourceHoldingTankCheckToKeep check_to_keep,
                                            gpointer check_to_keep_target);
VALA_EXTERN SourceHoldingTank* source_holding_tank_construct (GType object_type,
                                                  SourceCollection* sources,
                                                  SourceHoldingTankCheckToKeep check_to_keep,
                                                  gpointer check_to_keep_target);
VALA_EXTERN void source_holding_tank_notify_contents_altered (SourceHoldingTank* self,
                                                  GeeCollection* added,
                                                  GeeCollection* removed);
VALA_EXTERN gint source_holding_tank_get_count (SourceHoldingTank* self);
VALA_EXTERN GeeCollection* source_holding_tank_get_all (SourceHoldingTank* self);
VALA_EXTERN gboolean source_holding_tank_contains (SourceHoldingTank* self,
                                       DataSource* source);
VALA_EXTERN void source_holding_tank_add_many (SourceHoldingTank* self,
                                   GeeCollection* many);
VALA_EXTERN void source_holding_tank_unlink_and_hold (SourceHoldingTank* self,
                                          GeeCollection* unlink);
VALA_EXTERN gboolean source_holding_tank_has_backlink (SourceHoldingTank* self,
                                           SourceBacklink* backlink);
VALA_EXTERN void source_holding_tank_remove_backlink (SourceHoldingTank* self,
                                          SourceBacklink* backlink);
VALA_EXTERN void source_holding_tank_destroy_orphans (SourceHoldingTank* self,
                                          GeeList* destroy,
                                          gboolean delete_backing,
                                          ProgressMonitor monitor,
                                          gpointer monitor_target,
                                          GeeList* not_removed);
VALA_EXTERN void source_holding_tank_internal_notify_altered (SourceHoldingTank* self,
                                                  DataSource* source,
                                                  Alteration* alteration);
VALA_EXTERN gchar* source_holding_tank_to_string (SourceHoldingTank* self);
VALA_EXTERN const gchar* indexable_get_indexable_keywords (Indexable* self);
VALA_EXTERN gchar* indexable_prepare_indexable_string (const gchar* str);
VALA_EXTERN gchar* indexable_prepare_indexable_strings (gchar** strs,
                                            gint strs_length1);
VALA_EXTERN gboolean core_tracker_accumulator_include (CoreTrackerAccumulator* self,
                                           DataObject* object);
VALA_EXTERN gboolean core_tracker_accumulator_uninclude (CoreTrackerAccumulator* self,
                                             DataObject* object);
VALA_EXTERN gboolean core_tracker_accumulator_altered (CoreTrackerAccumulator* self,
                                           DataObject* object,
                                           Alteration* alteration);
VALA_EXTERN CoreTracker* core_tracker_new (DataCollection* collection,
                               GeeCollection* initial);
VALA_EXTERN CoreTracker* core_tracker_construct (GType object_type,
                                     DataCollection* collection,
                                     GeeCollection* initial);
VALA_EXTERN void core_tracker_start (CoreTracker* self,
                         CoreTrackerAccumulator* acc);
VALA_EXTERN DataCollection* core_tracker_get_collection (CoreTracker* self);
VALA_EXTERN void core_tracker_include_uninclude (CoreTracker* self,
                                     GeeIterable* objects,
                                     CoreTrackerIncludeUnincludeObject cb,
                                     gpointer cb_target);
VALA_EXTERN CoreViewTracker* core_view_tracker_new (ViewCollection* collection);
VALA_EXTERN CoreViewTracker* core_view_tracker_construct (GType object_type,
                                              ViewCollection* collection);
VALA_EXTERN void core_view_tracker_start (CoreViewTracker* self,
                              CoreTrackerAccumulator* all,
                              CoreTrackerAccumulator* visible,
                              CoreTrackerAccumulator* selected);
VALA_EXTERN GType singleton_collection_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SingletonCollection, g_object_unref)
VALA_EXTERN SingletonCollection* singleton_collection_new (GType g_type,
                                               GBoxedCopyFunc g_dup_func,
                                               GDestroyNotify g_destroy_func,
                                               gconstpointer object);
VALA_EXTERN SingletonCollection* singleton_collection_construct (GType object_type,
                                                     GType g_type,
                                                     GBoxedCopyFunc g_dup_func,
                                                     GDestroyNotify g_destroy_func,
                                                     gconstpointer object);
VALA_EXTERN void marker_mark (Marker* self,
                  DataObject* object);
VALA_EXTERN void marker_unmark (Marker* self,
                    DataObject* object);
VALA_EXTERN gboolean marker_toggle (Marker* self,
                        DataObject* object);
VALA_EXTERN void marker_mark_many (Marker* self,
                       GeeCollection* list);
VALA_EXTERN void marker_unmark_many (Marker* self,
                         GeeCollection* list);
VALA_EXTERN void marker_mark_all (Marker* self);
VALA_EXTERN gint marker_get_count (Marker* self);
VALA_EXTERN GeeCollection* marker_get_all (Marker* self);
VALA_EXTERN gpointer unknown_total_monitor_ref (gpointer instance);
VALA_EXTERN void unknown_total_monitor_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_unknown_total_monitor (const gchar* name,
                                              const gchar* nick,
                                              const gchar* blurb,
                                              GType object_type,
                                              GParamFlags flags);
VALA_EXTERN void value_set_unknown_total_monitor (GValue* value,
                                      gpointer v_object);
VALA_EXTERN void value_take_unknown_total_monitor (GValue* value,
                                       gpointer v_object);
VALA_EXTERN gpointer value_get_unknown_total_monitor (const GValue* value);
VALA_EXTERN GType unknown_total_monitor_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (UnknownTotalMonitor, unknown_total_monitor_unref)
VALA_EXTERN UnknownTotalMonitor* unknown_total_monitor_new (guint64 total,
                                                ProgressMonitor wrapped_monitor,
                                                gpointer wrapped_monitor_target);
VALA_EXTERN UnknownTotalMonitor* unknown_total_monitor_construct (GType object_type,
                                                      guint64 total,
                                                      ProgressMonitor wrapped_monitor,
                                                      gpointer wrapped_monitor_target);
VALA_EXTERN gboolean unknown_total_monitor_monitor (UnknownTotalMonitor* self,
                                        guint64 count,
                                        guint64 total);
VALA_EXTERN gpointer aggregate_progress_monitor_ref (gpointer instance);
VALA_EXTERN void aggregate_progress_monitor_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_aggregate_progress_monitor (const gchar* name,
                                                   const gchar* nick,
                                                   const gchar* blurb,
                                                   GType object_type,
                                                   GParamFlags flags);
VALA_EXTERN void value_set_aggregate_progress_monitor (GValue* value,
                                           gpointer v_object);
VALA_EXTERN void value_take_aggregate_progress_monitor (GValue* value,
                                            gpointer v_object);
VALA_EXTERN gpointer value_get_aggregate_progress_monitor (const GValue* value);
VALA_EXTERN GType aggregate_progress_monitor_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AggregateProgressMonitor, aggregate_progress_monitor_unref)
VALA_EXTERN AggregateProgressMonitor* aggregate_progress_monitor_new (guint64 grand_total,
                                                          ProgressMonitor wrapped_monitor,
                                                          gpointer wrapped_monitor_target);
VALA_EXTERN AggregateProgressMonitor* aggregate_progress_monitor_construct (GType object_type,
                                                                guint64 grand_total,
                                                                ProgressMonitor wrapped_monitor,
                                                                gpointer wrapped_monitor_target);
VALA_EXTERN void aggregate_progress_monitor_next_step (AggregateProgressMonitor* self,
                                           const gchar* name);
VALA_EXTERN gboolean aggregate_progress_monitor_monitor (AggregateProgressMonitor* self,
                                             guint64 count,
                                             guint64 total);
VALA_EXTERN gboolean null_progress_monitor (guint64 count,
                                guint64 total);
VALA_EXTERN ViewCollection* view_collection_new (const gchar* name);
VALA_EXTERN ViewCollection* view_collection_construct (GType object_type,
                                           const gchar* name);
VALA_EXTERN void view_collection_notify_items_selected_unselected (ViewCollection* self,
                                                       GeeCollection* selected,
                                                       GeeCollection* unselected);
VALA_EXTERN void view_collection_notify_selection_group_altered (ViewCollection* self);
VALA_EXTERN void view_collection_notify_item_view_altered (ViewCollection* self,
                                               DataView* view);
VALA_EXTERN void view_collection_notify_views_altered (ViewCollection* self,
                                           GeeCollection* views);
VALA_EXTERN void view_collection_notify_item_geometry_altered (ViewCollection* self,
                                                   DataView* view);
VALA_EXTERN void view_collection_notify_geometries_altered (ViewCollection* self,
                                                GeeCollection* views);
VALA_EXTERN void view_collection_notify_items_shown (ViewCollection* self,
                                         GeeCollection* shown);
VALA_EXTERN void view_collection_notify_items_hidden (ViewCollection* self,
                                          GeeCollection* hidden);
VALA_EXTERN void view_collection_notify_items_visibility_changed (ViewCollection* self,
                                                      GeeCollection* changed);
VALA_EXTERN void view_collection_notify_view_filter_installed (ViewCollection* self,
                                                   ViewFilter* filter);
VALA_EXTERN void view_collection_notify_view_filter_removed (ViewCollection* self,
                                                 ViewFilter* filter);
VALA_EXTERN gpointer view_collection_monitor_ref (gpointer instance);
VALA_EXTERN void view_collection_monitor_unref (gpointer instance);
VALA_EXTERN GParamSpec* view_collection_param_spec_monitor (const gchar* name,
                                                const gchar* nick,
                                                const gchar* blurb,
                                                GType object_type,
                                                GParamFlags flags);
VALA_EXTERN void view_collection_value_set_monitor (GValue* value,
                                        gpointer v_object);
VALA_EXTERN void view_collection_value_take_monitor (GValue* value,
                                         gpointer v_object);
VALA_EXTERN gpointer view_collection_value_get_monitor (const GValue* value);
VALA_EXTERN GType view_collection_monitor_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ViewCollectionMonitor, view_collection_monitor_unref)
VALA_EXTERN ViewCollectionMonitor* view_collection_monitor_source_collection (ViewCollection* self,
                                                                  SourceCollection* sources,
                                                                  ViewManager* manager,
                                                                  Alteration* prereq,
                                                                  GeeCollection* initial,
                                                                  ProgressMonitor progress_monitor,
                                                                  gpointer progress_monitor_target);
VALA_EXTERN void view_collection_halt_monitoring (ViewCollection* self,
                                      ViewCollectionMonitor* m);
VALA_EXTERN void view_collection_halt_all_monitoring (ViewCollection* self);
VALA_EXTERN void view_collection_mirror (ViewCollection* self,
                             ViewCollection* to_mirror,
                             CreateView mirroring_ctor,
                             gpointer mirroring_ctor_target,
                             CreateViewPredicate should_mirror,
                             gpointer should_mirror_target);
VALA_EXTERN void view_collection_halt_mirroring (ViewCollection* self);
VALA_EXTERN void view_collection_copy_into (ViewCollection* self,
                                ViewCollection* to_copy,
                                CreateView copying_ctor,
                                gpointer copying_ctor_target,
                                CreateViewPredicate should_copy,
                                gpointer should_copy_target);
VALA_EXTERN gboolean view_collection_is_view_filter_installed (ViewCollection* self,
                                                   ViewFilter* f);
VALA_EXTERN void view_collection_install_view_filter (ViewCollection* self,
                                          ViewFilter* f);
VALA_EXTERN void view_collection_remove_view_filter (ViewCollection* self,
                                         ViewFilter* f);
VALA_EXTERN GeeCollection* view_collection_get_all_unfiltered (ViewCollection* self);
VALA_EXTERN gint view_collection_get_unfiltered_count (ViewCollection* self);
VALA_EXTERN DataView* view_collection_get_first (ViewCollection* self);
VALA_EXTERN DataView* view_collection_get_first_unrejected (ViewCollection* self);
VALA_EXTERN DataView* view_collection_get_last (ViewCollection* self);
VALA_EXTERN DataView* view_collection_get_next (ViewCollection* self,
                                    DataView* view);
VALA_EXTERN DataView* view_collection_get_previous (ViewCollection* self,
                                        DataView* view);
VALA_EXTERN gboolean view_collection_get_immediate_neighbors (ViewCollection* self,
                                                  DataSource* home,
                                                  DataSource** next,
                                                  DataSource** prev,
                                                  const gchar* type_selector);
VALA_EXTERN GeeSet* view_collection_get_extended_neighbors (ViewCollection* self,
                                                DataSource* home,
                                                const gchar* typename);
VALA_EXTERN void view_collection_select_marked (ViewCollection* self,
                                    Marker* marker);
VALA_EXTERN void view_collection_select_all (ViewCollection* self);
VALA_EXTERN void view_collection_unselect_marked (ViewCollection* self,
                                      Marker* marker);
VALA_EXTERN void view_collection_unselect_all (ViewCollection* self);
VALA_EXTERN void view_collection_unselect_all_but (ViewCollection* self,
                                       DataView* exception);
VALA_EXTERN void view_collection_unselect_and_select_marked (ViewCollection* self,
                                                 Marker* unselect,
                                                 Marker* select);
VALA_EXTERN void view_collection_toggle_marked (ViewCollection* self,
                                    Marker* marker);
VALA_EXTERN gint view_collection_get_selected_count (ViewCollection* self);
VALA_EXTERN GeeList* view_collection_get_selected (ViewCollection* self);
VALA_EXTERN DataView* view_collection_get_selected_at (ViewCollection* self,
                                           gint index);
VALA_EXTERN gboolean view_collection_has_view_for_source (ViewCollection* self,
                                              DataSource* source);
VALA_EXTERN DataView* view_collection_get_view_for_source (ViewCollection* self,
                                               DataSource* source);
VALA_EXTERN gboolean view_collection_has_view_for_source_with_filtered (ViewCollection* self,
                                                            DataSource* source);
VALA_EXTERN DataView* view_collection_get_view_for_source_filtered (ViewCollection* self,
                                                        DataSource* source);
VALA_EXTERN GeeCollection* view_collection_get_sources (ViewCollection* self);
VALA_EXTERN gboolean view_collection_has_source_of_type (ViewCollection* self,
                                             GType t);
VALA_EXTERN gint view_collection_get_sources_of_type_count (ViewCollection* self,
                                                GType t);
VALA_EXTERN GeeList* view_collection_get_sources_of_type (ViewCollection* self,
                                              GType t);
VALA_EXTERN GeeList* view_collection_get_selected_sources (ViewCollection* self);
VALA_EXTERN DataSource* view_collection_get_selected_source_at (ViewCollection* self,
                                                    gint index);
VALA_EXTERN GeeList* view_collection_get_selected_sources_of_type (ViewCollection* self,
                                                       GType t);
VALA_EXTERN gint view_collection_index_of_source (ViewCollection* self,
                                      DataSource* source);
VALA_EXTERN void view_collection_internal_notify_view_altered (ViewCollection* self,
                                                   DataView* view);
VALA_EXTERN void view_collection_internal_notify_geometry_altered (ViewCollection* self,
                                                       DataView* view);
VALA_EXTERN gboolean view_collection_are_items_filtered_out (ViewCollection* self);
VALA_EXTERN ViewCollectionMonitor* view_collection_monitor_new (void);
VALA_EXTERN ViewCollectionMonitor* view_collection_monitor_construct (GType object_type);
VALA_EXTERN gboolean view_filter_predicate (ViewFilter* self,
                                DataView* view);
VALA_EXTERN ViewFilter* view_filter_construct (GType object_type);
VALA_EXTERN gpointer database_table_ref (gpointer instance);
VALA_EXTERN void database_table_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_database_table (const gchar* name,
                                       const gchar* nick,
                                       const gchar* blurb,
                                       GType object_type,
                                       GParamFlags flags);
VALA_EXTERN void value_set_database_table (GValue* value,
                               gpointer v_object);
VALA_EXTERN void value_take_database_table (GValue* value,
                                gpointer v_object);
VALA_EXTERN gpointer value_get_database_table (const GValue* value);
VALA_EXTERN GType database_table_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DatabaseTable, database_table_unref)
VALA_EXTERN sqlite3* database_table_db;
VALA_EXTERN void database_table_init (const gchar* filename);
VALA_EXTERN void database_table_terminate (void);
VALA_EXTERN void database_table_fatal (const gchar* op,
                           gint res);
VALA_EXTERN void database_table_warning (const gchar* op,
                             gint res);
VALA_EXTERN void database_table_set_table_name (DatabaseTable* self,
                                    const gchar* table_name);
VALA_EXTERN void database_table_throw_error (const gchar* method,
                                 gint res,
                                 GError** error);
VALA_EXTERN sqlite3_stmt* database_table_create_stmt (DatabaseTable* self,
                                          const gchar* data);
VALA_EXTERN void database_table_bind_null (sqlite3_stmt* stmt,
                               gint column);
VALA_EXTERN void database_table_bind_text (sqlite3_stmt* stmt,
                               gint column,
                               const gchar* data);
VALA_EXTERN void database_table_bind_int (sqlite3_stmt* stmt,
                              gint column,
                              gint data);
VALA_EXTERN void database_table_bind_int64 (sqlite3_stmt* stmt,
                                gint column,
                                gint64 data);
VALA_EXTERN void database_table_bind_double (sqlite3_stmt* stmt,
                                 gint column,
                                 gdouble data);
VALA_EXTERN gboolean database_table_exists_by_id (DatabaseTable* self,
                                      gint64 id);
VALA_EXTERN gboolean database_table_select_by_id (DatabaseTable* self,
                                      gint64 id,
                                      const gchar* columns,
                                      sqlite3_stmt** stmt);
VALA_EXTERN gboolean database_table_update_text_by_id (DatabaseTable* self,
                                           gint64 id,
                                           const gchar* column,
                                           const gchar* text);
VALA_EXTERN void database_table_update_text_by_id_2 (DatabaseTable* self,
                                         gint64 id,
                                         const gchar* column,
                                         const gchar* text,
                                         GError** error);
VALA_EXTERN gboolean database_table_update_int_by_id (DatabaseTable* self,
                                          gint64 id,
                                          const gchar* column,
                                          gint value);
VALA_EXTERN void database_table_update_int_by_id_2 (DatabaseTable* self,
                                        gint64 id,
                                        const gchar* column,
                                        gint value,
                                        GError** error);
VALA_EXTERN gboolean database_table_update_int64_by_id (DatabaseTable* self,
                                            gint64 id,
                                            const gchar* column,
                                            gint64 value);
VALA_EXTERN void database_table_update_int64_by_id_2 (DatabaseTable* self,
                                          gint64 id,
                                          const gchar* column,
                                          gint64 value,
                                          GError** error);
VALA_EXTERN void database_table_delete_by_id (DatabaseTable* self,
                                  gint64 id,
                                  GError** error);
VALA_EXTERN gboolean database_table_has_column (const gchar* table_name,
                                    const gchar* column_name);
VALA_EXTERN gboolean database_table_has_table (const gchar* table_name);
VALA_EXTERN gboolean database_table_add_column (const gchar* table_name,
                                    const gchar* column_name,
                                    const gchar* column_constraints);
VALA_EXTERN gboolean database_table_ensure_column (const gchar* table_name,
                                       const gchar* column_name,
                                       const gchar* column_constraints,
                                       const gchar* upgrade_msg);
VALA_EXTERN gint database_table_get_row_count (DatabaseTable* self);
VALA_EXTERN void database_table_begin_transaction (void);
VALA_EXTERN void database_table_commit_transaction (GError** error);
VALA_EXTERN DatabaseTable* database_table_construct (GType object_type);
VALA_EXTERN void db_preconfigure (GFile* db_file);
VALA_EXTERN void db_init (GError** error);
VALA_EXTERN void db_terminate (void);
VALA_EXTERN GType db_verify_result_get_type (void) G_GNUC_CONST ;
VALA_EXTERN DbVerifyResult db_verify_database (gchar** app_version,
                                   gint* schema_version);
VALA_EXTERN void event_id_init (EventID *self,
                    gint64 id);
VALA_EXTERN gboolean event_id_is_invalid (EventID *self);
VALA_EXTERN gboolean event_id_is_valid (EventID *self);
VALA_EXTERN gpointer event_row_ref (gpointer instance);
VALA_EXTERN void event_row_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_event_row (const gchar* name,
                                  const gchar* nick,
                                  const gchar* blurb,
                                  GType object_type,
                                  GParamFlags flags);
VALA_EXTERN void value_set_event_row (GValue* value,
                          gpointer v_object);
VALA_EXTERN void value_take_event_row (GValue* value,
                           gpointer v_object);
VALA_EXTERN gpointer value_get_event_row (const GValue* value);
VALA_EXTERN GType event_row_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EventRow, event_row_unref)
VALA_EXTERN EventRow* event_row_new (void);
VALA_EXTERN EventRow* event_row_construct (GType object_type);
VALA_EXTERN GType event_table_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EventTable, database_table_unref)
VALA_EXTERN EventTable* event_table_get_instance (void);
VALA_EXTERN EventRow* event_table_create (EventTable* self,
                              const gchar* primary_source_id,
                              const gchar* comment,
                              GError** error);
VALA_EXTERN void event_table_create_from_row (EventTable* self,
                                  EventRow* row,
                                  EventID* result);
VALA_EXTERN EventRow* event_table_get_row (EventTable* self,
                               EventID* event_id);
VALA_EXTERN void event_table_remove (EventTable* self,
                         EventID* event_id,
                         GError** error);
VALA_EXTERN GeeArrayList* event_table_get_events (EventTable* self);
VALA_EXTERN gboolean event_table_rename (EventTable* self,
                             EventID* event_id,
                             const gchar* name);
VALA_EXTERN gchar* event_table_get_name (EventTable* self,
                             EventID* event_id);
VALA_EXTERN gchar* event_table_get_primary_source_id (EventTable* self,
                                          EventID* event_id);
VALA_EXTERN gboolean event_table_set_primary_source_id (EventTable* self,
                                            EventID* event_id,
                                            const gchar* primary_source_id);
VALA_EXTERN gint64 event_table_get_time_created (EventTable* self,
                                     EventID* event_id);
VALA_EXTERN gboolean event_table_set_comment (EventTable* self,
                                  EventID* event_id,
                                  const gchar* new_comment);
VALA_EXTERN void photo_id_init (PhotoID *self,
                    gint64 id);
VALA_EXTERN gboolean photo_id_is_invalid (PhotoID *self);
VALA_EXTERN gboolean photo_id_is_valid (PhotoID *self);
VALA_EXTERN guint photo_id_hash (PhotoID *self);
VALA_EXTERN gboolean photo_id_equal (void* a,
                         void* b);
VALA_EXTERN gchar* photo_id_upgrade_photo_id_to_source_id (PhotoID* photo_id);
VALA_EXTERN void import_id_init (ImportID *self,
                     gint64 id);
VALA_EXTERN void import_id_generate (ImportID* result);
VALA_EXTERN gboolean import_id_is_invalid (ImportID *self);
VALA_EXTERN gboolean import_id_is_valid (ImportID *self);
VALA_EXTERN gint import_id_compare_func (ImportID* a,
                             ImportID* b);
VALA_EXTERN gint64 import_id_comparator (void* a,
                             void* b);
VALA_EXTERN PhotoRow* photo_row_new (void);
VALA_EXTERN PhotoRow* photo_row_construct (GType object_type);
VALA_EXTERN GType photo_table_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PhotoTable, database_table_unref)
VALA_EXTERN PhotoTable* photo_table_get_instance (void);
VALA_EXTERN void photo_table_add (PhotoTable* self,
                      PhotoRow* photo_row,
                      PhotoID* result);
VALA_EXTERN void photo_table_reimport (PhotoTable* self,
                           PhotoRow* row,
                           GError** error);
VALA_EXTERN gboolean photo_table_master_exif_updated (PhotoTable* self,
                                          PhotoID* photo_id,
                                          gint64 filesize,
                                          gint64 timestamp,
                                          const gchar* md5,
                                          const gchar* exif_md5,
                                          const gchar* thumbnail_md5,
                                          PhotoRow* row);
VALA_EXTERN PhotoRow* photo_table_get_row (PhotoTable* self,
                               PhotoID* photo_id);
VALA_EXTERN GeeArrayList* photo_table_get_all (PhotoTable* self);
VALA_EXTERN void photo_table_duplicate (PhotoTable* self,
                            PhotoID* photo_id,
                            const gchar* new_filename,
                            BackingPhotoID* editable_id,
                            BackingPhotoID* develop_shotwell,
                            BackingPhotoID* develop_camera_id,
                            BackingPhotoID* develop_embedded_id,
                            PhotoID* result);
VALA_EXTERN gboolean photo_table_set_title (PhotoTable* self,
                                PhotoID* photo_id,
                                const gchar* new_title);
VALA_EXTERN gboolean photo_table_set_comment (PhotoTable* self,
                                  PhotoID* photo_id,
                                  const gchar* new_comment);
VALA_EXTERN void photo_table_set_filepath (PhotoTable* self,
                               PhotoID* photo_id,
                               const gchar* filepath,
                               GError** error);
VALA_EXTERN void photo_table_update_timestamp (PhotoTable* self,
                                   PhotoID* photo_id,
                                   gint64 timestamp,
                                   GError** error);
VALA_EXTERN gboolean photo_table_set_exposure_time (PhotoTable* self,
                                        PhotoID* photo_id,
                                        gint64 time);
VALA_EXTERN void photo_table_set_import_id (PhotoTable* self,
                                PhotoID* photo_id,
                                ImportID* import_id,
                                GError** error);
VALA_EXTERN gboolean photo_table_remove_by_file (PhotoTable* self,
                                     GFile* file);
VALA_EXTERN void photo_table_remove (PhotoTable* self,
                         PhotoID* photo_id,
                         GError** error);
VALA_EXTERN GeeArrayList* photo_table_get_photos (PhotoTable* self);
VALA_EXTERN gboolean photo_table_set_orientation (PhotoTable* self,
                                      PhotoID* photo_id,
                                      Orientation orientation);
VALA_EXTERN gboolean photo_table_replace_flags (PhotoTable* self,
                                    PhotoID* photo_id,
                                    guint64 flags);
VALA_EXTERN gint photo_table_get_event_photo_count (PhotoTable* self,
                                        EventID* event_id);
VALA_EXTERN GeeArrayList* photo_table_get_event_source_ids (PhotoTable* self,
                                                EventID* event_id);
VALA_EXTERN gboolean photo_table_event_has_photos (PhotoTable* self,
                                       EventID* event_id);
VALA_EXTERN gboolean photo_table_drop_event (PhotoTable* self,
                                 EventID* event_id);
VALA_EXTERN gboolean photo_table_set_event (PhotoTable* self,
                                PhotoID* photo_id,
                                EventID* event_id);
VALA_EXTERN gboolean photo_table_set_transformation_state (PhotoTable* self,
                                               PhotoID* photo_id,
                                               Orientation orientation,
                                               GeeHashMap* transformations,
                                               GeeHashMap* original_transforms,
                                               gboolean enhanced);
VALA_EXTERN GeeHashMap* photo_table_marshall_all_transformations (const gchar* trans);
VALA_EXTERN gchar* photo_table_unmarshall_all_transformations (GeeHashMap* transformations);
VALA_EXTERN gboolean photo_table_set_transformation (PhotoTable* self,
                                         PhotoID* photo_id,
                                         KeyValueMap* map);
VALA_EXTERN gboolean photo_table_set_original_transforms (PhotoTable* self,
                                              PhotoID* photo_id,
                                              KeyValueMap* map);
VALA_EXTERN gboolean photo_table_remove_transformation (PhotoTable* self,
                                            PhotoID* photo_id,
                                            const gchar* object);
VALA_EXTERN gboolean photo_table_remove_all_transformations (PhotoTable* self,
                                                 PhotoID* photo_id);
VALA_EXTERN gboolean photo_table_has_duplicate (PhotoTable* self,
                                    GFile* file,
                                    const gchar* thumbnail_md5,
                                    const gchar* md5,
                                    PhotoFileFormat file_format);
VALA_EXTERN PhotoID* photo_table_get_duplicate_ids (PhotoTable* self,
                                        GFile* file,
                                        const gchar* thumbnail_md5,
                                        const gchar* md5,
                                        PhotoFileFormat file_format,
                                        gint* result_length1);
VALA_EXTERN void photo_table_update_backlinks (PhotoTable* self,
                                   PhotoID* photo_id,
                                   const gchar* backlinks,
                                   GError** error);
VALA_EXTERN void photo_table_attach_editable (PhotoTable* self,
                                  PhotoRow* row,
                                  BackingPhotoID* editable_id,
                                  GError** error);
VALA_EXTERN void photo_table_detach_editable (PhotoTable* self,
                                  PhotoRow* row,
                                  GError** error);
VALA_EXTERN void photo_table_set_metadata_dirty (PhotoTable* self,
                                     PhotoID* photo_id,
                                     gboolean dirty,
                                     GError** error);
VALA_EXTERN gboolean photo_table_set_enhanced (PhotoTable* self,
                                   PhotoID* photo_id,
                                   gboolean enhanced);
VALA_EXTERN void photo_table_update_raw_development (PhotoTable* self,
                                         PhotoRow* row,
                                         RawDeveloper rd,
                                         BackingPhotoID* backing_photo_id,
                                         GError** error);
VALA_EXTERN void photo_table_remove_development (PhotoTable* self,
                                     PhotoRow* row,
                                     RawDeveloper rd,
                                     GError** error);
VALA_EXTERN void backing_photo_id_init (BackingPhotoID *self,
                            gint64 id);
VALA_EXTERN gboolean backing_photo_id_is_invalid (BackingPhotoID *self);
VALA_EXTERN gboolean backing_photo_id_is_valid (BackingPhotoID *self);
VALA_EXTERN gboolean backing_photo_row_matches_file_info (BackingPhotoRow* self,
                                              GFileInfo* info);
VALA_EXTERN gboolean backing_photo_row_is_touched (BackingPhotoRow* self,
                                       GFileInfo* info);
VALA_EXTERN void backing_photo_row_copy_from (BackingPhotoRow* self,
                                  BackingPhotoRow* from);
VALA_EXTERN BackingPhotoRow* backing_photo_row_new (void);
VALA_EXTERN BackingPhotoRow* backing_photo_row_construct (GType object_type);
VALA_EXTERN GType backing_photo_table_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (BackingPhotoTable, database_table_unref)
VALA_EXTERN BackingPhotoTable* backing_photo_table_get_instance (void);
VALA_EXTERN void backing_photo_table_add (BackingPhotoTable* self,
                              BackingPhotoRow* state,
                              GError** error);
VALA_EXTERN BackingPhotoRow* backing_photo_table_fetch (BackingPhotoTable* self,
                                            BackingPhotoID* id,
                                            GError** error);
VALA_EXTERN void backing_photo_table_update (BackingPhotoTable* self,
                                 BackingPhotoRow* row,
                                 GError** error);
VALA_EXTERN void backing_photo_table_update_attributes (BackingPhotoTable* self,
                                            BackingPhotoID* id,
                                            gint64 timestamp,
                                            gint64 filesize,
                                            GError** error);
VALA_EXTERN void backing_photo_table_remove (BackingPhotoTable* self,
                                 BackingPhotoID* backing_id,
                                 GError** error);
VALA_EXTERN void backing_photo_table_set_filepath (BackingPhotoTable* self,
                                       BackingPhotoID* id,
                                       const gchar* filepath,
                                       GError** error);
VALA_EXTERN void backing_photo_table_update_timestamp (BackingPhotoTable* self,
                                           BackingPhotoID* id,
                                           gint64 timestamp,
                                           GError** error);
VALA_EXTERN GType saved_search_id_get_type (void) G_GNUC_CONST ;
VALA_EXTERN SavedSearchID* saved_search_id_dup (const SavedSearchID* self);
VALA_EXTERN void saved_search_id_free (SavedSearchID* self);
VALA_EXTERN void saved_search_id_init (SavedSearchID *self,
                           gint64 id);
VALA_EXTERN gboolean saved_search_id_is_invalid (SavedSearchID *self);
VALA_EXTERN gboolean saved_search_id_is_valid (SavedSearchID *self);
VALA_EXTERN gpointer saved_search_row_ref (gpointer instance);
VALA_EXTERN void saved_search_row_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_saved_search_row (const gchar* name,
                                         const gchar* nick,
                                         const gchar* blurb,
                                         GType object_type,
                                         GParamFlags flags);
VALA_EXTERN void value_set_saved_search_row (GValue* value,
                                 gpointer v_object);
VALA_EXTERN void value_take_saved_search_row (GValue* value,
                                  gpointer v_object);
VALA_EXTERN gpointer value_get_saved_search_row (const GValue* value);
VALA_EXTERN GType saved_search_row_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SavedSearchRow, saved_search_row_unref)
VALA_EXTERN GType search_operator_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gpointer search_condition_ref (gpointer instance);
VALA_EXTERN void search_condition_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_search_condition (const gchar* name,
                                         const gchar* nick,
                                         const gchar* blurb,
                                         GType object_type,
                                         GParamFlags flags);
VALA_EXTERN void value_set_search_condition (GValue* value,
                                 gpointer v_object);
VALA_EXTERN void value_take_search_condition (GValue* value,
                                  gpointer v_object);
VALA_EXTERN gpointer value_get_search_condition (const GValue* value);
VALA_EXTERN GType search_condition_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SearchCondition, search_condition_unref)
VALA_EXTERN SavedSearchRow* saved_search_row_new (void);
VALA_EXTERN SavedSearchRow* saved_search_row_construct (GType object_type);
VALA_EXTERN GType saved_search_db_table_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SavedSearchDBTable, database_table_unref)
VALA_EXTERN SavedSearchDBTable* saved_search_db_table_get_instance (void);
VALA_EXTERN SavedSearchRow* saved_search_db_table_add (SavedSearchDBTable* self,
                                           const gchar* name,
                                           SearchOperator operator,
                                           GeeArrayList* conditions,
                                           GError** error);
VALA_EXTERN void saved_search_db_table_create_from_row (SavedSearchDBTable* self,
                                            SavedSearchRow* row,
                                            SavedSearchID* result,
                                            GError** error);
VALA_EXTERN void saved_search_db_table_remove (SavedSearchDBTable* self,
                                   SavedSearchID* search_id,
                                   GError** error);
VALA_EXTERN SavedSearchRow* saved_search_db_table_get_row (SavedSearchDBTable* self,
                                               SavedSearchID* search_id,
                                               GError** error);
VALA_EXTERN GeeList* saved_search_db_table_get_all_rows (SavedSearchDBTable* self,
                                             GError** error);
VALA_EXTERN void saved_search_db_table_rename (SavedSearchDBTable* self,
                                   SavedSearchID* search_id,
                                   const gchar* new_name,
                                   GError** error);
VALA_EXTERN void tag_id_init (TagID *self,
                  gint64 id);
VALA_EXTERN gboolean tag_id_is_invalid (TagID *self);
VALA_EXTERN gboolean tag_id_is_valid (TagID *self);
VALA_EXTERN TagRow* tag_row_new (void);
VALA_EXTERN TagRow* tag_row_construct (GType object_type);
VALA_EXTERN GType tag_table_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TagTable, database_table_unref)
VALA_EXTERN TagTable* tag_table_get_instance (void);
VALA_EXTERN void tag_table_upgrade_for_htags (void);
VALA_EXTERN TagRow* tag_table_add (TagTable* self,
                       const gchar* name,
                       GError** error);
VALA_EXTERN void tag_table_create_from_row (TagTable* self,
                                TagRow* row,
                                TagID* result,
                                GError** error);
VALA_EXTERN void tag_table_remove (TagTable* self,
                       TagID* tag_id,
                       GError** error);
VALA_EXTERN gchar* tag_table_get_name (TagTable* self,
                           TagID* tag_id,
                           GError** error);
VALA_EXTERN TagRow* tag_table_get_row (TagTable* self,
                           TagID* tag_id,
                           GError** error);
VALA_EXTERN GeeList* tag_table_get_all_rows (TagTable* self,
                                 GError** error);
VALA_EXTERN void tag_table_rename (TagTable* self,
                       TagID* tag_id,
                       const gchar* new_name,
                       GError** error);
VALA_EXTERN void tag_table_set_tagged_sources (TagTable* self,
                                   TagID* tag_id,
                                   GeeCollection* source_ids,
                                   GError** error);
VALA_EXTERN void tombstone_id_init (TombstoneID *self,
                        gint64 id);
VALA_EXTERN gboolean tombstone_id_is_invalid (TombstoneID *self);
VALA_EXTERN gboolean tombstone_id_is_valid (TombstoneID *self);
VALA_EXTERN gpointer tombstone_row_ref (gpointer instance);
VALA_EXTERN void tombstone_row_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_tombstone_row (const gchar* name,
                                      const gchar* nick,
                                      const gchar* blurb,
                                      GType object_type,
                                      GParamFlags flags);
VALA_EXTERN void value_set_tombstone_row (GValue* value,
                              gpointer v_object);
VALA_EXTERN void value_take_tombstone_row (GValue* value,
                               gpointer v_object);
VALA_EXTERN gpointer value_get_tombstone_row (const GValue* value);
VALA_EXTERN GType tombstone_row_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TombstoneRow, tombstone_row_unref)
VALA_EXTERN TombstoneRow* tombstone_row_new (void);
VALA_EXTERN TombstoneRow* tombstone_row_construct (GType object_type);
VALA_EXTERN GType tombstone_table_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TombstoneTable, database_table_unref)
VALA_EXTERN TombstoneTable* tombstone_table_get_instance (void);
VALA_EXTERN TombstoneRow* tombstone_table_add (TombstoneTable* self,
                                   const gchar* filepath,
                                   gint64 filesize,
                                   const gchar* md5,
                                   TombstoneReason reason,
                                   GError** error);
VALA_EXTERN TombstoneRow** tombstone_table_fetch_all (TombstoneTable* self,
                                          gint* result_length1,
                                          GError** error);
VALA_EXTERN void tombstone_table_update_file (TombstoneTable* self,
                                  TombstoneID* tombstone_id,
                                  const gchar* filepath,
                                  GError** error);
VALA_EXTERN void tombstone_table_remove (TombstoneTable* self,
                             TombstoneID* tombstone_id,
                             GError** error);
VALA_EXTERN GType version_table_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (VersionTable, database_table_unref)
VALA_EXTERN VersionTable* version_table_get_instance (void);
VALA_EXTERN gint version_table_get_version (VersionTable* self,
                                gchar** app_version);
VALA_EXTERN void version_table_set_version (VersionTable* self,
                                gint version,
                                const gchar* app_version,
                                const gchar* user_data);
VALA_EXTERN void version_table_update_version (VersionTable* self,
                                   gint version,
                                   const gchar* app_version);
VALA_EXTERN void video_id_init (VideoID *self,
                    gint64 id);
VALA_EXTERN gboolean video_id_is_invalid (VideoID *self);
VALA_EXTERN gboolean video_id_is_valid (VideoID *self);
VALA_EXTERN guint video_id_hash (VideoID* a);
VALA_EXTERN gboolean video_id_equal (void* a,
                         void* b);
VALA_EXTERN gchar* video_id_upgrade_video_id_to_source_id (VideoID* video_id);
VALA_EXTERN VideoRow* video_row_new (void);
VALA_EXTERN VideoRow* video_row_construct (GType object_type);
VALA_EXTERN GType video_table_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (VideoTable, database_table_unref)
VALA_EXTERN VideoTable* video_table_get_instance (void);
VALA_EXTERN void video_table_add (VideoTable* self,
                      VideoRow* video_row,
                      VideoID* result,
                      GError** error);
VALA_EXTERN gboolean video_table_drop_event (VideoTable* self,
                                 EventID* event_id);
VALA_EXTERN VideoRow* video_table_get_row (VideoTable* self,
                               VideoID* video_id);
VALA_EXTERN GeeArrayList* video_table_get_all (VideoTable* self);
VALA_EXTERN void video_table_set_filepath (VideoTable* self,
                               VideoID* video_id,
                               const gchar* filepath,
                               GError** error);
VALA_EXTERN void video_table_set_title (VideoTable* self,
                            VideoID* video_id,
                            const gchar* new_title,
                            GError** error);
VALA_EXTERN void video_table_set_comment (VideoTable* self,
                              VideoID* video_id,
                              const gchar* new_comment,
                              GError** error);
VALA_EXTERN void video_table_set_exposure_time (VideoTable* self,
                                    VideoID* video_id,
                                    gint64 time,
                                    GError** error);
VALA_EXTERN void video_table_set_flags (VideoTable* self,
                            VideoID* video_id,
                            guint64 flags,
                            GError** error);
VALA_EXTERN void video_table_update_backlinks (VideoTable* self,
                                   VideoID* video_id,
                                   const gchar* backlinks,
                                   GError** error);
VALA_EXTERN void video_table_update_is_interpretable (VideoTable* self,
                                          VideoID* video_id,
                                          gboolean is_interpretable,
                                          GError** error);
VALA_EXTERN gboolean video_table_set_event (VideoTable* self,
                                VideoID* video_id,
                                EventID* event_id);
VALA_EXTERN void video_table_remove_by_file (VideoTable* self,
                                 GFile* file,
                                 GError** error);
VALA_EXTERN void video_table_remove (VideoTable* self,
                         VideoID* video_id,
                         GError** error);
VALA_EXTERN gboolean video_table_is_video_stored (VideoTable* self,
                                      GFile* file);
VALA_EXTERN void video_table_get_id (VideoTable* self,
                         GFile* file,
                         VideoID* result);
VALA_EXTERN GeeArrayList* video_table_get_videos (VideoTable* self,
                                      GError** error);
VALA_EXTERN gboolean video_table_has_duplicate (VideoTable* self,
                                    GFile* file,
                                    const gchar* md5);
VALA_EXTERN VideoID* video_table_get_duplicate_ids (VideoTable* self,
                                        GFile* file,
                                        const gchar* md5,
                                        gint* result_length1);
VALA_EXTERN GeeArrayList* video_table_get_event_source_ids (VideoTable* self,
                                                EventID* event_id);
VALA_EXTERN void video_table_set_timestamp (VideoTable* self,
                                VideoID* video_id,
                                gint64 timestamp,
                                GError** error);
VALA_EXTERN GType direct_photo_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DirectPhoto, g_object_unref)
VALA_EXTERN GType direct_photo_source_collection_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DirectPhotoSourceCollection, data_collection_unref)
VALA_EXTERN DirectPhotoSourceCollection* direct_photo_global;
VALA_EXTERN void direct_photo_fixup_orientation_after_reimport (DirectPhoto* self,
                                                    Orientation dest);
VALA_EXTERN void direct_photo_init (GFile* initial_file);
VALA_EXTERN void direct_photo_terminate (void);
VALA_EXTERN ImportResult direct_photo_demand_load (DirectPhoto* self);
VALA_EXTERN ImportResult direct_photo_internal_import (GFile* file,
                                           DirectPhoto** photo);
VALA_EXTERN DirectPhotoSourceCollection* direct_photo_source_collection_new (GFile* initial_file);
VALA_EXTERN DirectPhotoSourceCollection* direct_photo_source_collection_construct (GType object_type,
                                                                       GFile* initial_file);
VALA_EXTERN gboolean direct_photo_source_collection_has_source_for_file (DirectPhotoSourceCollection* self,
                                                             GFile* file);
VALA_EXTERN gboolean direct_photo_source_collection_has_file (DirectPhotoSourceCollection* self,
                                                  GFile* file);
VALA_EXTERN void direct_photo_source_collection_reimport_photo (DirectPhotoSourceCollection* self,
                                                    DirectPhoto* photo);
VALA_EXTERN gchar* direct_photo_source_collection_fetch (DirectPhotoSourceCollection* self,
                                             GFile* file,
                                             DirectPhoto** photo,
                                             gboolean reimport);
VALA_EXTERN gboolean direct_photo_source_collection_has_file_source (DirectPhotoSourceCollection* self,
                                                         GFile* file);
VALA_EXTERN DirectPhoto* direct_photo_source_collection_get_file_source (DirectPhotoSourceCollection* self,
                                                             GFile* file);
VALA_EXTERN void direct_preconfigure (GFile* initial_file);
VALA_EXTERN void direct_app_init (GError** error);
VALA_EXTERN void direct_app_terminate (void);
VALA_EXTERN GType direct_view_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DirectView, g_object_unref)
VALA_EXTERN DirectView* direct_view_new (DirectPhoto* source);
VALA_EXTERN DirectView* direct_view_construct (GType object_type,
                                   DirectPhoto* source);
VALA_EXTERN GFile* direct_view_get_file (DirectView* self);
VALA_EXTERN gchar* direct_view_get_collate_key (DirectView* self);
VALA_EXTERN GType direct_window_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DirectWindow, g_object_unref)
VALA_EXTERN DirectWindow* direct_window_new (GFile* file);
VALA_EXTERN DirectWindow* direct_window_construct (GType object_type,
                                       GFile* file);
VALA_EXTERN DirectWindow* direct_window_get_app (void);
VALA_EXTERN GType editing_host_page_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EditingHostPage, g_object_unref)
VALA_EXTERN GType direct_photo_page_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DirectPhotoPage, g_object_unref)
VALA_EXTERN DirectPhotoPage* direct_window_get_direct_page (DirectWindow* self);
VALA_EXTERN void direct_window_update_title (DirectWindow* self,
                                 GFile* file,
                                 gboolean modified);
VALA_EXTERN GType editing_tools_editing_tool_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EditingToolsEditingTool, g_object_unref)
VALA_EXTERN GType editing_tools_photo_canvas_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EditingToolsPhotoCanvas, g_object_unref)
VALA_EXTERN GType editing_tools_editing_tool_window_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EditingToolsEditingToolWindow, g_object_unref)
VALA_EXTERN GType editing_tools_adjust_tool_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EditingToolsAdjustTool, g_object_unref)
VALA_EXTERN EditingToolsAdjustTool* editing_tools_adjust_tool_factory (void);
VALA_EXTERN gboolean editing_tools_adjust_tool_is_available (Photo* photo,
                                                 Scaling* scaling);
VALA_EXTERN gboolean editing_tools_adjust_tool_enhance (EditingToolsAdjustTool* self);
VALA_EXTERN GType editing_tools_crop_tool_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EditingToolsCropTool, g_object_unref)
VALA_EXTERN EditingToolsCropTool* editing_tools_crop_tool_factory (void);
VALA_EXTERN gboolean editing_tools_crop_tool_is_available (Photo* photo,
                                               Scaling* scaling);
VALA_EXTERN EditingToolsEditingTool* editing_tools_editing_tool_construct (GType object_type,
                                                               const gchar* name);
VALA_EXTERN void editing_tools_editing_tool_activate (EditingToolsEditingTool* self,
                                          EditingToolsPhotoCanvas* canvas);
VALA_EXTERN void editing_tools_editing_tool_deactivate (EditingToolsEditingTool* self);
VALA_EXTERN gboolean editing_tools_editing_tool_is_activated (EditingToolsEditingTool* self);
VALA_EXTERN EditingToolsEditingToolWindow* editing_tools_editing_tool_get_tool_window (EditingToolsEditingTool* self);
VALA_EXTERN GdkPixbuf* editing_tools_editing_tool_get_display_pixbuf (EditingToolsEditingTool* self,
                                                          Scaling* scaling,
                                                          Photo* photo,
                                                          Dimensions* max_dim,
                                                          GError** error);
VALA_EXTERN void editing_tools_editing_tool_on_left_click (EditingToolsEditingTool* self,
                                               gint x,
                                               gint y);
VALA_EXTERN void editing_tools_editing_tool_on_left_released (EditingToolsEditingTool* self,
                                                  gint x,
                                                  gint y);
VALA_EXTERN void editing_tools_editing_tool_on_motion (EditingToolsEditingTool* self,
                                           gint x,
                                           gint y,
                                           GdkModifierType mask);
VALA_EXTERN gboolean editing_tools_editing_tool_on_leave_notify_event (EditingToolsEditingTool* self);
VALA_EXTERN gboolean editing_tools_editing_tool_on_keypress (EditingToolsEditingTool* self,
                                                 GdkEventKey* event);
VALA_EXTERN void editing_tools_editing_tool_paint (EditingToolsEditingTool* self,
                                       cairo_t* ctx);
VALA_EXTERN void editing_tools_editing_tool_notify_cancel (EditingToolsEditingTool* self);
VALA_EXTERN const gchar* editing_tools_editing_tool_get_name (EditingToolsEditingTool* self);
VALA_EXTERN EditingToolsEditingToolWindow* editing_tools_editing_tool_window_construct (GType object_type,
                                                                            GtkWindow* container);
VALA_EXTERN GtkGrid* editing_tools_editing_tool_window_get_content_area (EditingToolsEditingToolWindow* self);
VALA_EXTERN EditingToolsPhotoCanvas* editing_tools_photo_canvas_construct (GType object_type,
                                                               GtkWindow* container,
                                                               GdkWindow* drawing_window,
                                                               Photo* photo,
                                                               cairo_t* default_ctx,
                                                               Dimensions* surface_dim,
                                                               GdkPixbuf* scaled_pixbuf,
                                                               GdkRectangle* scaled_position);
VALA_EXTERN void editing_tools_photo_canvas_unscaled_to_raw_rect (EditingToolsPhotoCanvas* self,
                                                      GdkRectangle* rectangle,
                                                      GdkRectangle* result);
VALA_EXTERN void editing_tools_photo_canvas_active_to_unscaled_rect (EditingToolsPhotoCanvas* self,
                                                         GdkRectangle* active_rect,
                                                         GdkRectangle* result);
VALA_EXTERN void editing_tools_photo_canvas_user_to_active_point (EditingToolsPhotoCanvas* self,
                                                      GdkPoint* user_point,
                                                      GdkPoint* result);
VALA_EXTERN void editing_tools_photo_canvas_user_to_active_rect (EditingToolsPhotoCanvas* self,
                                                     GdkRectangle* user_rect,
                                                     GdkRectangle* result);
VALA_EXTERN void editing_tools_photo_canvas_get_scaling (EditingToolsPhotoCanvas* self,
                                             Scaling* result);
VALA_EXTERN void editing_tools_photo_canvas_set_surface (EditingToolsPhotoCanvas* self,
                                             cairo_t* default_ctx,
                                             Dimensions* surface_dim);
VALA_EXTERN void editing_tools_photo_canvas_resized_pixbuf (EditingToolsPhotoCanvas* self,
                                                Dimensions* old_dim,
                                                GdkPixbuf* scaled,
                                                GdkRectangle* scaled_position);
VALA_EXTERN void editing_tools_photo_canvas_repaint (EditingToolsPhotoCanvas* self);
VALA_EXTERN void editing_tools_photo_canvas_paint_pixbuf (EditingToolsPhotoCanvas* self,
                                              GdkPixbuf* pixbuf);
VALA_EXTERN void editing_tools_photo_canvas_paint_surface (EditingToolsPhotoCanvas* self,
                                               cairo_surface_t* surface,
                                               gboolean over);
VALA_EXTERN void editing_tools_photo_canvas_paint_surface_area (EditingToolsPhotoCanvas* self,
                                                    cairo_surface_t* surface,
                                                    Box* source_area,
                                                    gboolean over);
VALA_EXTERN void editing_tools_photo_canvas_draw_box (EditingToolsPhotoCanvas* self,
                                          cairo_t* ctx,
                                          Box* box);
VALA_EXTERN void editing_tools_photo_canvas_draw_text (EditingToolsPhotoCanvas* self,
                                           cairo_t* ctx,
                                           const gchar* text,
                                           gint x,
                                           gint y,
                                           gboolean use_scaled_pos);
VALA_EXTERN void editing_tools_photo_canvas_draw_horizontal_line (EditingToolsPhotoCanvas* self,
                                                      cairo_t* ctx,
                                                      gint x,
                                                      gint y,
                                                      gint width,
                                                      gboolean use_scaled_pos);
VALA_EXTERN void editing_tools_photo_canvas_draw_vertical_line (EditingToolsPhotoCanvas* self,
                                                    cairo_t* ctx,
                                                    gint x,
                                                    gint y,
                                                    gint height,
                                                    gboolean use_scaled_pos);
VALA_EXTERN void editing_tools_photo_canvas_draw_circle (EditingToolsPhotoCanvas* self,
                                             cairo_t* ctx,
                                             gint active_center_x,
                                             gint active_center_y,
                                             gint radius);
VALA_EXTERN void editing_tools_photo_canvas_invalidate_area (EditingToolsPhotoCanvas* self,
                                                 Box* area);
VALA_EXTERN GtkStyleContext* editing_tools_photo_canvas_get_style_context (EditingToolsPhotoCanvas* self);
VALA_EXTERN cairo_t* editing_tools_photo_canvas_get_default_ctx (EditingToolsPhotoCanvas* self);
VALA_EXTERN void editing_tools_photo_canvas_set_default_ctx (EditingToolsPhotoCanvas* self,
                                                 cairo_t* value);
VALA_EXTERN void editing_tools_photo_canvas_get_surface_dim (EditingToolsPhotoCanvas* self,
                                                 Dimensions * result);
VALA_EXTERN void editing_tools_photo_canvas_set_surface_dim (EditingToolsPhotoCanvas* self,
                                                 Dimensions * value);
VALA_EXTERN GdkPixbuf* editing_tools_photo_canvas_get_scaled_pixbuf (EditingToolsPhotoCanvas* self);
VALA_EXTERN void editing_tools_photo_canvas_set_scaled_pixbuf (EditingToolsPhotoCanvas* self,
                                                   GdkPixbuf* value);
VALA_EXTERN void editing_tools_photo_canvas_get_scaled_position (EditingToolsPhotoCanvas* self,
                                                     GdkRectangle * result);
VALA_EXTERN void editing_tools_photo_canvas_set_scaled_position (EditingToolsPhotoCanvas* self,
                                                     GdkRectangle * value);
VALA_EXTERN GdkWindow* editing_tools_photo_canvas_get_drawing_window (EditingToolsPhotoCanvas* self);
VALA_EXTERN GtkWindow* editing_tools_photo_canvas_get_container (EditingToolsPhotoCanvas* self);
VALA_EXTERN Photo* editing_tools_photo_canvas_get_photo (EditingToolsPhotoCanvas* self);
VALA_EXTERN void editing_tools_redeye_instance_to_bounds_rect (EditingToolsRedeyeInstance* inst,
                                                   GdkRectangle* result);
VALA_EXTERN void editing_tools_redeye_instance_from_bounds_rect (GdkRectangle* rect,
                                                     EditingToolsRedeyeInstance* result);
VALA_EXTERN GType editing_tools_redeye_tool_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EditingToolsRedeyeTool, g_object_unref)
VALA_EXTERN EditingToolsRedeyeTool* editing_tools_redeye_tool_factory (void);
VALA_EXTERN gboolean editing_tools_redeye_tool_is_available (Photo* photo,
                                                 Scaling* scaling);
VALA_EXTERN GType editing_tools_straighten_tool_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EditingToolsStraightenTool, g_object_unref)
VALA_EXTERN EditingToolsStraightenTool* editing_tools_straighten_tool_factory (void);
VALA_EXTERN gboolean editing_tools_straighten_tool_is_available (Photo* photo,
                                                     Scaling* scaling);
VALA_EXTERN GType events_branch_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EventsBranch, g_object_unref)
VALA_EXTERN EventsBranch* events_branch_new (void);
VALA_EXTERN EventsBranch* events_branch_construct (GType object_type);
VALA_EXTERN GType events_directory_entry_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EventsDirectoryEntry, g_object_unref)
VALA_EXTERN GType events_master_directory_entry_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EventsMasterDirectoryEntry, g_object_unref)
VALA_EXTERN EventsMasterDirectoryEntry* events_branch_get_master_entry (EventsBranch* self);
VALA_EXTERN GType events_event_entry_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EventsEventEntry, g_object_unref)
VALA_EXTERN EventsEventEntry* events_branch_get_entry_for_event (EventsBranch* self,
                                                     Event* event);
VALA_EXTERN EventsDirectoryEntry* events_directory_entry_construct (GType object_type);
VALA_EXTERN GIcon* events_directory_entry_get_sidebar_open_icon (EventsDirectoryEntry* self);
VALA_EXTERN GIcon* events_directory_entry_get_sidebar_closed_icon (EventsDirectoryEntry* self);
VALA_EXTERN EventsMasterDirectoryEntry* events_master_directory_entry_new (void);
VALA_EXTERN EventsMasterDirectoryEntry* events_master_directory_entry_construct (GType object_type);
VALA_EXTERN GType events_year_directory_entry_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EventsYearDirectoryEntry, g_object_unref)
VALA_EXTERN EventsYearDirectoryEntry* events_year_directory_entry_new (const gchar* name,
                                                           GDateTime* tm);
VALA_EXTERN EventsYearDirectoryEntry* events_year_directory_entry_construct (GType object_type,
                                                                 const gchar* name,
                                                                 GDateTime* tm);
VALA_EXTERN gint events_year_directory_entry_get_year (EventsYearDirectoryEntry* self);
VALA_EXTERN GType events_month_directory_entry_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EventsMonthDirectoryEntry, g_object_unref)
VALA_EXTERN EventsMonthDirectoryEntry* events_month_directory_entry_new (const gchar* name,
                                                             GDateTime* tm);
VALA_EXTERN EventsMonthDirectoryEntry* events_month_directory_entry_construct (GType object_type,
                                                                   const gchar* name,
                                                                   GDateTime* tm);
VALA_EXTERN gint events_month_directory_entry_get_year (EventsMonthDirectoryEntry* self);
VALA_EXTERN gint events_month_directory_entry_get_month (EventsMonthDirectoryEntry* self);
VALA_EXTERN GType events_undated_directory_entry_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EventsUndatedDirectoryEntry, g_object_unref)
VALA_EXTERN EventsUndatedDirectoryEntry* events_undated_directory_entry_new (void);
VALA_EXTERN EventsUndatedDirectoryEntry* events_undated_directory_entry_construct (GType object_type);
VALA_EXTERN GType sidebar_renameable_entry_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType sidebar_internal_drop_target_entry_get_type (void) G_GNUC_CONST ;
VALA_EXTERN EventsEventEntry* events_event_entry_new (Event* event);
VALA_EXTERN EventsEventEntry* events_event_entry_construct (GType object_type,
                                                Event* event);
VALA_EXTERN Event* events_event_entry_get_event (EventsEventEntry* self);
VALA_EXTERN GType events_no_event_entry_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EventsNoEventEntry, g_object_unref)
VALA_EXTERN EventsNoEventEntry* events_no_event_entry_new (void);
VALA_EXTERN EventsNoEventEntry* events_no_event_entry_construct (GType object_type);
VALA_EXTERN GType library_branch_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LibraryBranch, g_object_unref)
VALA_EXTERN LibraryBranch* library_branch_new (void);
VALA_EXTERN LibraryBranch* library_branch_construct (GType object_type);
VALA_EXTERN GType library_photos_entry_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LibraryPhotosEntry, g_object_unref)
VALA_EXTERN LibraryPhotosEntry* library_branch_get_photos_entry (LibraryBranch* self);
VALA_EXTERN GType library_hideable_page_entry_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LibraryHideablePageEntry, g_object_unref)
VALA_EXTERN GType library_videos_entry_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LibraryVideosEntry, g_object_unref)
VALA_EXTERN LibraryVideosEntry* library_branch_get_videos_entry (LibraryBranch* self);
VALA_EXTERN GType library_raws_entry_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LibraryRawsEntry, g_object_unref)
VALA_EXTERN LibraryRawsEntry* library_branch_get_raws_entry (LibraryBranch* self);
VALA_EXTERN GType library_flagged_sidebar_entry_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LibraryFlaggedSidebarEntry, g_object_unref)
VALA_EXTERN LibraryFlaggedSidebarEntry* library_branch_get_flagged_entry (LibraryBranch* self);
VALA_EXTERN GType library_last_import_sidebar_entry_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LibraryLastImportSidebarEntry, g_object_unref)
VALA_EXTERN LibraryLastImportSidebarEntry* library_branch_get_last_imported_entry (LibraryBranch* self);
VALA_EXTERN GType library_import_queue_sidebar_entry_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LibraryImportQueueSidebarEntry, g_object_unref)
VALA_EXTERN LibraryImportQueueSidebarEntry* library_branch_get_import_queue_entry (LibraryBranch* self);
VALA_EXTERN GType library_offline_sidebar_entry_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LibraryOfflineSidebarEntry, g_object_unref)
VALA_EXTERN LibraryOfflineSidebarEntry* library_branch_get_offline_entry (LibraryBranch* self);
VALA_EXTERN GType library_trash_sidebar_entry_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LibraryTrashSidebarEntry, g_object_unref)
VALA_EXTERN LibraryTrashSidebarEntry* library_branch_get_trash_entry (LibraryBranch* self);
VALA_EXTERN LibraryHideablePageEntry* library_hideable_page_entry_construct (GType object_type);
VALA_EXTERN gboolean library_hideable_page_entry_get_visible (LibraryHideablePageEntry* self);
VALA_EXTERN void library_hideable_page_entry_set_visible (LibraryHideablePageEntry* self,
                                              gboolean value);
VALA_EXTERN GType library_main_page_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LibraryMainPage, g_object_unref)
VALA_EXTERN LibraryMainPage* library_main_page_new (ProgressMonitor monitor,
                                        gpointer monitor_target);
VALA_EXTERN LibraryMainPage* library_main_page_construct (GType object_type,
                                              ProgressMonitor monitor,
                                              gpointer monitor_target);
VALA_EXTERN LibraryFlaggedSidebarEntry* library_flagged_sidebar_entry_new (void);
VALA_EXTERN LibraryFlaggedSidebarEntry* library_flagged_sidebar_entry_construct (GType object_type);
VALA_EXTERN LibraryImportQueueSidebarEntry* library_import_queue_sidebar_entry_new (void);
VALA_EXTERN LibraryImportQueueSidebarEntry* library_import_queue_sidebar_entry_construct (GType object_type);
VALA_EXTERN void library_import_queue_sidebar_entry_enqueue_and_schedule (LibraryImportQueueSidebarEntry* self,
                                                              BatchImport* batch_import,
                                                              gboolean allow_user_cancel);
VALA_EXTERN LibraryLastImportSidebarEntry* library_last_import_sidebar_entry_new (void);
VALA_EXTERN LibraryLastImportSidebarEntry* library_last_import_sidebar_entry_construct (GType object_type);
VALA_EXTERN void library_app_init (GError** error);
VALA_EXTERN void library_app_terminate (void);
VALA_EXTERN GType library_window_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LibraryWindow, g_object_unref)
VALA_EXTERN GType library_window_target_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN LibraryWindow* library_window_new (ProgressMonitor progress_monitor,
                                   gpointer progress_monitor_target);
VALA_EXTERN LibraryWindow* library_window_construct (GType object_type,
                                         ProgressMonitor progress_monitor,
                                         gpointer progress_monitor_target);
VALA_EXTERN LibraryWindow* library_window_get_app (void);
VALA_EXTERN gboolean library_window_is_mount_uri_supported (const gchar* uri);
VALA_EXTERN void library_window_rename_tag_in_sidebar (LibraryWindow* self,
                                           Tag* tag);
VALA_EXTERN void library_window_rename_event_in_sidebar (LibraryWindow* self,
                                             Event* event);
VALA_EXTERN void library_window_rename_search_in_sidebar (LibraryWindow* self,
                                              SavedSearch* search);
VALA_EXTERN void library_window_update_common_toggle_actions (LibraryWindow* self);
VALA_EXTERN gint library_window_get_events_sort (LibraryWindow* self);
VALA_EXTERN void library_window_set_metadata_sidebar_visible (LibraryWindow* self,
                                                  gboolean visible);
VALA_EXTERN gboolean library_window_is_metadata_sidebar_visible (LibraryWindow* self);
VALA_EXTERN void library_window_enqueue_batch_import (LibraryWindow* self,
                                          BatchImport* batch_import,
                                          gboolean allow_user_cancel);
VALA_EXTERN void library_window_switch_to_library_page (LibraryWindow* self);
VALA_EXTERN void library_window_switch_to_event_directory (LibraryWindow* self);
VALA_EXTERN void library_window_switch_to_event (LibraryWindow* self,
                                     Event* event);
VALA_EXTERN void library_window_switch_to_tag (LibraryWindow* self,
                                   Tag* tag);
VALA_EXTERN void library_window_switch_to_saved_search (LibraryWindow* self,
                                            SavedSearch* search);
VALA_EXTERN void library_window_switch_to_photo_page (LibraryWindow* self,
                                          CollectionPage* controller,
                                          Photo* current);
VALA_EXTERN void library_window_switch_to_import_queue_page (LibraryWindow* self);
VALA_EXTERN void library_window_add_to_notebook (LibraryWindow* self,
                                     Page* page);
VALA_EXTERN void library_window_set_page_switching_enabled (LibraryWindow* self,
                                                gboolean should_enable);
VALA_EXTERN void library_window_switch_to_page (LibraryWindow* self,
                                    Page* page);
VALA_EXTERN void library_window_toggle_welcome_page (LibraryWindow* self,
                                         gboolean show,
                                         const gchar* title,
                                         const gchar* subtitle,
                                         gboolean show_import);
VALA_EXTERN void library_window_mounted_camera_shell_notification (LibraryWindow* self,
                                                       const gchar* uri,
                                                       gboolean at_startup);
VALA_EXTERN void library_window_update_window_title (LibraryWindow* self);
VALA_EXTERN gint library_window_get_PAGE_MIN_WIDTH (void);
VALA_EXTERN LibraryOfflineSidebarEntry* library_offline_sidebar_entry_new (void);
VALA_EXTERN LibraryOfflineSidebarEntry* library_offline_sidebar_entry_construct (GType object_type);
VALA_EXTERN GType top_display_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TopDisplay, g_object_unref)
VALA_EXTERN TopDisplay* top_display_new (void);
VALA_EXTERN TopDisplay* top_display_construct (GType object_type);
VALA_EXTERN void top_display_start_pulse_background_progress_bar (TopDisplay* self,
                                                      const gchar* label,
                                                      gint priority);
VALA_EXTERN void top_display_stop_pulse_background_progress_bar (TopDisplay* self,
                                                     gint priority,
                                                     gboolean clear);
VALA_EXTERN void top_display_update_background_progress_bar (TopDisplay* self,
                                                 const gchar* label,
                                                 gint priority,
                                                 gdouble count,
                                                 gdouble total);
VALA_EXTERN void top_display_clear_background_progress_bar (TopDisplay* self,
                                                gint priority);
VALA_EXTERN void top_display_set_title (TopDisplay* self,
                            const gchar* value);
VALA_EXTERN LibraryTrashSidebarEntry* library_trash_sidebar_entry_new (void);
VALA_EXTERN LibraryTrashSidebarEntry* library_trash_sidebar_entry_construct (GType object_type);
VALA_EXTERN gpointer photo_file_sniffer_ref (gpointer instance);
VALA_EXTERN void photo_file_sniffer_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_photo_file_sniffer (const gchar* name,
                                           const gchar* nick,
                                           const gchar* blurb,
                                           GType object_type,
                                           GParamFlags flags);
VALA_EXTERN void value_set_photo_file_sniffer (GValue* value,
                                   gpointer v_object);
VALA_EXTERN void value_take_photo_file_sniffer (GValue* value,
                                    gpointer v_object);
VALA_EXTERN gpointer value_get_photo_file_sniffer (const GValue* value);
VALA_EXTERN GType photo_file_sniffer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PhotoFileSniffer, photo_file_sniffer_unref)
VALA_EXTERN GType gdk_sniffer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GdkSniffer, photo_file_sniffer_unref)
VALA_EXTERN GType photos_bmp_sniffer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PhotosBmpSniffer, photo_file_sniffer_unref)
VALA_EXTERN PhotosBmpSniffer* photos_bmp_sniffer_new (GFile* file,
                                          PhotoFileSnifferOptions options);
VALA_EXTERN PhotosBmpSniffer* photos_bmp_sniffer_construct (GType object_type,
                                                GFile* file,
                                                PhotoFileSnifferOptions options);
VALA_EXTERN GType gdk_reader_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GdkReader, photo_file_adapter_unref)
VALA_EXTERN GType photos_bmp_reader_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PhotosBmpReader, photo_file_adapter_unref)
VALA_EXTERN PhotosBmpReader* photos_bmp_reader_new (const gchar* filepath);
VALA_EXTERN PhotosBmpReader* photos_bmp_reader_construct (GType object_type,
                                              const gchar* filepath);
VALA_EXTERN GType photo_file_writer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PhotoFileWriter, photo_file_adapter_unref)
VALA_EXTERN GType photos_bmp_writer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PhotosBmpWriter, photo_file_adapter_unref)
VALA_EXTERN PhotosBmpWriter* photos_bmp_writer_new (const gchar* filepath);
VALA_EXTERN PhotosBmpWriter* photos_bmp_writer_construct (GType object_type,
                                              const gchar* filepath);
VALA_EXTERN GType photo_file_metadata_writer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PhotoFileMetadataWriter, photo_file_adapter_unref)
VALA_EXTERN GType photos_bmp_metadata_writer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PhotosBmpMetadataWriter, photo_file_adapter_unref)
VALA_EXTERN PhotosBmpMetadataWriter* photos_bmp_metadata_writer_new (const gchar* filepath);
VALA_EXTERN PhotosBmpMetadataWriter* photos_bmp_metadata_writer_construct (GType object_type,
                                                               const gchar* filepath);
VALA_EXTERN gpointer photo_file_format_driver_ref (gpointer instance);
VALA_EXTERN void photo_file_format_driver_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_photo_file_format_driver (const gchar* name,
                                                 const gchar* nick,
                                                 const gchar* blurb,
                                                 GType object_type,
                                                 GParamFlags flags);
VALA_EXTERN void value_set_photo_file_format_driver (GValue* value,
                                         gpointer v_object);
VALA_EXTERN void value_take_photo_file_format_driver (GValue* value,
                                          gpointer v_object);
VALA_EXTERN gpointer value_get_photo_file_format_driver (const GValue* value);
VALA_EXTERN GType photo_file_format_driver_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PhotoFileFormatDriver, photo_file_format_driver_unref)
VALA_EXTERN gpointer photo_file_format_properties_ref (gpointer instance);
VALA_EXTERN void photo_file_format_properties_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_photo_file_format_properties (const gchar* name,
                                                     const gchar* nick,
                                                     const gchar* blurb,
                                                     GType object_type,
                                                     GParamFlags flags);
VALA_EXTERN void value_set_photo_file_format_properties (GValue* value,
                                             gpointer v_object);
VALA_EXTERN void value_take_photo_file_format_properties (GValue* value,
                                              gpointer v_object);
VALA_EXTERN gpointer value_get_photo_file_format_properties (const GValue* value);
VALA_EXTERN GType photo_file_format_properties_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PhotoFileFormatProperties, photo_file_format_properties_unref)
VALA_EXTERN GType photos_bmp_file_format_driver_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PhotosBmpFileFormatDriver, photo_file_format_driver_unref)
VALA_EXTERN void photos_bmp_file_format_driver_init (void);
VALA_EXTERN PhotosBmpFileFormatDriver* photos_bmp_file_format_driver_get_instance (void);
VALA_EXTERN PhotosBmpFileFormatDriver* photos_bmp_file_format_driver_new (void);
VALA_EXTERN PhotosBmpFileFormatDriver* photos_bmp_file_format_driver_construct (GType object_type);
VALA_EXTERN GdkReader* gdk_reader_construct (GType object_type,
                                 const gchar* filepath,
                                 PhotoFileFormat file_format);
VALA_EXTERN GdkSniffer* gdk_sniffer_construct (GType object_type,
                                   GFile* file,
                                   PhotoFileSnifferOptions options);
VALA_EXTERN GType gif_sniffer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GifSniffer, photo_file_sniffer_unref)
VALA_EXTERN GifSniffer* gif_sniffer_new (GFile* file,
                             PhotoFileSnifferOptions options);
VALA_EXTERN GifSniffer* gif_sniffer_construct (GType object_type,
                                   GFile* file,
                                   PhotoFileSnifferOptions options);
VALA_EXTERN GType gif_reader_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GifReader, photo_file_adapter_unref)
VALA_EXTERN GifReader* gif_reader_new (const gchar* filepath);
VALA_EXTERN GifReader* gif_reader_construct (GType object_type,
                                 const gchar* filepath);
VALA_EXTERN GType gif_file_format_driver_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GifFileFormatDriver, photo_file_format_driver_unref)
VALA_EXTERN void gif_file_format_driver_init (void);
VALA_EXTERN GifFileFormatDriver* gif_file_format_driver_get_instance (void);
VALA_EXTERN GifFileFormatDriver* gif_file_format_driver_new (void);
VALA_EXTERN GifFileFormatDriver* gif_file_format_driver_construct (GType object_type);
VALA_EXTERN GType graw_colorspace_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GQuark graw_exception_quark (void);
VALA_EXTERN GType graw_exception_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType graw_flip_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType graw_fuji_rotate_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType graw_highlight_mode_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType graw_interpolation_quality_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gpointer graw_processed_image_ref (gpointer instance);
VALA_EXTERN void graw_processed_image_unref (gpointer instance);
VALA_EXTERN GParamSpec* graw_param_spec_processed_image (const gchar* name,
                                             const gchar* nick,
                                             const gchar* blurb,
                                             GType object_type,
                                             GParamFlags flags);
VALA_EXTERN void graw_value_set_processed_image (GValue* value,
                                     gpointer v_object);
VALA_EXTERN void graw_value_take_processed_image (GValue* value,
                                      gpointer v_object);
VALA_EXTERN gpointer graw_value_get_processed_image (const GValue* value);
VALA_EXTERN GType graw_processed_image_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GRawProcessedImage, graw_processed_image_unref)
VALA_EXTERN GRawProcessedImage* graw_processed_image_new (libraw_data_t* proc,
                                              GError** error);
VALA_EXTERN GRawProcessedImage* graw_processed_image_construct (GType object_type,
                                                    libraw_data_t* proc,
                                                    GError** error);
VALA_EXTERN GRawProcessedImage* graw_processed_image_new_from_thumb (libraw_data_t* proc,
                                                         GError** error);
VALA_EXTERN GRawProcessedImage* graw_processed_image_construct_from_thumb (GType object_type,
                                                               libraw_data_t* proc,
                                                               GError** error);
VALA_EXTERN GdkPixbuf* graw_processed_image_get_pixbuf_copy (GRawProcessedImage* self);
VALA_EXTERN gushort graw_processed_image_get_width (GRawProcessedImage* self);
VALA_EXTERN gushort graw_processed_image_get_height (GRawProcessedImage* self);
VALA_EXTERN gushort graw_processed_image_get_colors (GRawProcessedImage* self);
VALA_EXTERN gushort graw_processed_image_get_bits (GRawProcessedImage* self);
VALA_EXTERN guint8* graw_processed_image_get_data (GRawProcessedImage* self);
VALA_EXTERN guint graw_processed_image_get_data_size (GRawProcessedImage* self);
VALA_EXTERN gpointer graw_processor_ref (gpointer instance);
VALA_EXTERN void graw_processor_unref (gpointer instance);
VALA_EXTERN GParamSpec* graw_param_spec_processor (const gchar* name,
                                       const gchar* nick,
                                       const gchar* blurb,
                                       GType object_type,
                                       GParamFlags flags);
VALA_EXTERN void graw_value_set_processor (GValue* value,
                               gpointer v_object);
VALA_EXTERN void graw_value_take_processor (GValue* value,
                                gpointer v_object);
VALA_EXTERN gpointer graw_value_get_processor (const GValue* value);
VALA_EXTERN GType graw_processor_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GRawProcessor, graw_processor_unref)
VALA_EXTERN GRawProcessor* graw_processor_new (enum LibRaw_constructor_flags options);
VALA_EXTERN GRawProcessor* graw_processor_construct (GType object_type,
                                         enum LibRaw_constructor_flags options);
VALA_EXTERN void graw_processor_adjust_sizes_info_only (GRawProcessor* self,
                                            GError** error);
VALA_EXTERN libraw_imgother_t graw_processor_get_image_other (GRawProcessor* self);
VALA_EXTERN libraw_iparams_t graw_processor_get_image_params (GRawProcessor* self);
VALA_EXTERN libraw_image_sizes_t graw_processor_get_sizes (GRawProcessor* self);
VALA_EXTERN libraw_thumbnail_t graw_processor_get_thumbnail (GRawProcessor* self);
VALA_EXTERN GRawProcessedImage* graw_processor_make_mem_image (GRawProcessor* self,
                                                   GError** error);
VALA_EXTERN GRawProcessedImage* graw_processor_make_thumb_image (GRawProcessor* self,
                                                     GError** error);
VALA_EXTERN void graw_processor_open_buffer (GRawProcessor* self,
                                 guint8* buffer,
                                 gint buffer_length1,
                                 GError** error);
VALA_EXTERN void graw_processor_open_file (GRawProcessor* self,
                               const gchar* filename,
                               GError** error);
VALA_EXTERN void graw_processor_process (GRawProcessor* self,
                             GError** error);
VALA_EXTERN void graw_processor_ppm_tiff_writer (GRawProcessor* self,
                                     const gchar* filename,
                                     GError** error);
VALA_EXTERN void graw_processor_thumb_writer (GRawProcessor* self,
                                  const gchar* filename,
                                  GError** error);
VALA_EXTERN void graw_processor_recycle (GRawProcessor* self);
VALA_EXTERN void graw_processor_unpack (GRawProcessor* self,
                            GError** error);
VALA_EXTERN void graw_processor_unpack_thumb (GRawProcessor* self,
                                  GError** error);
VALA_EXTERN void graw_processor_configure_for_rgb_display (GRawProcessor* self,
                                               gboolean half_size);
VALA_EXTERN libraw_output_params_t* graw_processor_get_output_params (GRawProcessor* self);
VALA_EXTERN GType jfif_file_format_driver_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (JfifFileFormatDriver, photo_file_format_driver_unref)
VALA_EXTERN void jfif_file_format_driver_init (void);
VALA_EXTERN JfifFileFormatDriver* jfif_file_format_driver_get_instance (void);
VALA_EXTERN JfifFileFormatDriver* jfif_file_format_driver_new (void);
VALA_EXTERN JfifFileFormatDriver* jfif_file_format_driver_construct (GType object_type);
VALA_EXTERN GType photo_file_format_flags_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType jfif_file_format_properties_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (JfifFileFormatProperties, photo_file_format_properties_unref)
VALA_EXTERN void jfif_file_format_properties_init (void);
VALA_EXTERN JfifFileFormatProperties* jfif_file_format_properties_get_instance (void);
VALA_EXTERN JfifFileFormatProperties* jfif_file_format_properties_new (void);
VALA_EXTERN JfifFileFormatProperties* jfif_file_format_properties_construct (GType object_type);
VALA_EXTERN GType jfif_sniffer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (JfifSniffer, photo_file_sniffer_unref)
VALA_EXTERN JfifSniffer* jfif_sniffer_new (GFile* file,
                               PhotoFileSnifferOptions options);
VALA_EXTERN JfifSniffer* jfif_sniffer_construct (GType object_type,
                                     GFile* file,
                                     PhotoFileSnifferOptions options);
VALA_EXTERN GType jfif_reader_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (JfifReader, photo_file_adapter_unref)
VALA_EXTERN JfifReader* jfif_reader_new (const gchar* filepath);
VALA_EXTERN JfifReader* jfif_reader_construct (GType object_type,
                                   const gchar* filepath);
VALA_EXTERN GType jfif_writer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (JfifWriter, photo_file_adapter_unref)
VALA_EXTERN JfifWriter* jfif_writer_new (const gchar* filepath);
VALA_EXTERN JfifWriter* jfif_writer_construct (GType object_type,
                                   const gchar* filepath);
VALA_EXTERN GType jfif_metadata_writer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (JfifMetadataWriter, photo_file_adapter_unref)
VALA_EXTERN JfifMetadataWriter* jfif_metadata_writer_new (const gchar* filepath);
VALA_EXTERN JfifMetadataWriter* jfif_metadata_writer_construct (GType object_type,
                                                    const gchar* filepath);
VALA_EXTERN GType jpeg_marker_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint8 jpeg_marker_get_byte (JpegMarker self);
VALA_EXTERN gint jpeg_quality_get_pct (JpegQuality self);
VALA_EXTERN gchar* jpeg_quality_get_pct_text (JpegQuality self);
VALA_EXTERN JpegQuality* jpeg_quality_get_all (gint* result_length1);
VALA_EXTERN gchar* jpeg_quality_to_string (JpegQuality self);
VALA_EXTERN gboolean jpeg_is_jpeg (GFile* file,
                       GError** error);
VALA_EXTERN PhotoFileAdapter* photo_file_adapter_construct (GType object_type,
                                                const gchar* filepath,
                                                PhotoFileFormat file_format);
VALA_EXTERN gboolean photo_file_adapter_file_exists (PhotoFileAdapter* self);
VALA_EXTERN gchar* photo_file_adapter_get_filepath (PhotoFileAdapter* self);
VALA_EXTERN GFile* photo_file_adapter_get_file (PhotoFileAdapter* self);
VALA_EXTERN PhotoFileFormat photo_file_adapter_get_file_format (PhotoFileAdapter* self);
VALA_EXTERN PhotoFileReader* photo_file_reader_construct (GType object_type,
                                              const gchar* filepath,
                                              PhotoFileFormat file_format);
VALA_EXTERN GQuark photo_format_error_quark (void);
VALA_EXTERN GType photo_format_error_get_type (void) G_GNUC_CONST ;
VALA_EXTERN PhotoFileWriter* photo_file_reader_create_writer (PhotoFileReader* self,
                                                  GError** error);
VALA_EXTERN PhotoFileMetadataWriter* photo_file_reader_create_metadata_writer (PhotoFileReader* self,
                                                                   GError** error);
VALA_EXTERN PhotoMetadata* photo_file_reader_read_metadata (PhotoFileReader* self,
                                                GError** error);
VALA_EXTERN GdkPixbuf* photo_file_reader_unscaled_read (PhotoFileReader* self,
                                            GError** error);
VALA_EXTERN GdkPixbuf* photo_file_reader_scaled_read (PhotoFileReader* self,
                                          Dimensions* full,
                                          Dimensions* scaled,
                                          GError** error);
VALA_EXTERN PhotoFileWriter* photo_file_writer_construct (GType object_type,
                                              const gchar* filepath,
                                              PhotoFileFormat file_format);
VALA_EXTERN PhotoFileReader* photo_file_writer_create_reader (PhotoFileWriter* self);
VALA_EXTERN void photo_file_writer_write (PhotoFileWriter* self,
                              GdkPixbuf* pixbuf,
                              JpegQuality quality,
                              GError** error);
VALA_EXTERN PhotoFileMetadataWriter* photo_file_metadata_writer_construct (GType object_type,
                                                               const gchar* filepath,
                                                               PhotoFileFormat file_format);
VALA_EXTERN PhotoFileReader* photo_file_metadata_writer_create_reader (PhotoFileMetadataWriter* self);
VALA_EXTERN void photo_file_metadata_writer_write_metadata (PhotoFileMetadataWriter* self,
                                                PhotoMetadata* metadata,
                                                GError** error);
VALA_EXTERN PhotoFileFormat* photo_file_format_data_get_writeable (gint* result_length1);
VALA_EXTERN PhotoFileFormat* photo_file_format_data_get_image_writeable (gint* result_length1);
VALA_EXTERN PhotoFileFormat* photo_file_format_data_get_metadata_writeable (gint* result_length1);
VALA_EXTERN void photo_file_format_init_supported (void);
VALA_EXTERN PhotoFileFormat* photo_file_format_get_supported (gint* result_length1);
VALA_EXTERN PhotoFileFormat* photo_file_format_get_writeable (gint* result_length1);
VALA_EXTERN PhotoFileFormat* photo_file_format_get_image_writeable (gint* result_length1);
VALA_EXTERN PhotoFileFormat* photo_file_format_get_metadata_writeable (gint* result_length1);
VALA_EXTERN PhotoFileFormat photo_file_format_get_by_basename_extension (const gchar* basename);
VALA_EXTERN gboolean photo_file_format_is_file_supported (GFile* file);
VALA_EXTERN gboolean photo_file_format_is_basename_supported (const gchar* basename);
VALA_EXTERN PhotoFileFormat photo_file_format_get_system_default_format (void);
VALA_EXTERN PhotoFileFormat photo_file_format_get_by_file_extension (GFile* file);
VALA_EXTERN gint photo_file_format_serialize (PhotoFileFormat self);
VALA_EXTERN PhotoFileFormat photo_file_format_unserialize (gint value);
VALA_EXTERN PhotoFileFormat photo_file_format_from_gphoto_type (const gchar* type);
VALA_EXTERN PhotoFileFormat photo_file_format_from_pixbuf_name (const gchar* name);
VALA_EXTERN void photo_file_format_init (PhotoFileFormat self);
VALA_EXTERN PhotoFileFormatProperties* photo_file_format_get_properties (PhotoFileFormat self);
VALA_EXTERN gchar* photo_file_format_get_default_basename (PhotoFileFormat self,
                                               const gchar* name);
VALA_EXTERN PhotoFileReader* photo_file_format_create_reader (PhotoFileFormat self,
                                                  const gchar* filepath);
VALA_EXTERN gboolean photo_file_format_can_write (PhotoFileFormat self);
VALA_EXTERN gboolean photo_file_format_can_write_image (PhotoFileFormat self);
VALA_EXTERN gboolean photo_file_format_can_write_metadata (PhotoFileFormat self);
VALA_EXTERN PhotoFileWriter* photo_file_format_create_writer (PhotoFileFormat self,
                                                  const gchar* filepath,
                                                  GError** error);
VALA_EXTERN PhotoFileMetadataWriter* photo_file_format_create_metadata_writer (PhotoFileFormat self,
                                                                   const gchar* filepath,
                                                                   GError** error);
VALA_EXTERN PhotoFileSniffer* photo_file_format_create_sniffer (PhotoFileFormat self,
                                                    GFile* file,
                                                    PhotoFileSnifferOptions options);
VALA_EXTERN PhotoMetadata* photo_file_format_create_metadata (PhotoFileFormat self);
VALA_EXTERN gchar* photo_file_format_get_default_mime_type (PhotoFileFormat self);
VALA_EXTERN gchar** photo_file_format_get_mime_types (PhotoFileFormat self,
                                          gint* result_length1);
VALA_EXTERN PhotoFileFormatProperties* photo_file_format_driver_get_properties (PhotoFileFormatDriver* self);
VALA_EXTERN PhotoFileReader* photo_file_format_driver_create_reader (PhotoFileFormatDriver* self,
                                                         const gchar* filepath);
VALA_EXTERN PhotoMetadata* photo_file_format_driver_create_metadata (PhotoFileFormatDriver* self);
VALA_EXTERN gboolean photo_file_format_driver_can_write_image (PhotoFileFormatDriver* self);
VALA_EXTERN gboolean photo_file_format_driver_can_write_metadata (PhotoFileFormatDriver* self);
VALA_EXTERN PhotoFileWriter* photo_file_format_driver_create_writer (PhotoFileFormatDriver* self,
                                                         const gchar* filepath);
VALA_EXTERN PhotoFileMetadataWriter* photo_file_format_driver_create_metadata_writer (PhotoFileFormatDriver* self,
                                                                          const gchar* filepath);
VALA_EXTERN PhotoFileSniffer* photo_file_format_driver_create_sniffer (PhotoFileFormatDriver* self,
                                                           GFile* file,
                                                           PhotoFileSnifferOptions options);
VALA_EXTERN PhotoFileFormatDriver* photo_file_format_driver_construct (GType object_type);
VALA_EXTERN PhotoFileFormat photo_file_format_properties_get_file_format (PhotoFileFormatProperties* self);
VALA_EXTERN PhotoFileFormatFlags photo_file_format_properties_get_flags (PhotoFileFormatProperties* self);
VALA_EXTERN gboolean photo_file_format_properties_is_recognized_extension (PhotoFileFormatProperties* self,
                                                               const gchar* ext);
VALA_EXTERN gchar* photo_file_format_properties_get_default_extension (PhotoFileFormatProperties* self);
VALA_EXTERN gchar** photo_file_format_properties_get_known_extensions (PhotoFileFormatProperties* self,
                                                           gint* result_length1);
VALA_EXTERN gchar* photo_file_format_properties_get_default_mime_type (PhotoFileFormatProperties* self);
VALA_EXTERN gchar** photo_file_format_properties_get_mime_types (PhotoFileFormatProperties* self,
                                                     gint* result_length1);
VALA_EXTERN gchar* photo_file_format_properties_get_user_visible_name (PhotoFileFormatProperties* self);
VALA_EXTERN GFile* photo_file_format_properties_convert_file_extension (PhotoFileFormatProperties* self,
                                                            GFile* file);
VALA_EXTERN PhotoFileFormatProperties* photo_file_format_properties_construct (GType object_type);
VALA_EXTERN DetectedPhotoInformation* detected_photo_information_new (void);
VALA_EXTERN DetectedPhotoInformation* detected_photo_information_construct (GType object_type);
VALA_EXTERN PhotoFileSniffer* photo_file_sniffer_construct (GType object_type,
                                                GFile* file,
                                                PhotoFileSnifferOptions options);
VALA_EXTERN DetectedPhotoInformation* photo_file_sniffer_sniff (PhotoFileSniffer* self,
                                                    GError** error);
VALA_EXTERN gpointer photo_file_interrogator_ref (gpointer instance);
VALA_EXTERN void photo_file_interrogator_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_photo_file_interrogator (const gchar* name,
                                                const gchar* nick,
                                                const gchar* blurb,
                                                GType object_type,
                                                GParamFlags flags);
VALA_EXTERN void value_set_photo_file_interrogator (GValue* value,
                                        gpointer v_object);
VALA_EXTERN void value_take_photo_file_interrogator (GValue* value,
                                         gpointer v_object);
VALA_EXTERN gpointer value_get_photo_file_interrogator (const GValue* value);
VALA_EXTERN GType photo_file_interrogator_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PhotoFileInterrogator, photo_file_interrogator_unref)
VALA_EXTERN PhotoFileInterrogator* photo_file_interrogator_new (GFile* file,
                                                    PhotoFileSnifferOptions options);
VALA_EXTERN PhotoFileInterrogator* photo_file_interrogator_construct (GType object_type,
                                                          GFile* file,
                                                          PhotoFileSnifferOptions options);
VALA_EXTERN DetectedPhotoInformation* photo_file_interrogator_get_detected_photo_information (PhotoFileInterrogator* self);
VALA_EXTERN void photo_file_interrogator_interrogate (PhotoFileInterrogator* self,
                                          GError** error);
VALA_EXTERN GType metadata_domain_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gpointer hierarchical_keyword_field_ref (gpointer instance);
VALA_EXTERN void hierarchical_keyword_field_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_hierarchical_keyword_field (const gchar* name,
                                                   const gchar* nick,
                                                   const gchar* blurb,
                                                   GType object_type,
                                                   GParamFlags flags);
VALA_EXTERN void value_set_hierarchical_keyword_field (GValue* value,
                                           gpointer v_object);
VALA_EXTERN void value_take_hierarchical_keyword_field (GValue* value,
                                            gpointer v_object);
VALA_EXTERN gpointer value_get_hierarchical_keyword_field (const GValue* value);
VALA_EXTERN GType hierarchical_keyword_field_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (HierarchicalKeywordField, hierarchical_keyword_field_unref)
VALA_EXTERN HierarchicalKeywordField* hierarchical_keyword_field_new (const gchar* field_name,
                                                          const gchar* path_separator,
                                                          gboolean wants_leading_separator,
                                                          gboolean is_writeable);
VALA_EXTERN HierarchicalKeywordField* hierarchical_keyword_field_construct (GType object_type,
                                                                const gchar* field_name,
                                                                const gchar* path_separator,
                                                                gboolean wants_leading_separator,
                                                                gboolean is_writeable);
VALA_EXTERN gpointer photo_preview_ref (gpointer instance);
VALA_EXTERN void photo_preview_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_photo_preview (const gchar* name,
                                      const gchar* nick,
                                      const gchar* blurb,
                                      GType object_type,
                                      GParamFlags flags);
VALA_EXTERN void value_set_photo_preview (GValue* value,
                              gpointer v_object);
VALA_EXTERN void value_take_photo_preview (GValue* value,
                               gpointer v_object);
VALA_EXTERN gpointer value_get_photo_preview (const GValue* value);
VALA_EXTERN GType photo_preview_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PhotoPreview, photo_preview_unref)
VALA_EXTERN PhotoPreview* photo_preview_construct (GType object_type,
                                       const gchar* name,
                                       Dimensions* dimensions,
                                       guint32 size,
                                       const gchar* mime_type,
                                       const gchar* extension);
VALA_EXTERN gchar* photo_preview_get_name (PhotoPreview* self);
VALA_EXTERN void photo_preview_get_pixel_dimensions (PhotoPreview* self,
                                         Dimensions* result);
VALA_EXTERN guint32 photo_preview_get_size (PhotoPreview* self);
VALA_EXTERN gchar* photo_preview_get_mime_type (PhotoPreview* self);
VALA_EXTERN gchar* photo_preview_get_extension (PhotoPreview* self);
VALA_EXTERN GBytes* photo_preview_flatten (PhotoPreview* self,
                               GError** error);
VALA_EXTERN GdkPixbuf* photo_preview_get_pixbuf (PhotoPreview* self,
                                     GError** error);
VALA_EXTERN GType photo_metadata_set_option_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType prepare_input_text_options_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar** photo_metadata_height_tags;
VALA_EXTERN gint photo_metadata_height_tags_length1;
VALA_EXTERN PhotoMetadata* photo_metadata_new (void);
VALA_EXTERN PhotoMetadata* photo_metadata_construct (GType object_type);
VALA_EXTERN void photo_metadata_write_to_file (PhotoMetadata* self,
                                   GFile* file,
                                   GError** error);
VALA_EXTERN void photo_metadata_read_from_buffer (PhotoMetadata* self,
                                      guint8* buffer,
                                      gint buffer_length1,
                                      gint length,
                                      GError** error);
VALA_EXTERN void photo_metadata_read_from_app1_segment (PhotoMetadata* self,
                                            GBytes* buffer,
                                            GError** error);
VALA_EXTERN MetadataDomain photo_metadata_get_tag_domain (const gchar* tag);
VALA_EXTERN gboolean photo_metadata_has_domain (PhotoMetadata* self,
                                    MetadataDomain domain);
VALA_EXTERN gboolean photo_metadata_has_exif (PhotoMetadata* self);
VALA_EXTERN gboolean photo_metadata_has_xmp (PhotoMetadata* self);
VALA_EXTERN gboolean photo_metadata_has_iptc (PhotoMetadata* self);
VALA_EXTERN gboolean photo_metadata_can_write_to_domain (PhotoMetadata* self,
                                             MetadataDomain domain);
VALA_EXTERN gboolean photo_metadata_can_write_exif (PhotoMetadata* self);
VALA_EXTERN gboolean photo_metadata_can_write_xmp (PhotoMetadata* self);
VALA_EXTERN gboolean photo_metadata_can_write_iptc (PhotoMetadata* self);
VALA_EXTERN gboolean photo_metadata_has_tag (PhotoMetadata* self,
                                 const gchar* tag);
VALA_EXTERN GeeCollection* photo_metadata_get_tags (PhotoMetadata* self,
                                        MetadataDomain domain,
                                        GCompareDataFunc compare_func,
                                        gpointer compare_func_target,
                                        GDestroyNotify compare_func_target_destroy_notify);
VALA_EXTERN GeeCollection* photo_metadata_get_all_tags (PhotoMetadata* self,
                                            GCompareDataFunc compare_func,
                                            gpointer compare_func_target,
                                            GDestroyNotify compare_func_target_destroy_notify);
VALA_EXTERN gchar* photo_metadata_get_tag_label (PhotoMetadata* self,
                                     const gchar* tag);
VALA_EXTERN gchar* photo_metadata_get_tag_description (PhotoMetadata* self,
                                           const gchar* tag);
VALA_EXTERN gchar* photo_metadata_get_string (PhotoMetadata* self,
                                  const gchar* tag,
                                  PrepareInputTextOptions options);
VALA_EXTERN gchar* photo_metadata_get_string_interpreted (PhotoMetadata* self,
                                              const gchar* tag,
                                              PrepareInputTextOptions options);
VALA_EXTERN gchar* photo_metadata_get_first_string (PhotoMetadata* self,
                                        gchar** tags,
                                        gint tags_length1);
VALA_EXTERN gchar* photo_metadata_get_first_string_interpreted (PhotoMetadata* self,
                                                    gchar** tags,
                                                    gint tags_length1);
VALA_EXTERN GeeList* photo_metadata_get_string_multiple (PhotoMetadata* self,
                                             const gchar* tag);
VALA_EXTERN GeeList* photo_metadata_get_first_string_multiple (PhotoMetadata* self,
                                                   gchar** tags,
                                                   gint tags_length1);
VALA_EXTERN void photo_metadata_set_string (PhotoMetadata* self,
                                const gchar* tag,
                                const gchar* value,
                                PrepareInputTextOptions options);
VALA_EXTERN void photo_metadata_set_all_string (PhotoMetadata* self,
                                    gchar** tags,
                                    gint tags_length1,
                                    const gchar* value,
                                    PhotoMetadataSetOption option);
VALA_EXTERN void photo_metadata_set_string_multiple (PhotoMetadata* self,
                                         const gchar* tag,
                                         GeeCollection* collection);
VALA_EXTERN void photo_metadata_set_all_string_multiple (PhotoMetadata* self,
                                             gchar** tags,
                                             gint tags_length1,
                                             GeeCollection* values,
                                             PhotoMetadataSetOption option);
VALA_EXTERN gboolean photo_metadata_get_long (PhotoMetadata* self,
                                  const gchar* tag,
                                  glong* value);
VALA_EXTERN gboolean photo_metadata_get_first_long (PhotoMetadata* self,
                                        gchar** tags,
                                        gint tags_length1,
                                        glong* value);
VALA_EXTERN void photo_metadata_set_long (PhotoMetadata* self,
                              const gchar* tag,
                              glong value);
VALA_EXTERN void photo_metadata_set_all_long (PhotoMetadata* self,
                                  gchar** tags,
                                  gint tags_length1,
                                  glong value,
                                  PhotoMetadataSetOption option);
VALA_EXTERN gboolean photo_metadata_get_rational (PhotoMetadata* self,
                                      const gchar* tag,
                                      MetadataRational* rational);
VALA_EXTERN gboolean photo_metadata_get_first_rational (PhotoMetadata* self,
                                            gchar** tags,
                                            gint tags_length1,
                                            MetadataRational* rational);
VALA_EXTERN void photo_metadata_set_rational (PhotoMetadata* self,
                                  const gchar* tag,
                                  MetadataRational* rational);
VALA_EXTERN void photo_metadata_set_all_rational (PhotoMetadata* self,
                                      gchar** tags,
                                      gint tags_length1,
                                      MetadataRational* rational,
                                      PhotoMetadataSetOption option);
VALA_EXTERN MetadataDateTime* photo_metadata_get_date_time (PhotoMetadata* self,
                                                const gchar* tag);
VALA_EXTERN MetadataDateTime* photo_metadata_get_first_date_time (PhotoMetadata* self,
                                                      gchar** tags,
                                                      gint tags_length1);
VALA_EXTERN void photo_metadata_set_date_time (PhotoMetadata* self,
                                   const gchar* tag,
                                   MetadataDateTime* date_time);
VALA_EXTERN void photo_metadata_set_all_date_time (PhotoMetadata* self,
                                       gchar** tags,
                                       gint tags_length1,
                                       MetadataDateTime* date_time,
                                       PhotoMetadataSetOption option);
VALA_EXTERN guint8* photo_metadata_flatten_exif (PhotoMetadata* self,
                                     gboolean include_preview,
                                     gint* result_length1);
VALA_EXTERN guint8* photo_metadata_flatten_exif_preview (PhotoMetadata* self,
                                             gint* result_length1);
VALA_EXTERN guint photo_metadata_get_preview_count (PhotoMetadata* self);
VALA_EXTERN PhotoPreview* photo_metadata_get_preview (PhotoMetadata* self,
                                          guint number);
VALA_EXTERN void photo_metadata_remove_exif_thumbnail (PhotoMetadata* self);
VALA_EXTERN void photo_metadata_remove_tag (PhotoMetadata* self,
                                const gchar* tag);
VALA_EXTERN void photo_metadata_remove_tags (PhotoMetadata* self,
                                 gchar** tags,
                                 gint tags_length1);
VALA_EXTERN void photo_metadata_clear_domain (PhotoMetadata* self,
                                  MetadataDomain domain);
VALA_EXTERN void photo_metadata_clear (PhotoMetadata* self);
VALA_EXTERN MetadataDateTime* photo_metadata_get_modification_date_time (PhotoMetadata* self);
VALA_EXTERN void photo_metadata_set_modification_date_time (PhotoMetadata* self,
                                                MetadataDateTime* date_time,
                                                PhotoMetadataSetOption option);
VALA_EXTERN MetadataDateTime* photo_metadata_get_exposure_date_time (PhotoMetadata* self);
VALA_EXTERN void photo_metadata_set_exposure_date_time (PhotoMetadata* self,
                                            MetadataDateTime* date_time,
                                            PhotoMetadataSetOption option);
VALA_EXTERN MetadataDateTime* photo_metadata_get_digitized_date_time (PhotoMetadata* self);
VALA_EXTERN void photo_metadata_set_digitized_date_time (PhotoMetadata* self,
                                             MetadataDateTime* date_time,
                                             PhotoMetadataSetOption option);
VALA_EXTERN Dimensions* photo_metadata_get_pixel_dimensions (PhotoMetadata* self);
VALA_EXTERN void photo_metadata_set_pixel_dimensions (PhotoMetadata* self,
                                          Dimensions* dim,
                                          PhotoMetadataSetOption option);
VALA_EXTERN void photo_metadata_set_title (PhotoMetadata* self,
                               const gchar* title,
                               PhotoMetadataSetOption option);
VALA_EXTERN void photo_metadata_set_comment (PhotoMetadata* self,
                                 const gchar* comment);
VALA_EXTERN GeeSet* photo_metadata_get_keywords (PhotoMetadata* self,
                                     GCompareDataFunc compare_func,
                                     gpointer compare_func_target,
                                     GDestroyNotify compare_func_target_destroy_notify);
VALA_EXTERN void photo_metadata_set_keywords (PhotoMetadata* self,
                                  GeeCollection* keywords,
                                  PhotoMetadataSetOption option);
VALA_EXTERN gboolean photo_metadata_has_hierarchical_keywords (PhotoMetadata* self);
VALA_EXTERN GeeSet* photo_metadata_get_hierarchical_keywords (PhotoMetadata* self);
VALA_EXTERN gboolean photo_metadata_has_orientation (PhotoMetadata* self);
VALA_EXTERN Orientation photo_metadata_get_orientation (PhotoMetadata* self);
VALA_EXTERN void photo_metadata_set_orientation (PhotoMetadata* self,
                                     Orientation orientation);
VALA_EXTERN gboolean photo_metadata_get_gps (PhotoMetadata* self,
                                 gdouble* longitude,
                                 gchar** long_ref,
                                 gdouble* latitude,
                                 gchar** lat_ref,
                                 gdouble* altitude);
VALA_EXTERN gboolean photo_metadata_get_exposure (PhotoMetadata* self,
                                      MetadataRational* exposure);
VALA_EXTERN gchar* photo_metadata_get_exposure_string (PhotoMetadata* self);
VALA_EXTERN gboolean photo_metadata_get_iso (PhotoMetadata* self,
                                 glong* iso);
VALA_EXTERN gchar* photo_metadata_get_iso_string (PhotoMetadata* self);
VALA_EXTERN gboolean photo_metadata_get_aperture (PhotoMetadata* self,
                                      MetadataRational* aperture);
VALA_EXTERN gchar* photo_metadata_get_aperture_string (PhotoMetadata* self,
                                           gboolean pango_formatted);
VALA_EXTERN gchar* photo_metadata_get_camera_make (PhotoMetadata* self);
VALA_EXTERN gchar* photo_metadata_get_camera_model (PhotoMetadata* self);
VALA_EXTERN gboolean photo_metadata_get_flash (PhotoMetadata* self,
                                   glong* flash);
VALA_EXTERN gchar* photo_metadata_get_flash_string (PhotoMetadata* self);
VALA_EXTERN gboolean photo_metadata_get_focal_length (PhotoMetadata* self,
                                          MetadataRational* focal_length);
VALA_EXTERN gchar* photo_metadata_get_focal_length_string (PhotoMetadata* self);
VALA_EXTERN gchar* photo_metadata_get_artist (PhotoMetadata* self);
VALA_EXTERN gchar* photo_metadata_get_copyright (PhotoMetadata* self);
VALA_EXTERN gchar* photo_metadata_get_software (PhotoMetadata* self);
VALA_EXTERN void photo_metadata_set_software (PhotoMetadata* self,
                                  const gchar* software,
                                  const gchar* version);
VALA_EXTERN void photo_metadata_remove_software (PhotoMetadata* self);
VALA_EXTERN gchar* photo_metadata_get_exposure_bias (PhotoMetadata* self);
VALA_EXTERN GType png_sniffer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PngSniffer, photo_file_sniffer_unref)
VALA_EXTERN PngSniffer* png_sniffer_new (GFile* file,
                             PhotoFileSnifferOptions options);
VALA_EXTERN PngSniffer* png_sniffer_construct (GType object_type,
                                   GFile* file,
                                   PhotoFileSnifferOptions options);
VALA_EXTERN GType png_reader_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PngReader, photo_file_adapter_unref)
VALA_EXTERN PngReader* png_reader_new (const gchar* filepath);
VALA_EXTERN PngReader* png_reader_construct (GType object_type,
                                 const gchar* filepath);
VALA_EXTERN GType png_writer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PngWriter, photo_file_adapter_unref)
VALA_EXTERN PngWriter* png_writer_new (const gchar* filepath);
VALA_EXTERN PngWriter* png_writer_construct (GType object_type,
                                 const gchar* filepath);
VALA_EXTERN GType png_metadata_writer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PngMetadataWriter, photo_file_adapter_unref)
VALA_EXTERN PngMetadataWriter* png_metadata_writer_new (const gchar* filepath);
VALA_EXTERN PngMetadataWriter* png_metadata_writer_construct (GType object_type,
                                                  const gchar* filepath);
VALA_EXTERN GType png_file_format_driver_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PngFileFormatDriver, photo_file_format_driver_unref)
VALA_EXTERN void png_file_format_driver_init (void);
VALA_EXTERN PngFileFormatDriver* png_file_format_driver_get_instance (void);
VALA_EXTERN PngFileFormatDriver* png_file_format_driver_new (void);
VALA_EXTERN PngFileFormatDriver* png_file_format_driver_construct (GType object_type);
VALA_EXTERN GType raw_file_format_driver_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (RawFileFormatDriver, photo_file_format_driver_unref)
VALA_EXTERN void raw_file_format_driver_init (void);
VALA_EXTERN RawFileFormatDriver* raw_file_format_driver_get_instance (void);
VALA_EXTERN RawFileFormatDriver* raw_file_format_driver_new (void);
VALA_EXTERN RawFileFormatDriver* raw_file_format_driver_construct (GType object_type);
VALA_EXTERN GType raw_file_format_properties_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (RawFileFormatProperties, photo_file_format_properties_unref)
VALA_EXTERN void raw_file_format_properties_init (void);
VALA_EXTERN RawFileFormatProperties* raw_file_format_properties_get_instance (void);
VALA_EXTERN RawFileFormatProperties* raw_file_format_properties_new (void);
VALA_EXTERN RawFileFormatProperties* raw_file_format_properties_construct (GType object_type);
VALA_EXTERN GType raw_sniffer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (RawSniffer, photo_file_sniffer_unref)
VALA_EXTERN RawSniffer* raw_sniffer_new (GFile* file,
                             PhotoFileSnifferOptions options);
VALA_EXTERN RawSniffer* raw_sniffer_construct (GType object_type,
                                   GFile* file,
                                   PhotoFileSnifferOptions options);
VALA_EXTERN GType raw_reader_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (RawReader, photo_file_adapter_unref)
VALA_EXTERN RawReader* raw_reader_new (const gchar* filepath);
VALA_EXTERN RawReader* raw_reader_construct (GType object_type,
                                 const gchar* filepath);
VALA_EXTERN RawDeveloper* raw_developer_as_array (gint* result_length1);
VALA_EXTERN gchar* raw_developer_to_string (RawDeveloper self);
VALA_EXTERN RawDeveloper raw_developer_from_string (const gchar* value);
VALA_EXTERN gchar* raw_developer_get_label (RawDeveloper self);
VALA_EXTERN gboolean raw_developer_is_equivalent (RawDeveloper self,
                                      RawDeveloper d);
VALA_EXTERN BackingPhotoRow* raw_developer_create_backing_row_for_development (RawDeveloper self,
                                                                   const gchar* raw_filepath,
                                                                   const gchar* camera_development_filename,
                                                                   GError** error);
VALA_EXTERN GType photos_tiff_file_format_driver_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PhotosTiffFileFormatDriver, photo_file_format_driver_unref)
VALA_EXTERN void photos_tiff_file_format_driver_init (void);
VALA_EXTERN PhotosTiffFileFormatDriver* photos_tiff_file_format_driver_get_instance (void);
VALA_EXTERN PhotosTiffFileFormatDriver* photos_tiff_file_format_driver_new (void);
VALA_EXTERN PhotosTiffFileFormatDriver* photos_tiff_file_format_driver_construct (GType object_type);
VALA_EXTERN gboolean photos_is_tiff (GFile* file,
                         GCancellable* cancellable,
                         GError** error);
VALA_EXTERN GType web_psniffer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WebPSniffer, photo_file_sniffer_unref)
VALA_EXTERN WebPSniffer* web_psniffer_new (GFile* file,
                               PhotoFileSnifferOptions options);
VALA_EXTERN WebPSniffer* web_psniffer_construct (GType object_type,
                                     GFile* file,
                                     PhotoFileSnifferOptions options);
VALA_EXTERN GType web_preader_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WebPReader, photo_file_adapter_unref)
VALA_EXTERN WebPReader* web_preader_new (const gchar* filepath);
VALA_EXTERN WebPReader* web_preader_construct (GType object_type,
                                   const gchar* filepath);
VALA_EXTERN GType web_pfile_format_driver_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WebPFileFormatDriver, photo_file_format_driver_unref)
VALA_EXTERN void web_pfile_format_driver_init (void);
VALA_EXTERN WebPFileFormatDriver* web_pfile_format_driver_get_instance (void);
VALA_EXTERN WebPFileFormatDriver* web_pfile_format_driver_new (void);
VALA_EXTERN WebPFileFormatDriver* web_pfile_format_driver_construct (GType object_type);
VALA_EXTERN gpointer plugins_extension_point_ref (gpointer instance);
VALA_EXTERN void plugins_extension_point_unref (gpointer instance);
VALA_EXTERN GParamSpec* plugins_param_spec_extension_point (const gchar* name,
                                                const gchar* nick,
                                                const gchar* blurb,
                                                GType object_type,
                                                GParamFlags flags);
VALA_EXTERN void plugins_value_set_extension_point (GValue* value,
                                        gpointer v_object);
VALA_EXTERN void plugins_value_take_extension_point (GValue* value,
                                         gpointer v_object);
VALA_EXTERN gpointer plugins_value_get_extension_point (const GValue* value);
VALA_EXTERN GType plugins_extension_point_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PluginsExtensionPoint, plugins_extension_point_unref)
VALA_EXTERN PluginsExtensionPoint* plugins_extension_point_new (GType pluggable_type,
                                                    const gchar* name,
                                                    const gchar* icon_name,
                                                    gchar** core_ids,
                                                    gint core_ids_length1);
VALA_EXTERN PluginsExtensionPoint* plugins_extension_point_construct (GType object_type,
                                                          GType pluggable_type,
                                                          const gchar* name,
                                                          const gchar* icon_name,
                                                          gchar** core_ids,
                                                          gint core_ids_length1);
VALA_EXTERN GType plugins_extension_point_get_pluggable_type (PluginsExtensionPoint* self);
VALA_EXTERN const gchar* plugins_extension_point_get_name (PluginsExtensionPoint* self);
VALA_EXTERN const gchar* plugins_extension_point_get_icon_name (PluginsExtensionPoint* self);
VALA_EXTERN gchar** plugins_extension_point_get_core_ids (PluginsExtensionPoint* self,
                                              gint* result_length1);
VALA_EXTERN void plugins_init (GError** error);
VALA_EXTERN void plugins_terminate (void);
VALA_EXTERN gpointer plugins_notifier_ref (gpointer instance);
VALA_EXTERN void plugins_notifier_unref (gpointer instance);
VALA_EXTERN GParamSpec* plugins_param_spec_notifier (const gchar* name,
                                         const gchar* nick,
                                         const gchar* blurb,
                                         GType object_type,
                                         GParamFlags flags);
VALA_EXTERN void plugins_value_set_notifier (GValue* value,
                                 gpointer v_object);
VALA_EXTERN void plugins_value_take_notifier (GValue* value,
                                  gpointer v_object);
VALA_EXTERN gpointer plugins_value_get_notifier (const GValue* value);
VALA_EXTERN GType plugins_notifier_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PluginsNotifier, plugins_notifier_unref)
VALA_EXTERN PluginsNotifier* plugins_notifier_get_instance (void);
VALA_EXTERN void plugins_register_extension_point (GType type,
                                       const gchar* name,
                                       const gchar* icon_name,
                                       gchar** core_ids,
                                       gint core_ids_length1);
VALA_EXTERN GType spit_pluggable_info_get_type (void) G_GNUC_CONST ;
VALA_EXTERN SpitPluggableInfo* spit_pluggable_info_dup (const SpitPluggableInfo* self);
VALA_EXTERN void spit_pluggable_info_free (SpitPluggableInfo* self);
VALA_EXTERN void spit_pluggable_info_copy (const SpitPluggableInfo* self,
                               SpitPluggableInfo* dest);
VALA_EXTERN void spit_pluggable_info_destroy (SpitPluggableInfo* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (SpitPluggableInfo, spit_pluggable_info_destroy)
VALA_EXTERN GType spit_pluggable_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SpitPluggable, g_object_unref)
VALA_EXTERN GeeCollection* plugins_get_pluggables (gboolean include_disabled);
VALA_EXTERN gboolean plugins_is_core_pluggable (SpitPluggable* pluggable);
VALA_EXTERN gchar* plugins_get_pluggable_module_id (SpitPluggable* needle);
VALA_EXTERN GeeCollection* plugins_get_extension_points (GCompareDataFunc compare_func,
                                             gpointer compare_func_target,
                                             GDestroyNotify compare_func_target_destroy_notify);
VALA_EXTERN GeeCollection* plugins_get_pluggables_for_type (GType type,
                                                GCompareDataFunc compare_func,
                                                gpointer compare_func_target,
                                                GDestroyNotify compare_func_target_destroy_notify,
                                                gboolean include_disabled);
VALA_EXTERN gchar* plugins_get_pluggable_name (const gchar* id);
VALA_EXTERN gboolean plugins_get_pluggable_info (const gchar* id,
                                     SpitPluggableInfo* info);
VALA_EXTERN gboolean plugins_get_pluggable_enabled (const gchar* id,
                                        gboolean* enabled);
VALA_EXTERN void plugins_set_pluggable_enabled (const gchar* id,
                                    gboolean enabled);
VALA_EXTERN GFile* plugins_get_pluggable_module_file (SpitPluggable* pluggable);
VALA_EXTERN gint plugins_compare_pluggable_names (SpitPluggable* a,
                                      SpitPluggable* b);
VALA_EXTERN gint plugins_compare_extension_point_names (PluginsExtensionPoint* a,
                                            PluginsExtensionPoint* b);
VALA_EXTERN GType spit_host_interface_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SpitHostInterface, g_object_unref)
VALA_EXTERN GType plugins_standard_host_interface_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PluginsStandardHostInterface, g_object_unref)
VALA_EXTERN PluginsStandardHostInterface* plugins_standard_host_interface_new (SpitPluggable* pluggable,
                                                                   const gchar* config_domain);
VALA_EXTERN PluginsStandardHostInterface* plugins_standard_host_interface_construct (GType object_type,
                                                                         SpitPluggable* pluggable,
                                                                         const gchar* config_domain);
VALA_EXTERN GType plugins_manifest_widget_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PluginsManifestWidget, g_object_unref)
VALA_EXTERN PluginsManifestWidget* plugins_manifest_widget_new (void);
VALA_EXTERN PluginsManifestWidget* plugins_manifest_widget_construct (GType object_type);
VALA_EXTERN GType searches_branch_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SearchesBranch, g_object_unref)
VALA_EXTERN SearchesBranch* searches_branch_new (void);
VALA_EXTERN SearchesBranch* searches_branch_construct (GType object_type);
VALA_EXTERN GType searches_sidebar_entry_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SearchesSidebarEntry, g_object_unref)
VALA_EXTERN SearchesSidebarEntry* searches_branch_get_entry_for_saved_search (SearchesBranch* self,
                                                                  SavedSearch* search);
VALA_EXTERN GType searches_grouping_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SearchesGrouping, g_object_unref)
VALA_EXTERN SearchesGrouping* searches_grouping_new (void);
VALA_EXTERN SearchesGrouping* searches_grouping_construct (GType object_type);
VALA_EXTERN GType sidebar_destroyable_entry_get_type (void) G_GNUC_CONST ;
VALA_EXTERN SearchesSidebarEntry* searches_sidebar_entry_new (SavedSearch* search);
VALA_EXTERN SearchesSidebarEntry* searches_sidebar_entry_construct (GType object_type,
                                                        SavedSearch* search);
VALA_EXTERN SavedSearch* searches_sidebar_entry_for_saved_search (SearchesSidebarEntry* self);
VALA_EXTERN gchar* search_operator_to_string (SearchOperator self);
VALA_EXTERN SearchOperator search_operator_from_string (const gchar* str);
VALA_EXTERN GType search_condition_search_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN SearchConditionSearchType* search_condition_search_type_as_array (gint* result_length1);
VALA_EXTERN void search_condition_search_type_sort_array (SearchConditionSearchType** array,
                                              gint* array_length1);
VALA_EXTERN gchar* search_condition_search_type_to_string (SearchConditionSearchType self);
VALA_EXTERN SearchConditionSearchType search_condition_search_type_from_string (const gchar* str);
VALA_EXTERN gchar* search_condition_search_type_display_text (SearchConditionSearchType self);
VALA_EXTERN gboolean search_condition_predicate (SearchCondition* self,
                                     MediaSource* source);
VALA_EXTERN SearchCondition* search_condition_construct (GType object_type);
VALA_EXTERN SearchConditionSearchType search_condition_get_search_type (SearchCondition* self);
VALA_EXTERN void search_condition_set_search_type (SearchCondition* self,
                                       SearchConditionSearchType value);
VALA_EXTERN GType search_condition_text_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SearchConditionText, search_condition_unref)
VALA_EXTERN GType search_condition_text_context_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* search_condition_text_context_to_string (SearchConditionTextContext self);
VALA_EXTERN SearchConditionTextContext search_condition_text_context_from_string (const gchar* str);
VALA_EXTERN SearchConditionText* search_condition_text_new (SearchConditionSearchType search_type,
                                                const gchar* text,
                                                SearchConditionTextContext context);
VALA_EXTERN SearchConditionText* search_condition_text_construct (GType object_type,
                                                      SearchConditionSearchType search_type,
                                                      const gchar* text,
                                                      SearchConditionTextContext context);
VALA_EXTERN const gchar* search_condition_text_get_text (SearchConditionText* self);
VALA_EXTERN SearchConditionTextContext search_condition_text_get_context (SearchConditionText* self);
VALA_EXTERN GType search_condition_media_type_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SearchConditionMediaType, search_condition_unref)
VALA_EXTERN GType search_condition_media_type_context_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* search_condition_media_type_context_to_string (SearchConditionMediaTypeContext self);
VALA_EXTERN SearchConditionMediaTypeContext search_condition_media_type_context_from_string (const gchar* str);
VALA_EXTERN GType search_condition_media_type_media_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* search_condition_media_type_media_type_to_string (SearchConditionMediaTypeMediaType self);
VALA_EXTERN SearchConditionMediaTypeMediaType search_condition_media_type_media_type_from_string (const gchar* str);
VALA_EXTERN SearchConditionMediaType* search_condition_media_type_new (SearchConditionSearchType search_type,
                                                           SearchConditionMediaTypeContext context,
                                                           SearchConditionMediaTypeMediaType media_type);
VALA_EXTERN SearchConditionMediaType* search_condition_media_type_construct (GType object_type,
                                                                 SearchConditionSearchType search_type,
                                                                 SearchConditionMediaTypeContext context,
                                                                 SearchConditionMediaTypeMediaType media_type);
VALA_EXTERN SearchConditionMediaTypeMediaType search_condition_media_type_get_media_type (SearchConditionMediaType* self);
VALA_EXTERN SearchConditionMediaTypeContext search_condition_media_type_get_context (SearchConditionMediaType* self);
VALA_EXTERN GType search_condition_flagged_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SearchConditionFlagged, search_condition_unref)
VALA_EXTERN GType search_condition_flagged_state_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* search_condition_flagged_state_to_string (SearchConditionFlaggedState self);
VALA_EXTERN SearchConditionFlaggedState search_condition_flagged_state_from_string (const gchar* str);
VALA_EXTERN SearchConditionFlagged* search_condition_flagged_new (SearchConditionSearchType search_type,
                                                      SearchConditionFlaggedState state);
VALA_EXTERN SearchConditionFlagged* search_condition_flagged_construct (GType object_type,
                                                            SearchConditionSearchType search_type,
                                                            SearchConditionFlaggedState state);
VALA_EXTERN SearchConditionFlaggedState search_condition_flagged_get_state (SearchConditionFlagged* self);
VALA_EXTERN GType search_condition_modified_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SearchConditionModified, search_condition_unref)
VALA_EXTERN GType search_condition_modified_context_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* search_condition_modified_context_to_string (SearchConditionModifiedContext self);
VALA_EXTERN SearchConditionModifiedContext search_condition_modified_context_from_string (const gchar* str);
VALA_EXTERN GType search_condition_modified_state_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* search_condition_modified_state_to_string (SearchConditionModifiedState self);
VALA_EXTERN SearchConditionModifiedState search_condition_modified_state_from_string (const gchar* str);
VALA_EXTERN SearchConditionModified* search_condition_modified_new (SearchConditionSearchType search_type,
                                                        SearchConditionModifiedContext context,
                                                        SearchConditionModifiedState state);
VALA_EXTERN SearchConditionModified* search_condition_modified_construct (GType object_type,
                                                              SearchConditionSearchType search_type,
                                                              SearchConditionModifiedContext context,
                                                              SearchConditionModifiedState state);
VALA_EXTERN SearchConditionModifiedState search_condition_modified_get_state (SearchConditionModified* self);
VALA_EXTERN SearchConditionModifiedContext search_condition_modified_get_context (SearchConditionModified* self);
VALA_EXTERN GType search_condition_date_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SearchConditionDate, search_condition_unref)
VALA_EXTERN GType search_condition_date_context_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* search_condition_date_context_to_string (SearchConditionDateContext self);
VALA_EXTERN SearchConditionDateContext search_condition_date_context_from_string (const gchar* str);
VALA_EXTERN SearchConditionDate* search_condition_date_new (SearchConditionSearchType search_type,
                                                SearchConditionDateContext context,
                                                GDateTime* date_one,
                                                GDateTime* date_two);
VALA_EXTERN SearchConditionDate* search_condition_date_construct (GType object_type,
                                                      SearchConditionSearchType search_type,
                                                      SearchConditionDateContext context,
                                                      GDateTime* date_one,
                                                      GDateTime* date_two);
VALA_EXTERN GDateTime* search_condition_date_get_date_one (SearchConditionDate* self);
VALA_EXTERN GDateTime* search_condition_date_get_date_two (SearchConditionDate* self);
VALA_EXTERN SearchConditionDateContext search_condition_date_get_context (SearchConditionDate* self);
VALA_EXTERN SavedSearch* saved_search_new (SavedSearchRow* row,
                               gint64 object_id);
VALA_EXTERN SavedSearch* saved_search_construct (GType object_type,
                                     SavedSearchRow* row,
                                     gint64 object_id);
VALA_EXTERN void saved_search_get_saved_search_id (SavedSearch* self,
                                       SavedSearchID* result);
VALA_EXTERN gint saved_search_compare_names (void* a,
                                 void* b);
VALA_EXTERN gboolean saved_search_predicate (SavedSearch* self,
                                 MediaSource* source);
VALA_EXTERN void saved_search_reconstitute (SavedSearch* self);
VALA_EXTERN gboolean saved_search_rename (SavedSearch* self,
                              const gchar* new_name);
VALA_EXTERN GeeList* saved_search_get_conditions (SavedSearch* self);
VALA_EXTERN SearchOperator saved_search_get_operator (SavedSearch* self);
VALA_EXTERN gpointer saved_search_table_ref (gpointer instance);
VALA_EXTERN void saved_search_table_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_saved_search_table (const gchar* name,
                                           const gchar* nick,
                                           const gchar* blurb,
                                           GType object_type,
                                           GParamFlags flags);
VALA_EXTERN void value_set_saved_search_table (GValue* value,
                                   gpointer v_object);
VALA_EXTERN void value_take_saved_search_table (GValue* value,
                                    gpointer v_object);
VALA_EXTERN gpointer value_get_saved_search_table (const GValue* value);
VALA_EXTERN GType saved_search_table_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SavedSearchTable, saved_search_table_unref)
VALA_EXTERN SavedSearchTable* saved_search_table_get_instance (void);
VALA_EXTERN GeeCollection* saved_search_table_get_all (SavedSearchTable* self);
VALA_EXTERN SavedSearch* saved_search_table_create (SavedSearchTable* self,
                                        const gchar* name,
                                        SearchOperator operator,
                                        GeeArrayList* conditions);
VALA_EXTERN void saved_search_table_remove (SavedSearchTable* self,
                                SavedSearch* search);
VALA_EXTERN void saved_search_table_add_to_map (SavedSearchTable* self,
                                    SavedSearch* search);
VALA_EXTERN void saved_search_table_remove_from_map (SavedSearchTable* self,
                                         SavedSearch* search);
VALA_EXTERN GeeIterable* saved_search_table_get_saved_searches (SavedSearchTable* self);
VALA_EXTERN gint saved_search_table_get_count (SavedSearchTable* self);
VALA_EXTERN gboolean saved_search_table_exists (SavedSearchTable* self,
                                    const gchar* search_name);
VALA_EXTERN gchar* saved_search_table_generate_unique_name (SavedSearchTable* self);
VALA_EXTERN GType sidebar_branch_options_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gboolean sidebar_branch_options_is_hide_if_empty (SidebarBranchOptions self);
VALA_EXTERN gboolean sidebar_branch_options_is_auto_open_on_new_child (SidebarBranchOptions self);
VALA_EXTERN gboolean sidebar_branch_options_is_startup_expand_to_first_child (SidebarBranchOptions self);
VALA_EXTERN gboolean sidebar_branch_options_is_startup_open_grouping (SidebarBranchOptions self);
VALA_EXTERN SidebarBranch* sidebar_branch_new (SidebarEntry* root,
                                   SidebarBranchOptions options,
                                   GCompareFunc default_comparator,
                                   GCompareFunc root_comparator);
VALA_EXTERN SidebarBranch* sidebar_branch_construct (GType object_type,
                                         SidebarEntry* root,
                                         SidebarBranchOptions options,
                                         GCompareFunc default_comparator,
                                         GCompareFunc root_comparator);
VALA_EXTERN SidebarEntry* sidebar_branch_get_root (SidebarBranch* self);
VALA_EXTERN void sidebar_branch_set_show_branch (SidebarBranch* self,
                                     gboolean shown);
VALA_EXTERN gboolean sidebar_branch_get_show_branch (SidebarBranch* self);
VALA_EXTERN gboolean sidebar_branch_is_auto_open_on_new_child (SidebarBranch* self);
VALA_EXTERN gboolean sidebar_branch_is_startup_expand_to_first_child (SidebarBranch* self);
VALA_EXTERN gboolean sidebar_branch_is_startup_open_grouping (SidebarBranch* self);
VALA_EXTERN void sidebar_branch_graft (SidebarBranch* self,
                           SidebarEntry* parent,
                           SidebarEntry* entry,
                           GCompareFunc comparator);
VALA_EXTERN void sidebar_branch_prune (SidebarBranch* self,
                           SidebarEntry* entry);
VALA_EXTERN void sidebar_branch_reparent (SidebarBranch* self,
                              SidebarEntry* new_parent,
                              SidebarEntry* entry);
VALA_EXTERN gboolean sidebar_branch_has_entry (SidebarBranch* self,
                                   SidebarEntry* entry);
VALA_EXTERN void sidebar_branch_reorder (SidebarBranch* self,
                             SidebarEntry* entry);
VALA_EXTERN void sidebar_branch_reorder_all (SidebarBranch* self);
VALA_EXTERN void sidebar_branch_reorder_children (SidebarBranch* self,
                                      SidebarEntry* entry,
                                      gboolean recursive);
VALA_EXTERN void sidebar_branch_change_all_comparators (SidebarBranch* self,
                                            GCompareFunc comparator);
VALA_EXTERN void sidebar_branch_change_comparator (SidebarBranch* self,
                                       SidebarEntry* entry,
                                       gboolean recursive,
                                       GCompareFunc comparator);
VALA_EXTERN gint sidebar_branch_get_child_count (SidebarBranch* self,
                                     SidebarEntry* parent);
VALA_EXTERN GeeList* sidebar_branch_get_children (SidebarBranch* self,
                                      SidebarEntry* parent);
VALA_EXTERN SidebarEntry* sidebar_branch_find_first_child (SidebarBranch* self,
                                               SidebarEntry* parent,
                                               Locator locator,
                                               gpointer locator_target);
VALA_EXTERN SidebarEntry* sidebar_branch_get_parent (SidebarBranch* self,
                                         SidebarEntry* entry);
VALA_EXTERN SidebarEntry* sidebar_branch_get_previous_sibling (SidebarBranch* self,
                                                   SidebarEntry* entry);
VALA_EXTERN SidebarEntry* sidebar_branch_get_next_sibling (SidebarBranch* self,
                                               SidebarEntry* entry);
VALA_EXTERN SidebarGrouping* sidebar_grouping_new (const gchar* name,
                                       GIcon* open_icon,
                                       GIcon* closed_icon);
VALA_EXTERN SidebarGrouping* sidebar_grouping_construct (GType object_type,
                                             const gchar* name,
                                             GIcon* open_icon,
                                             GIcon* closed_icon);
VALA_EXTERN SidebarSimplePageEntry* sidebar_simple_page_entry_construct (GType object_type);
VALA_EXTERN gchar* sidebar_simple_page_entry_get_sidebar_name (SidebarSimplePageEntry* self);
VALA_EXTERN gchar* sidebar_simple_page_entry_get_sidebar_tooltip (SidebarSimplePageEntry* self);
VALA_EXTERN GIcon* sidebar_simple_page_entry_get_sidebar_icon (SidebarSimplePageEntry* self);
VALA_EXTERN gchar* sidebar_simple_page_entry_to_string (SidebarSimplePageEntry* self);
VALA_EXTERN Page* sidebar_simple_page_entry_create_page (SidebarSimplePageEntry* self);
VALA_EXTERN GType sidebar_root_only_branch_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SidebarRootOnlyBranch, g_object_unref)
VALA_EXTERN SidebarRootOnlyBranch* sidebar_root_only_branch_new (SidebarEntry* root);
VALA_EXTERN SidebarRootOnlyBranch* sidebar_root_only_branch_construct (GType object_type,
                                                           SidebarEntry* root);
VALA_EXTERN GtkMenu* sidebar_contextable_get_sidebar_context_menu (SidebarContextable* self,
                                                       GdkEventButton* event);
VALA_EXTERN gchar* sidebar_entry_get_sidebar_name (SidebarEntry* self);
VALA_EXTERN gchar* sidebar_entry_get_sidebar_tooltip (SidebarEntry* self);
VALA_EXTERN GIcon* sidebar_entry_get_sidebar_icon (SidebarEntry* self);
VALA_EXTERN gchar* sidebar_entry_to_string (SidebarEntry* self);
VALA_EXTERN GIcon* sidebar_expandable_entry_get_sidebar_open_icon (SidebarExpandableEntry* self);
VALA_EXTERN GIcon* sidebar_expandable_entry_get_sidebar_closed_icon (SidebarExpandableEntry* self);
VALA_EXTERN gboolean sidebar_expandable_entry_expand_on_select (SidebarExpandableEntry* self);
VALA_EXTERN gboolean sidebar_page_representative_has_page (SidebarPageRepresentative* self);
VALA_EXTERN Page* sidebar_page_representative_get_page (SidebarPageRepresentative* self);
VALA_EXTERN void sidebar_renameable_entry_rename (SidebarRenameableEntry* self,
                                      const gchar* new_name);
VALA_EXTERN void sidebar_destroyable_entry_destroy_source (SidebarDestroyableEntry* self);
VALA_EXTERN gboolean sidebar_internal_drop_target_entry_internal_drop_received (SidebarInternalDropTargetEntry* self,
                                                                    GeeList* sources);
VALA_EXTERN gboolean sidebar_internal_drop_target_entry_internal_drop_received_arbitrary (SidebarInternalDropTargetEntry* self,
                                                                              GtkSelectionData* data);
VALA_EXTERN GType sidebar_internal_drag_source_entry_get_type (void) G_GNUC_CONST ;
VALA_EXTERN void sidebar_internal_drag_source_entry_prepare_selection_data (SidebarInternalDragSourceEntry* self,
                                                                GtkSelectionData* data);
VALA_EXTERN SidebarTree* sidebar_tree_new (GtkTargetEntry* target_entries,
                               gint target_entries_length1,
                               GdkDragAction actions,
                               SidebarTreeExternalDropHandler drop_handler,
                               gpointer drop_handler_target);
VALA_EXTERN SidebarTree* sidebar_tree_construct (GType object_type,
                                     GtkTargetEntry* target_entries,
                                     gint target_entries_length1,
                                     GdkDragAction actions,
                                     SidebarTreeExternalDropHandler drop_handler,
                                     gpointer drop_handler_target);
VALA_EXTERN gboolean sidebar_tree_place_cursor (SidebarTree* self,
                                    SidebarEntry* entry,
                                    gboolean mask_signal);
VALA_EXTERN gboolean sidebar_tree_is_selected (SidebarTree* self,
                                   SidebarEntry* entry);
VALA_EXTERN gboolean sidebar_tree_is_any_selected (SidebarTree* self);
VALA_EXTERN void sidebar_tree_disable_editing (SidebarTree* self);
VALA_EXTERN void sidebar_tree_enable_editing (SidebarTree* self);
VALA_EXTERN void sidebar_tree_toggle_branch_expansion (SidebarTree* self,
                                           GtkTreePath* path,
                                           gboolean expand_all);
VALA_EXTERN gboolean sidebar_tree_expand_to_entry (SidebarTree* self,
                                       SidebarEntry* entry);
VALA_EXTERN void sidebar_tree_expand_to_first_child (SidebarTree* self,
                                         SidebarEntry* entry);
VALA_EXTERN void sidebar_tree_graft (SidebarTree* self,
                         SidebarBranch* branch,
                         gint position);
VALA_EXTERN void sidebar_tree_prune (SidebarTree* self,
                         SidebarBranch* branch);
VALA_EXTERN gboolean sidebar_tree_is_keypress_interpreted (SidebarTree* self,
                                               GdkEventKey* event);
VALA_EXTERN gboolean sidebar_tree_rename_entry_in_place (SidebarTree* self,
                                             SidebarEntry* entry);
VALA_EXTERN gboolean sidebar_tree_scroll_to_entry (SidebarTree* self,
                                       SidebarEntry* entry);
VALA_EXTERN GType metadata_view_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MetadataView, g_object_unref)
VALA_EXTERN MetadataView* metadata_view_new (void);
VALA_EXTERN MetadataView* metadata_view_construct (GType object_type);
VALA_EXTERN void metadata_view_update_properties (MetadataView* self,
                                      Page* page);
VALA_EXTERN void metadata_view_save_changes (MetadataView* self);
VALA_EXTERN GType properties_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Properties, g_object_unref)
VALA_EXTERN Properties* properties_construct (GType object_type);
VALA_EXTERN void properties_add_line (Properties* self,
                          const gchar* label_text,
                          const gchar* info_text);
VALA_EXTERN gchar* properties_get_prettyprint_time (Properties* self,
                                        GDateTime* time);
VALA_EXTERN gchar* properties_get_prettyprint_time_with_seconds (Properties* self,
                                                     GDateTime* time);
VALA_EXTERN gchar* properties_get_prettyprint_date (Properties* self,
                                        GDateTime* date);
VALA_EXTERN void properties_get_single_properties (Properties* self,
                                       DataView* view);
VALA_EXTERN void properties_get_multiple_properties (Properties* self,
                                         GeeIterable* iter);
VALA_EXTERN void properties_get_properties (Properties* self,
                                Page* current_page);
VALA_EXTERN void properties_clear_properties (Properties* self);
VALA_EXTERN void properties_update_properties (Properties* self,
                                   Page* page);
VALA_EXTERN void properties_internal_update_properties (Properties* self,
                                            Page* page);
VALA_EXTERN void properties_unselect_text (Properties* self);
VALA_EXTERN void properties_save_changes_to_source (Properties* self);
VALA_EXTERN GType properties_header_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PropertiesHeader, g_object_unref)
VALA_EXTERN PropertiesHeader* properties_header_new (const gchar* text);
VALA_EXTERN PropertiesHeader* properties_header_construct (GType object_type,
                                               const gchar* text);
VALA_EXTERN GType properties_label_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PropertiesLabel, g_object_unref)
VALA_EXTERN PropertiesLabel* properties_label_new (const gchar* text);
VALA_EXTERN PropertiesLabel* properties_label_construct (GType object_type,
                                             const gchar* text);
VALA_EXTERN void slideshow_init (GError** error);
VALA_EXTERN void slideshow_terminate (void);
VALA_EXTERN gpointer transition_effects_manager_ref (gpointer instance);
VALA_EXTERN void transition_effects_manager_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_transition_effects_manager (const gchar* name,
                                                   const gchar* nick,
                                                   const gchar* blurb,
                                                   GType object_type,
                                                   GParamFlags flags);
VALA_EXTERN void value_set_transition_effects_manager (GValue* value,
                                           gpointer v_object);
VALA_EXTERN void value_take_transition_effects_manager (GValue* value,
                                            gpointer v_object);
VALA_EXTERN gpointer value_get_transition_effects_manager (const GValue* value);
VALA_EXTERN GType transition_effects_manager_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TransitionEffectsManager, transition_effects_manager_unref)
VALA_EXTERN void transition_effects_manager_init (void);
VALA_EXTERN void transition_effects_manager_terminate (void);
VALA_EXTERN TransitionEffectsManager* transition_effects_manager_get_instance (void);
VALA_EXTERN GeeCollection* transition_effects_manager_get_effect_ids (TransitionEffectsManager* self);
VALA_EXTERN GeeCollection* transition_effects_manager_get_effect_names (TransitionEffectsManager* self,
                                                            GCompareDataFunc comparator,
                                                            gpointer comparator_target,
                                                            GDestroyNotify comparator_target_destroy_notify);
VALA_EXTERN gchar* transition_effects_manager_get_id_for_effect_name (TransitionEffectsManager* self,
                                                          const gchar* effect_name);
VALA_EXTERN GType spit_transitions_visuals_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SpitTransitionsVisuals, g_object_unref)
VALA_EXTERN GType spit_transitions_motion_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SpitTransitionsMotion, g_object_unref)
VALA_EXTERN GType spit_transitions_effect_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SpitTransitionsEffect, g_object_unref)
VALA_EXTERN GType spit_transitions_descriptor_get_type (void) G_GNUC_CONST ;
VALA_EXTERN SpitTransitionsDescriptor* transition_effects_manager_get_effect_descriptor (TransitionEffectsManager* self,
                                                                             const gchar* effect_id);
VALA_EXTERN gchar* transition_effects_manager_get_effect_name (TransitionEffectsManager* self,
                                                   const gchar* effect_id);
VALA_EXTERN SpitTransitionsDescriptor* transition_effects_manager_get_null_descriptor (TransitionEffectsManager* self);
VALA_EXTERN gpointer transition_clock_ref (gpointer instance);
VALA_EXTERN void transition_clock_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_transition_clock (const gchar* name,
                                         const gchar* nick,
                                         const gchar* blurb,
                                         GType object_type,
                                         GParamFlags flags);
VALA_EXTERN void value_set_transition_clock (GValue* value,
                                 gpointer v_object);
VALA_EXTERN void value_take_transition_clock (GValue* value,
                                  gpointer v_object);
VALA_EXTERN gpointer value_get_transition_clock (const GValue* value);
VALA_EXTERN GType transition_clock_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TransitionClock, transition_clock_unref)
VALA_EXTERN TransitionClock* transition_effects_manager_create_transition_clock (TransitionEffectsManager* self,
                                                                     const gchar* effect_id);
VALA_EXTERN TransitionClock* transition_effects_manager_create_null_transition_clock (TransitionEffectsManager* self);
VALA_EXTERN TransitionClock* transition_clock_new (SpitTransitionsDescriptor* desc);
VALA_EXTERN TransitionClock* transition_clock_construct (GType object_type,
                                             SpitTransitionsDescriptor* desc);
VALA_EXTERN gboolean transition_clock_is_in_progress (TransitionClock* self);
VALA_EXTERN GType spit_transitions_direction_get_type (void) G_GNUC_CONST ;
VALA_EXTERN void transition_clock_start (TransitionClock* self,
                             SpitTransitionsVisuals* visuals,
                             SpitTransitionsDirection direction,
                             gint duration_msec,
                             TransitionClockRepaintCallback repaint,
                             gpointer repaint_target);
VALA_EXTERN void transition_clock_cancel (TransitionClock* self);
VALA_EXTERN gboolean transition_clock_paint (TransitionClock* self,
                                 cairo_t* ctx,
                                 gint width,
                                 gint height);
VALA_EXTERN GType null_transition_descriptor_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (NullTransitionDescriptor, g_object_unref)
VALA_EXTERN NullTransitionDescriptor* null_transition_descriptor_new (void);
VALA_EXTERN NullTransitionDescriptor* null_transition_descriptor_construct (GType object_type);
VALA_EXTERN GType null_effect_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (NullEffect, g_object_unref)
VALA_EXTERN NullEffect* null_effect_new (void);
VALA_EXTERN NullEffect* null_effect_construct (GType object_type);
VALA_EXTERN GType random_effect_descriptor_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (RandomEffectDescriptor, g_object_unref)
VALA_EXTERN RandomEffectDescriptor* random_effect_descriptor_new (void);
VALA_EXTERN RandomEffectDescriptor* random_effect_descriptor_construct (GType object_type);
VALA_EXTERN GType tags_branch_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TagsBranch, g_object_unref)
VALA_EXTERN TagsBranch* tags_branch_new (void);
VALA_EXTERN TagsBranch* tags_branch_construct (GType object_type);
VALA_EXTERN GType tags_sidebar_entry_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TagsSidebarEntry, g_object_unref)
VALA_EXTERN TagsSidebarEntry* tags_branch_get_entry_for_tag (TagsBranch* self,
                                                 Tag* tag);
VALA_EXTERN GType tags_grouping_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TagsGrouping, g_object_unref)
VALA_EXTERN TagsGrouping* tags_grouping_new (void);
VALA_EXTERN TagsGrouping* tags_grouping_construct (GType object_type);
VALA_EXTERN TagsSidebarEntry* tags_sidebar_entry_new (Tag* tag);
VALA_EXTERN TagsSidebarEntry* tags_sidebar_entry_construct (GType object_type,
                                                Tag* tag);
VALA_EXTERN Tag* tags_sidebar_entry_for_tag (TagsSidebarEntry* self);
VALA_EXTERN gpointer hierarchical_tag_index_ref (gpointer instance);
VALA_EXTERN void hierarchical_tag_index_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_hierarchical_tag_index (const gchar* name,
                                               const gchar* nick,
                                               const gchar* blurb,
                                               GType object_type,
                                               GParamFlags flags);
VALA_EXTERN void value_set_hierarchical_tag_index (GValue* value,
                                       gpointer v_object);
VALA_EXTERN void value_take_hierarchical_tag_index (GValue* value,
                                        gpointer v_object);
VALA_EXTERN gpointer value_get_hierarchical_tag_index (const GValue* value);
VALA_EXTERN GType hierarchical_tag_index_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (HierarchicalTagIndex, hierarchical_tag_index_unref)
VALA_EXTERN HierarchicalTagIndex* hierarchical_tag_index_new (void);
VALA_EXTERN HierarchicalTagIndex* hierarchical_tag_index_construct (GType object_type);
VALA_EXTERN HierarchicalTagIndex* hierarchical_tag_index_from_paths (GeeCollection* client_paths);
VALA_EXTERN HierarchicalTagIndex* hierarchical_tag_index_get_global_index (void);
VALA_EXTERN void hierarchical_tag_index_add_path (HierarchicalTagIndex* self,
                                      const gchar* tag,
                                      const gchar* path);
VALA_EXTERN GeeCollection* hierarchical_tag_index_get_all_paths (HierarchicalTagIndex* self);
VALA_EXTERN gboolean hierarchical_tag_index_is_tag_in_index (HierarchicalTagIndex* self,
                                                 const gchar* tag);
VALA_EXTERN GeeCollection* hierarchical_tag_index_get_all_tags (HierarchicalTagIndex* self);
VALA_EXTERN gboolean hierarchical_tag_index_is_path_known (HierarchicalTagIndex* self,
                                               const gchar* path);
VALA_EXTERN gchar* hierarchical_tag_index_get_path_for_name (HierarchicalTagIndex* self,
                                                 const gchar* name);
VALA_EXTERN gchar** hierarchical_tag_index_get_paths_for_names_array (HierarchicalTagIndex* self,
                                                          gchar** names,
                                                          gint names_length1,
                                                          gint* result_length1);
VALA_EXTERN gpointer background_job_ref (gpointer instance);
VALA_EXTERN void background_job_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_background_job (const gchar* name,
                                       const gchar* nick,
                                       const gchar* blurb,
                                       GType object_type,
                                       GParamFlags flags);
VALA_EXTERN void value_set_background_job (GValue* value,
                               gpointer v_object);
VALA_EXTERN void value_take_background_job (GValue* value,
                                gpointer v_object);
VALA_EXTERN gpointer value_get_background_job (const GValue* value);
VALA_EXTERN GType background_job_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (BackgroundJob, background_job_unref)
VALA_EXTERN gpointer notification_object_ref (gpointer instance);
VALA_EXTERN void notification_object_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_notification_object (const gchar* name,
                                            const gchar* nick,
                                            const gchar* blurb,
                                            GType object_type,
                                            GParamFlags flags);
VALA_EXTERN void value_set_notification_object (GValue* value,
                                    gpointer v_object);
VALA_EXTERN void value_take_notification_object (GValue* value,
                                     gpointer v_object);
VALA_EXTERN gpointer value_get_notification_object (const GValue* value);
VALA_EXTERN GType notification_object_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (NotificationObject, notification_object_unref)
VALA_EXTERN NotificationObject* notification_object_construct (GType object_type);
VALA_EXTERN GType interlocked_notification_object_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (InterlockedNotificationObject, notification_object_unref)
VALA_EXTERN void interlocked_notification_object_internal_wait_for_completion (InterlockedNotificationObject* self);
VALA_EXTERN void interlocked_notification_object_internal_completed (InterlockedNotificationObject* self);
VALA_EXTERN InterlockedNotificationObject* interlocked_notification_object_construct (GType object_type);
VALA_EXTERN gint background_job_job_priority_compare (BackgroundJobJobPriority self,
                                          BackgroundJobJobPriority other);
VALA_EXTERN gint background_job_job_priority_compare_func (void* a,
                                               void* b);
VALA_EXTERN gpointer abstract_semaphore_ref (gpointer instance);
VALA_EXTERN void abstract_semaphore_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_abstract_semaphore (const gchar* name,
                                           const gchar* nick,
                                           const gchar* blurb,
                                           GType object_type,
                                           GParamFlags flags);
VALA_EXTERN void value_set_abstract_semaphore (GValue* value,
                                   gpointer v_object);
VALA_EXTERN void value_take_abstract_semaphore (GValue* value,
                                    gpointer v_object);
VALA_EXTERN gpointer value_get_abstract_semaphore (const GValue* value);
VALA_EXTERN GType abstract_semaphore_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AbstractSemaphore, abstract_semaphore_unref)
VALA_EXTERN BackgroundJob* background_job_construct (GType object_type,
                                         GObject* owner,
                                         CompletionCallback callback,
                                         gpointer callback_target,
                                         GCancellable* cancellable,
                                         CancellationCallback cancellation,
                                         gpointer cancellation_target,
                                         AbstractSemaphore* completion_semaphore);
VALA_EXTERN void background_job_execute (BackgroundJob* self);
VALA_EXTERN BackgroundJobJobPriority background_job_get_priority (BackgroundJob* self);
VALA_EXTERN gint background_job_priority_compare_func (BackgroundJob* a,
                                           BackgroundJob* b);
VALA_EXTERN gint64 background_job_priority_comparator (void* a,
                                           void* b);
VALA_EXTERN void background_job_set_completion_priority (BackgroundJob* self,
                                             gint priority);
VALA_EXTERN void background_job_set_notification_priority (BackgroundJob* self,
                                               gint priority);
VALA_EXTERN void background_job_wait_for_completion (BackgroundJob* self);
VALA_EXTERN GCancellable* background_job_get_cancellable (BackgroundJob* self);
VALA_EXTERN gboolean background_job_is_cancelled (BackgroundJob* self);
VALA_EXTERN void background_job_cancel (BackgroundJob* self);
VALA_EXTERN void background_job_internal_notify_completion (BackgroundJob* self);
VALA_EXTERN void background_job_notify (BackgroundJob* self,
                            NotificationCallback callback,
                            gpointer callback_target,
                            NotificationObject* user);
VALA_EXTERN GType abstract_semaphore_notify_action_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType abstract_semaphore_wait_action_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType abstract_semaphore_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN AbstractSemaphore* abstract_semaphore_construct (GType object_type,
                                                 AbstractSemaphoreType type);
VALA_EXTERN void abstract_semaphore_notify (AbstractSemaphore* self);
VALA_EXTERN AbstractSemaphoreNotifyAction abstract_semaphore_do_notify (AbstractSemaphore* self);
VALA_EXTERN void abstract_semaphore_wait (AbstractSemaphore* self);
VALA_EXTERN AbstractSemaphoreWaitAction abstract_semaphore_do_wait (AbstractSemaphore* self);
VALA_EXTERN gboolean abstract_semaphore_reset (AbstractSemaphore* self);
VALA_EXTERN gboolean abstract_semaphore_do_reset (AbstractSemaphore* self);
VALA_EXTERN GType semaphore_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Semaphore, abstract_semaphore_unref)
VALA_EXTERN Semaphore* semaphore_new (void);
VALA_EXTERN Semaphore* semaphore_construct (GType object_type);
VALA_EXTERN GType countdown_semaphore_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (CountdownSemaphore, abstract_semaphore_unref)
VALA_EXTERN CountdownSemaphore* countdown_semaphore_new (gint total);
VALA_EXTERN CountdownSemaphore* countdown_semaphore_construct (GType object_type,
                                                   gint total);
VALA_EXTERN GType event_semaphore_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EventSemaphore, abstract_semaphore_unref)
VALA_EXTERN EventSemaphore* event_semaphore_new (void);
VALA_EXTERN EventSemaphore* event_semaphore_construct (GType object_type);
VALA_EXTERN GType background_job_batch_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (BackgroundJobBatch, g_object_unref)
VALA_EXTERN BackgroundJobBatch* background_job_batch_new (void);
VALA_EXTERN BackgroundJobBatch* background_job_batch_construct (GType object_type);
VALA_EXTERN Workers* workers_new (gint max_threads,
                      gboolean exclusive);
VALA_EXTERN Workers* workers_construct (GType object_type,
                            gint max_threads,
                            gboolean exclusive);
VALA_EXTERN gint workers_threads_per_cpu (gint per,
                              gint max);
VALA_EXTERN gint workers_thread_per_cpu_minus_one (void);
VALA_EXTERN void workers_enqueue (Workers* self,
                      BackgroundJob* job);
VALA_EXTERN void workers_enqueue_many (Workers* self,
                           BackgroundJobBatch* batch);
VALA_EXTERN void workers_wait_for_empty_queue (Workers* self);
VALA_EXTERN gint workers_get_pending_job_count (Workers* self);
VALA_EXTERN gpointer drag_and_drop_handler_ref (gpointer instance);
VALA_EXTERN void drag_and_drop_handler_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_drag_and_drop_handler (const gchar* name,
                                              const gchar* nick,
                                              const gchar* blurb,
                                              GType object_type,
                                              GParamFlags flags);
VALA_EXTERN void value_set_drag_and_drop_handler (GValue* value,
                                      gpointer v_object);
VALA_EXTERN void value_take_drag_and_drop_handler (GValue* value,
                                       gpointer v_object);
VALA_EXTERN gpointer value_get_drag_and_drop_handler (const GValue* value);
VALA_EXTERN GType drag_and_drop_handler_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DragAndDropHandler, drag_and_drop_handler_unref)
VALA_EXTERN DragAndDropHandler* drag_and_drop_handler_new (Page* page);
VALA_EXTERN DragAndDropHandler* drag_and_drop_handler_construct (GType object_type,
                                                     Page* page);
VALA_EXTERN gboolean claim_file (GFile* file,
                     GError** error);
VALA_EXTERN GFile* generate_unique_file (GFile* dir,
                             const gchar* basename,
                             gboolean* collision,
                             GError** error);
VALA_EXTERN void disassemble_filename (const gchar* basename,
                           gchar** name,
                           gchar** ext);
VALA_EXTERN guint64 query_total_file_size (GFile* file_or_dir,
                               GCancellable* cancellable,
                               GError** error);
VALA_EXTERN void delete_all_files (GFile* dir,
                       GeeSet* exceptions,
                       ProgressMonitor monitor,
                       gpointer monitor_target,
                       guint64 file_count,
                       GCancellable* cancellable,
                       GError** error);
VALA_EXTERN gint64 query_file_modified (GFile* file,
                            GError** error);
VALA_EXTERN gboolean query_is_directory (GFile* file);
VALA_EXTERN gboolean query_is_directory_empty (GFile* dir,
                                   GError** error);
VALA_EXTERN gchar* get_display_pathname (GFile* file);
VALA_EXTERN gchar* strip_pretty_path (const gchar* path);
VALA_EXTERN gchar* get_file_info_id (GFileInfo* info);
VALA_EXTERN void skip_uint64 (GInputStream* input,
                  guint64 skip_amount,
                  GError** error);
VALA_EXTERN guint64 count_files_in_directory (GFile* dir,
                                  GError** error);
VALA_EXTERN gboolean file_equal (GFile* a,
                     GFile* b);
VALA_EXTERN guint file_hash (GFile* file);
VALA_EXTERN void shift_colors (GdkPixbuf* pixbuf,
                   gint red,
                   gint green,
                   gint blue,
                   gint alpha);
VALA_EXTERN void dim_pixbuf (GdkPixbuf* pixbuf);
VALA_EXTERN gboolean rectangles_equal (GdkRectangle* a,
                           GdkRectangle* b);
VALA_EXTERN gchar* rectangle_to_string (GdkRectangle* rect);
VALA_EXTERN void clamp_rectangle (GdkRectangle* original,
                      Dimensions* max,
                      GdkRectangle* result);
VALA_EXTERN void scale_point (GdkPoint* p,
                  gdouble factor,
                  GdkPoint* result);
VALA_EXTERN void add_points (GdkPoint* p1,
                 GdkPoint* p2,
                 GdkPoint* result);
VALA_EXTERN void subtract_points (GdkPoint* p1,
                      GdkPoint* p2,
                      GdkPoint* result);
VALA_EXTERN KeyValueMap* key_value_map_new (const gchar* group);
VALA_EXTERN KeyValueMap* key_value_map_construct (GType object_type,
                                      const gchar* group);
VALA_EXTERN KeyValueMap* key_value_map_copy (KeyValueMap* self);
VALA_EXTERN gchar* key_value_map_get_group (KeyValueMap* self);
VALA_EXTERN GeeSet* key_value_map_get_keys (KeyValueMap* self);
VALA_EXTERN gboolean key_value_map_has_key (KeyValueMap* self,
                                const gchar* key);
VALA_EXTERN void key_value_map_set_string (KeyValueMap* self,
                               const gchar* key,
                               const gchar* value);
VALA_EXTERN void key_value_map_set_int (KeyValueMap* self,
                            const gchar* key,
                            gint value);
VALA_EXTERN void key_value_map_set_double (KeyValueMap* self,
                               const gchar* key,
                               gdouble value);
VALA_EXTERN void key_value_map_set_float (KeyValueMap* self,
                              const gchar* key,
                              gfloat value);
VALA_EXTERN void key_value_map_set_bool (KeyValueMap* self,
                             const gchar* key,
                             gboolean value);
VALA_EXTERN gchar* key_value_map_get_string (KeyValueMap* self,
                                 const gchar* key,
                                 const gchar* def);
VALA_EXTERN gint key_value_map_get_int (KeyValueMap* self,
                            const gchar* key,
                            gint def);
VALA_EXTERN gdouble key_value_map_get_double (KeyValueMap* self,
                                  const gchar* key,
                                  gdouble def);
VALA_EXTERN gfloat key_value_map_get_float (KeyValueMap* self,
                                const gchar* key,
                                gfloat def);
VALA_EXTERN gboolean key_value_map_get_bool (KeyValueMap* self,
                                 const gchar* key,
                                 gboolean def);
VALA_EXTERN void key_value_map_get_point (KeyValueMap* self,
                              const gchar* key,
                              GdkPoint* def,
                              GdkPoint* result);
VALA_EXTERN void key_value_map_set_point (KeyValueMap* self,
                              const gchar* key,
                              GdkPoint* point);
VALA_EXTERN guint int64_hash (gint64* n);
VALA_EXTERN gboolean int64_equal (gint64* a,
                      gint64* b);
VALA_EXTERN gint int64_compare (gint64* a,
                    gint64* b);
VALA_EXTERN gint uint64_compare (guint64* a,
                     guint64* b);
VALA_EXTERN gboolean bool_value_equals (GValue* a,
                            GValue* b);
VALA_EXTERN gboolean int_value_equals (GValue* a,
                           GValue* b);
VALA_EXTERN gint64 now_ms (void);
VALA_EXTERN gint64 now_sec (void);
VALA_EXTERN gchar* md5_binary (guint8* buffer,
                   gsize length);
VALA_EXTERN gchar* md5_file (GFile* file,
                 GError** error);
VALA_EXTERN gboolean equal_sets (GeeSet* a,
                     GeeSet* b);
VALA_EXTERN GeeSet* intersection_of_sets (GeeSet* a,
                              GeeSet* b,
                              GeeSet* excluded);
VALA_EXTERN guchar* serialize_photo_ids (GeeCollection* photos,
                             gint* result_length1);
VALA_EXTERN GeeList* unserialize_photo_ids (guchar* serialized,
                                gint size);
VALA_EXTERN guchar* serialize_media_sources (GeeCollection* media,
                                 gint* result_length1);
VALA_EXTERN GeeList* unserialize_media_sources (guchar* serialized,
                                    gint size);
VALA_EXTERN gchar* format_local_datespan (GDateTime* from_date,
                              GDateTime* to_date);
VALA_EXTERN gchar* format_local_date (GDateTime* date);
VALA_EXTERN gpointer one_shot_scheduler_ref (gpointer instance);
VALA_EXTERN void one_shot_scheduler_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_one_shot_scheduler (const gchar* name,
                                           const gchar* nick,
                                           const gchar* blurb,
                                           GType object_type,
                                           GParamFlags flags);
VALA_EXTERN void value_set_one_shot_scheduler (GValue* value,
                                   gpointer v_object);
VALA_EXTERN void value_take_one_shot_scheduler (GValue* value,
                                    gpointer v_object);
VALA_EXTERN gpointer value_get_one_shot_scheduler (const GValue* value);
VALA_EXTERN GType one_shot_scheduler_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (OneShotScheduler, one_shot_scheduler_unref)
VALA_EXTERN OneShotScheduler* one_shot_scheduler_new (const gchar* name,
                                          OneShotCallback callback,
                                          gpointer callback_target);
VALA_EXTERN OneShotScheduler* one_shot_scheduler_construct (GType object_type,
                                                const gchar* name,
                                                OneShotCallback callback,
                                                gpointer callback_target);
VALA_EXTERN gboolean one_shot_scheduler_is_scheduled (OneShotScheduler* self);
VALA_EXTERN void one_shot_scheduler_at_idle (OneShotScheduler* self);
VALA_EXTERN void one_shot_scheduler_at_priority_idle (OneShotScheduler* self,
                                          gint priority);
VALA_EXTERN void one_shot_scheduler_after_timeout (OneShotScheduler* self,
                                       guint msec,
                                       gboolean reschedule);
VALA_EXTERN void one_shot_scheduler_priority_after_timeout (OneShotScheduler* self,
                                                gint priority,
                                                guint msec,
                                                gboolean reschedule);
VALA_EXTERN void one_shot_scheduler_cancel (OneShotScheduler* self);
VALA_EXTERN gpointer op_timer_ref (gpointer instance);
VALA_EXTERN void op_timer_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_op_timer (const gchar* name,
                                 const gchar* nick,
                                 const gchar* blurb,
                                 GType object_type,
                                 GParamFlags flags);
VALA_EXTERN void value_set_op_timer (GValue* value,
                         gpointer v_object);
VALA_EXTERN void value_take_op_timer (GValue* value,
                          gpointer v_object);
VALA_EXTERN gpointer value_get_op_timer (const GValue* value);
VALA_EXTERN GType op_timer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (OpTimer, op_timer_unref)
VALA_EXTERN OpTimer* op_timer_new (const gchar* name);
VALA_EXTERN OpTimer* op_timer_construct (GType object_type,
                             const gchar* name);
VALA_EXTERN void op_timer_start (OpTimer* self);
VALA_EXTERN void op_timer_stop (OpTimer* self);
VALA_EXTERN gchar* op_timer_to_string (OpTimer* self);
VALA_EXTERN void suppress_warnings (const gchar* log_domain,
                        GLogLevelFlags log_levels,
                        const gchar* message);
VALA_EXTERN gboolean is_twentyfour_hr_time_system (void);
VALA_EXTERN gboolean is_string_empty (const gchar* s);
VALA_EXTERN gint utf8_cs_compare (const gchar* a,
                      const gchar* b);
VALA_EXTERN gint utf8_ci_compare (const gchar* a,
                      const gchar* b);
VALA_EXTERN gchar* uchar_array_to_string (guchar* data,
                              gint data_length1,
                              gint length);
VALA_EXTERN guchar* string_to_uchar_array (const gchar* str,
                               gint* result_length1);
VALA_EXTERN gchar* guarded_markup_escape_text (const gchar* plain);
VALA_EXTERN glong find_last_offset (const gchar* str,
                        gchar c);
VALA_EXTERN gboolean is_in_ci_array (const gchar* str,
                         gchar** strings,
                         gint strings_length1);
VALA_EXTERN gchar* prepare_input_text (const gchar* text,
                           PrepareInputTextOptions options,
                           gint dest_length);
VALA_EXTERN gint64 parse_int64 (const gchar* str,
                    gint num_base);
VALA_EXTERN gboolean string_contains_char (const gchar* haystack,
                               gunichar needle);
VALA_EXTERN gboolean string_contains_str (const gchar* haystack,
                              const gchar* needle);
VALA_EXTERN gchar* string_sliced_at (const gchar* str,
                         gint index);
VALA_EXTERN gchar* string_sliced_at_first_str (const gchar* haystack,
                                   const gchar* needle,
                                   gint start_index);
VALA_EXTERN gchar* string_sliced_at_last_str (const gchar* haystack,
                                  const gchar* needle,
                                  gint start_index);
VALA_EXTERN gchar* string_sliced_at_first_char (const gchar* haystack,
                                    gunichar ch,
                                    gint start_index);
VALA_EXTERN gchar* string_sliced_at_last_char (const gchar* haystack,
                                   gunichar ch,
                                   gint start_index);
VALA_EXTERN gchar* string_strip_leading_zeroes (const gchar* str);
VALA_EXTERN gchar* string_remove_diacritics (const gchar* istring);
VALA_EXTERN gchar* string_to_hex_string (const gchar* str);
VALA_EXTERN guint string_collated_hash (void* ptr);
VALA_EXTERN guint string_precollated_hash (void* ptr);
VALA_EXTERN gint string_collated_compare (void* a,
                              void* b);
VALA_EXTERN gint string_precollated_compare (const gchar* astr,
                                 const gchar* akey,
                                 const gchar* bstr,
                                 const gchar* bkey);
VALA_EXTERN gboolean string_collated_equals (void* a,
                                 void* b);
VALA_EXTERN gboolean string_precollated_equals (const gchar* astr,
                                    const gchar* akey,
                                    const gchar* bstr,
                                    const gchar* bkey);
VALA_EXTERN GType adjustment_relation_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType direction_get_type (void) G_GNUC_CONST ;
VALA_EXTERN SpitTransitionsDirection direction_to_transition_direction (Direction self);
VALA_EXTERN void spin_event_loop (void);
VALA_EXTERN AdjustmentRelation get_adjustment_relation (GtkAdjustment* adjustment,
                                            gint value);
VALA_EXTERN void get_adjustment_page (GtkAdjustment* hadj,
                          GtkAdjustment* vadj,
                          GdkRectangle* result);
VALA_EXTERN gboolean has_only_key_modifier (GdkModifierType field,
                                GdkModifierType mask);
VALA_EXTERN gchar* build_dummy_ui_string (GtkActionGroup** groups,
                              gint groups_length1);
VALA_EXTERN CheckerboardPage* checkerboard_page_construct (GType object_type,
                                               const gchar* page_name);
VALA_EXTERN gchar* checkerboard_page_get_back_name (CheckerboardPage* self);
VALA_EXTERN void checkerboard_page_init_page_sidebar_menu (CheckerboardPage* self,
                                               const gchar* path);
VALA_EXTERN GtkMenu* checkerboard_page_get_context_menu (CheckerboardPage* self);
VALA_EXTERN GtkMenu* checkerboard_page_get_item_context_menu (CheckerboardPage* self);
VALA_EXTERN gchar* checkerboard_page_get_view_empty_message (CheckerboardPage* self);
VALA_EXTERN gchar* checkerboard_page_get_filter_no_match_message (CheckerboardPage* self);
VALA_EXTERN void checkerboard_page_on_item_activated (CheckerboardPage* self,
                                          CheckerboardItem* item);
VALA_EXTERN CheckerboardLayout* checkerboard_page_get_checkerboard_layout (CheckerboardPage* self);
VALA_EXTERN SearchViewFilter* checkerboard_page_get_search_view_filter (CheckerboardPage* self);
VALA_EXTERN CoreViewTracker* checkerboard_page_get_view_tracker (CheckerboardPage* self);
VALA_EXTERN void checkerboard_page_set_page_message (CheckerboardPage* self,
                                         const gchar* message);
VALA_EXTERN void checkerboard_page_unset_page_message (CheckerboardPage* self);
VALA_EXTERN CheckerboardItem* checkerboard_page_get_item_at_pixel (CheckerboardPage* self,
                                                       gdouble x,
                                                       gdouble y);
VALA_EXTERN gboolean checkerboard_page_is_point_on_item_selection_button (CheckerboardPage* self,
                                                              gdouble x,
                                                              gdouble y,
                                                              CheckerboardItem* item);
VALA_EXTERN gboolean checkerboard_page_on_mouse_over (CheckerboardPage* self,
                                          CheckerboardItem* item,
                                          gint x,
                                          gint y,
                                          GdkModifierType mask);
VALA_EXTERN void checkerboard_page_cursor_to_item (CheckerboardPage* self,
                                       CheckerboardItem* item);
VALA_EXTERN void checkerboard_page_set_cursor (CheckerboardPage* self,
                                   CheckerboardItem* item);
VALA_EXTERN void checkerboard_page_select_between_items (CheckerboardPage* self,
                                             CheckerboardItem* item_start,
                                             CheckerboardItem* item_end);
VALA_EXTERN void checkerboard_page_select_anchor_to_cursor (CheckerboardPage* self,
                                                guint state);
VALA_EXTERN void checkerboard_page_set_display_titles (CheckerboardPage* self,
                                           gboolean display);
VALA_EXTERN void checkerboard_page_set_display_comments (CheckerboardPage* self,
                                             gboolean display);
VALA_EXTERN CollectionPage* collection_page_construct (GType object_type,
                                           const gchar* page_name);
VALA_EXTERN void collection_page_set_action_details (CollectionPage* self,
                                         const gchar* name,
                                         const gchar* label,
                                         const gchar* tooltip,
                                         gboolean sensitive);
VALA_EXTERN void collection_page_get_image_data_for_clipboard (GtkClipboard* cb,
                                                   GtkSelectionData* sd,
                                                   guint info,
                                                   void* parent);
VALA_EXTERN void collection_page_clear_data_for_clipboard (GtkClipboard* cb,
                                               void* parent);
VALA_EXTERN void collection_page_on_copy_adjustments (CollectionPage* self);
VALA_EXTERN void collection_page_on_paste_adjustments (CollectionPage* self);
VALA_EXTERN GType collection_page_collection_search_view_filter_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (CollectionPageCollectionSearchViewFilter, view_filter_unref)
VALA_EXTERN CollectionPageCollectionSearchViewFilter* collection_page_collection_search_view_filter_new (void);
VALA_EXTERN CollectionPageCollectionSearchViewFilter* collection_page_collection_search_view_filter_construct (GType object_type);
VALA_EXTERN GType single_photo_page_update_reason_get_type (void) G_GNUC_CONST ;
VALA_EXTERN DirectPhotoPage* direct_photo_page_new (GFile* file,
                                        gboolean fullscreen);
VALA_EXTERN DirectPhotoPage* direct_photo_page_construct (GType object_type,
                                              GFile* file,
                                              gboolean fullscreen);
VALA_EXTERN GFile* direct_photo_page_get_current_file (DirectPhotoPage* self);
VALA_EXTERN gboolean direct_photo_page_check_quit (DirectPhotoPage* self);
VALA_EXTERN EditingHostPage* editing_host_page_construct (GType object_type,
                                              SourceCollection* sources,
                                              const gchar* page_name);
VALA_EXTERN void editing_host_page_snap_zoom_to_min (EditingHostPage* self);
VALA_EXTERN void editing_host_page_snap_zoom_to_max (EditingHostPage* self);
VALA_EXTERN void editing_host_page_snap_zoom_to_isomorphic (EditingHostPage* self);
VALA_EXTERN gboolean editing_host_page_on_zoom_assembly_key_press (EditingHostPage* self,
                                                       GdkEventKey* event);
VALA_EXTERN void editing_host_page_on_increase_size (EditingHostPage* self);
VALA_EXTERN void editing_host_page_on_decrease_size (EditingHostPage* self);
VALA_EXTERN void editing_host_page_update_enhance_action (EditingHostPage* self);
VALA_EXTERN gboolean editing_host_page_has_photo (EditingHostPage* self);
VALA_EXTERN Photo* editing_host_page_get_photo (EditingHostPage* self);
VALA_EXTERN void editing_host_page_photo_changing (EditingHostPage* self,
                                       Photo* new_photo);
VALA_EXTERN void editing_host_page_enable_rotate (EditingHostPage* self,
                                      gboolean should_enable);
VALA_EXTERN DataView* editing_host_page_create_photo_view (EditingHostPage* self,
                                               DataSource* source);
VALA_EXTERN void editing_host_page_display_copy_of (EditingHostPage* self,
                                        ViewCollection* controller,
                                        Photo* starting_photo);
VALA_EXTERN void editing_host_page_display_mirror_of (EditingHostPage* self,
                                          ViewCollection* controller,
                                          Photo* starting_photo);
VALA_EXTERN void editing_host_page_update_ui (EditingHostPage* self,
                                  gboolean missing);
VALA_EXTERN void editing_host_page_notify_photo_backing_missing (EditingHostPage* self,
                                                     Photo* photo,
                                                     gboolean missing);
VALA_EXTERN void editing_host_page_set_photo_missing (EditingHostPage* self,
                                          gboolean missing);
VALA_EXTERN gboolean editing_host_page_get_photo_missing (EditingHostPage* self);
VALA_EXTERN gboolean editing_host_page_confirm_replace_photo (EditingHostPage* self,
                                                  Photo* old_photo,
                                                  Photo* new_photo);
VALA_EXTERN gboolean editing_host_page_on_double_click (EditingHostPage* self,
                                            GdkEventButton* event);
VALA_EXTERN GdkPixbuf* editing_host_page_get_bottom_left_trinket (EditingHostPage* self,
                                                      gint scale);
VALA_EXTERN GdkPixbuf* editing_host_page_get_top_left_trinket (EditingHostPage* self,
                                                   gint scale);
VALA_EXTERN GdkPixbuf* editing_host_page_get_top_right_trinket (EditingHostPage* self,
                                                    gint scale);
VALA_EXTERN GdkPixbuf* editing_host_page_get_bottom_right_trinket (EditingHostPage* self,
                                                       gint scale);
VALA_EXTERN gboolean editing_host_page_is_rotate_available (EditingHostPage* self,
                                                Photo* photo);
VALA_EXTERN void editing_host_page_on_rotate_clockwise (EditingHostPage* self);
VALA_EXTERN void editing_host_page_on_rotate_counterclockwise (EditingHostPage* self);
VALA_EXTERN void editing_host_page_on_flip_horizontally (EditingHostPage* self);
VALA_EXTERN void editing_host_page_on_flip_vertically (EditingHostPage* self);
VALA_EXTERN void editing_host_page_on_revert (EditingHostPage* self);
VALA_EXTERN void editing_host_page_on_adjust_date_time (EditingHostPage* self);
VALA_EXTERN void editing_host_page_get_image_data_for_clipboard (GtkClipboard* cb,
                                                     GtkSelectionData* sd,
                                                     guint info,
                                                     void* parent);
VALA_EXTERN void editing_host_page_get_metadata_for_clipboard (GtkClipboard* cb,
                                                   GtkSelectionData* sd,
                                                   guint info,
                                                   void* parent);
VALA_EXTERN void editing_host_page_clear_data_for_clipboard (GtkClipboard* cb,
                                                 void* parent);
VALA_EXTERN void editing_host_page_on_copy_image (EditingHostPage* self);
VALA_EXTERN void editing_host_page_on_copy_metadata (EditingHostPage* self);
VALA_EXTERN void editing_host_page_on_tool_button_toggled (EditingHostPage* self,
                                               GtkToggleButton* toggle,
                                               EditingToolsEditingToolFactory factory);
VALA_EXTERN void editing_host_page_toggle_crop (EditingHostPage* self);
VALA_EXTERN void editing_host_page_toggle_straighten (EditingHostPage* self);
VALA_EXTERN void editing_host_page_toggle_redeye (EditingHostPage* self);
VALA_EXTERN void editing_host_page_toggle_adjust (EditingHostPage* self);
VALA_EXTERN gboolean editing_host_page_is_enhance_available (EditingHostPage* self,
                                                 Photo* photo);
VALA_EXTERN void editing_host_page_on_enhance (EditingHostPage* self);
VALA_EXTERN void editing_host_page_on_copy_adjustments (EditingHostPage* self);
VALA_EXTERN void editing_host_page_on_paste_adjustments (EditingHostPage* self);
VALA_EXTERN void editing_host_page_unset_view_collection (EditingHostPage* self);
VALA_EXTERN SourceCollection* editing_host_page_get_sources (EditingHostPage* self);
VALA_EXTERN GType event_page_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EventPage, g_object_unref)
VALA_EXTERN EventPage* event_page_new (Event* page_event);
VALA_EXTERN EventPage* event_page_construct (GType object_type,
                                 Event* page_event);
VALA_EXTERN Event* event_page_get_event (EventPage* self);
VALA_EXTERN void event_page_back_to_master_clicked (EventPage* self);
VALA_EXTERN GType no_event_page_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (NoEventPage, g_object_unref)
VALA_EXTERN NoEventPage* no_event_page_new (void);
VALA_EXTERN NoEventPage* no_event_page_construct (GType object_type);
VALA_EXTERN GType events_directory_page_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EventsDirectoryPage, g_object_unref)
VALA_EXTERN EventsDirectoryPage* events_directory_page_construct (GType object_type,
                                                      const gchar* page_name,
                                                      ViewManager* view_manager,
                                                      GeeCollection* initial_events);
VALA_EXTERN gboolean events_directory_page_event_comparator_predicate (DataObject* object,
                                                           Alteration* alteration);
VALA_EXTERN GType events_directory_page_event_directory_manager_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EventsDirectoryPageEventDirectoryManager, view_manager_unref)
VALA_EXTERN EventsDirectoryPageEventDirectoryManager* events_directory_page_event_directory_manager_new (void);
VALA_EXTERN EventsDirectoryPageEventDirectoryManager* events_directory_page_event_directory_manager_construct (GType object_type);
VALA_EXTERN GType master_events_directory_page_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MasterEventsDirectoryPage, g_object_unref)
VALA_EXTERN MasterEventsDirectoryPage* master_events_directory_page_new (void);
VALA_EXTERN MasterEventsDirectoryPage* master_events_directory_page_construct (GType object_type);
VALA_EXTERN GType sub_events_directory_page_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SubEventsDirectoryPage, g_object_unref)
VALA_EXTERN GType sub_events_directory_page_directory_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN SubEventsDirectoryPage* sub_events_directory_page_new (SubEventsDirectoryPageDirectoryType type,
                                                       GDateTime* time);
VALA_EXTERN SubEventsDirectoryPage* sub_events_directory_page_construct (GType object_type,
                                                             SubEventsDirectoryPageDirectoryType type,
                                                             GDateTime* time);
VALA_EXTERN gint sub_events_directory_page_get_month (SubEventsDirectoryPage* self);
VALA_EXTERN gint sub_events_directory_page_get_year (SubEventsDirectoryPage* self);
VALA_EXTERN SubEventsDirectoryPageDirectoryType sub_events_directory_page_get_event_directory_type (SubEventsDirectoryPage* self);
VALA_EXTERN GType flagged_page_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FlaggedPage, g_object_unref)
VALA_EXTERN FlaggedPage* flagged_page_new (void);
VALA_EXTERN FlaggedPage* flagged_page_construct (GType object_type);
VALA_EXTERN GType camera_view_tracker_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (CameraViewTracker, core_tracker_unref)
VALA_EXTERN GType camera_accumulator_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (CameraAccumulator, g_object_unref)
VALA_EXTERN CameraViewTracker* camera_view_tracker_new (ViewCollection* collection);
VALA_EXTERN CameraViewTracker* camera_view_tracker_construct (GType object_type,
                                                  ViewCollection* collection);
VALA_EXTERN gchar* camera_accumulator_to_string (CameraAccumulator* self);
VALA_EXTERN CameraAccumulator* camera_accumulator_new (void);
VALA_EXTERN CameraAccumulator* camera_accumulator_construct (GType object_type);
VALA_EXTERN gint camera_accumulator_get_total (CameraAccumulator* self);
VALA_EXTERN gint camera_accumulator_get_photos (CameraAccumulator* self);
VALA_EXTERN gint camera_accumulator_get_videos (CameraAccumulator* self);
VALA_EXTERN gint camera_accumulator_get_raw (CameraAccumulator* self);
VALA_EXTERN GType import_page_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ImportPage, g_object_unref)
VALA_EXTERN GType import_page_refresh_result_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GPContextWrapper* import_page_null_context;
VALA_EXTERN GPSpinIdleWrapper* import_page_spin_idle_context;
VALA_EXTERN ImportPage* import_page_new (Camera* camera,
                             const gchar* uri,
                             const gchar* display_name,
                             GIcon* icon);
VALA_EXTERN ImportPage* import_page_construct (GType object_type,
                                   Camera* camera,
                                   const gchar* uri,
                                   const gchar* display_name,
                                   GIcon* icon);
VALA_EXTERN Camera* import_page_get_camera (ImportPage* self);
VALA_EXTERN gchar* import_page_get_uri (ImportPage* self);
VALA_EXTERN gboolean import_page_is_busy (ImportPage* self);
VALA_EXTERN gboolean import_page_is_refreshed (ImportPage* self);
VALA_EXTERN gchar* import_page_get_refresh_message (ImportPage* self);
VALA_EXTERN gboolean import_page_unmount_camera (ImportPage* self,
                                     GMount* mount);
VALA_EXTERN gchar* import_page_append_path (const gchar* basepath,
                                const gchar* addition);
VALA_EXTERN gchar* import_page_get_fs_basedir (Camera* camera,
                                   gint fsid);
VALA_EXTERN gchar* import_page_get_fulldir (Camera* camera,
                                const gchar* camera_name,
                                gint fsid,
                                const gchar* folder);
VALA_EXTERN GType import_queue_page_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ImportQueuePage, g_object_unref)
VALA_EXTERN ImportQueuePage* import_queue_page_new (void);
VALA_EXTERN ImportQueuePage* import_queue_page_construct (GType object_type);
VALA_EXTERN void import_queue_page_add_toolbar_widgets (ImportQueuePage* self,
                                            GtkActionBar* toolbar);
VALA_EXTERN void import_queue_page_enqueue_and_schedule (ImportQueuePage* self,
                                             BatchImport* batch_import,
                                             gboolean allow_user_cancel);
VALA_EXTERN gint import_queue_page_get_batch_count (ImportQueuePage* self);
VALA_EXTERN GType last_import_page_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LastImportPage, g_object_unref)
VALA_EXTERN LastImportPage* last_import_page_new (void);
VALA_EXTERN LastImportPage* last_import_page_construct (GType object_type);
VALA_EXTERN GType library_photo_page_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LibraryPhotoPage, g_object_unref)
VALA_EXTERN LibraryPhotoPage* library_photo_page_new (void);
VALA_EXTERN LibraryPhotoPage* library_photo_page_construct (GType object_type);
VALA_EXTERN gboolean library_photo_page_not_trashed_view_filter (LibraryPhotoPage* self,
                                                     DataView* view);
VALA_EXTERN void library_photo_page_developer_changed (LibraryPhotoPage* self,
                                           RawDeveloper rd);
VALA_EXTERN void library_photo_page_display_for_collection (LibraryPhotoPage* self,
                                                CollectionPage* return_page,
                                                Photo* photo,
                                                ViewCollection* view);
VALA_EXTERN void library_photo_page_on_page_destroyed (LibraryPhotoPage* self);
VALA_EXTERN CollectionPage* library_photo_page_get_controller_page (LibraryPhotoPage* self);
VALA_EXTERN MediaPage* media_page_construct (GType object_type,
                                 const gchar* page_name);
VALA_EXTERN void media_page_on_play_video (MediaPage* self);
VALA_EXTERN GType slider_assembly_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SliderAssembly, g_object_unref)
VALA_EXTERN void media_page_connect_slider (MediaPage* self,
                                SliderAssembly* slider);
VALA_EXTERN void media_page_disconnect_slider (MediaPage* self);
VALA_EXTERN void media_page_on_zoom_changed (MediaPage* self);
VALA_EXTERN void media_page_on_export (MediaPage* self);
VALA_EXTERN void media_page_on_increase_size (MediaPage* self);
VALA_EXTERN void media_page_on_decrease_size (MediaPage* self);
VALA_EXTERN void media_page_on_move_to_trash (MediaPage* self);
VALA_EXTERN void media_page_on_display_titles (MediaPage* self,
                                   GtkAction* action);
VALA_EXTERN void media_page_on_display_comments (MediaPage* self,
                                     GtkAction* action);
VALA_EXTERN void media_page_on_display_tags (MediaPage* self,
                                 GtkAction* action);
VALA_EXTERN void media_page_get_config_photos_sort (MediaPage* self,
                                        gboolean* sort_order,
                                        gint* sort_by);
VALA_EXTERN void media_page_set_config_photos_sort (MediaPage* self,
                                        gboolean sort_order,
                                        gint sort_by);
VALA_EXTERN void media_page_on_sort_changed (MediaPage* self);
VALA_EXTERN void media_page_developer_changed (MediaPage* self,
                                   RawDeveloper rd);
VALA_EXTERN gint media_page_get_menu_sort_by (MediaPage* self);
VALA_EXTERN void media_page_set_menu_sort_by (MediaPage* self,
                                  gint val);
VALA_EXTERN gboolean media_page_get_menu_sort_order (MediaPage* self);
VALA_EXTERN void media_page_set_menu_sort_order (MediaPage* self,
                                     gboolean ascending);
VALA_EXTERN void media_page_sync_sort (MediaPage* self);
VALA_EXTERN DataView* media_page_create_thumbnail (MediaPage* self,
                                       DataSource* source);
VALA_EXTERN GtkButton* media_page_create_sidebar_button (void);
VALA_EXTERN GType offline_page_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (OfflinePage, g_object_unref)
VALA_EXTERN OfflinePage* offline_page_new (void);
VALA_EXTERN OfflinePage* offline_page_construct (GType object_type);
VALA_EXTERN Page* page_construct (GType object_type,
                      const gchar* page_name);
VALA_EXTERN void page_populate_contractor_menu (Page* self,
                                    GtkMenu* menu);
VALA_EXTERN ViewCollection* page_get_view (Page* self);
VALA_EXTERN GtkWindow* page_get_container (Page* self);
VALA_EXTERN void page_set_container (Page* self,
                         GtkWindow* container);
VALA_EXTERN void page_clear_container (Page* self);
VALA_EXTERN void page_set_event_source (Page* self,
                            GtkWidget* event_source);
VALA_EXTERN GtkWidget* page_get_event_source (Page* self);
VALA_EXTERN GtkActionBar* page_get_toolbar (Page* self,
                                GtkWidget* add_widget,
                                GtkPackType position);
VALA_EXTERN void page_add_toolbar_widgets (Page* self,
                               GtkActionBar* toolbar);
VALA_EXTERN GtkMenu* page_get_page_context_menu (Page* self);
VALA_EXTERN GtkMenu* page_get_page_sidebar_menu (Page* self);
VALA_EXTERN void page_switching_from (Page* self);
VALA_EXTERN void page_switched_to (Page* self);
VALA_EXTERN void page_ready (Page* self);
VALA_EXTERN void page_switching_to_fullscreen (Page* self,
                                   FullscreenWindow* fsw);
VALA_EXTERN void page_returning_from_fullscreen (Page* self,
                                     FullscreenWindow* fsw);
VALA_EXTERN GtkAction* page_get_action (Page* self,
                            const gchar* name);
VALA_EXTERN void page_set_action_sensitive (Page* self,
                                const gchar* name,
                                gboolean sensitive);
VALA_EXTERN void page_set_action_visible (Page* self,
                              const gchar* name,
                              gboolean visible);
VALA_EXTERN void page_activate_action (Page* self,
                           const gchar* name);
VALA_EXTERN GtkAction* page_get_common_action (Page* self,
                                   const gchar* name,
                                   gboolean log_warning);
VALA_EXTERN void page_update_sidebar_action (Page* self,
                                 gboolean show);
VALA_EXTERN gboolean page_get_ctrl_pressed (Page* self);
VALA_EXTERN gboolean page_get_alt_pressed (Page* self);
VALA_EXTERN gboolean page_get_shift_pressed (Page* self);
VALA_EXTERN gboolean page_get_super_pressed (Page* self);
VALA_EXTERN CommandManager* page_get_command_manager (Page* self);
VALA_EXTERN GtkBox* page_get_header_buttons (Page* self);
VALA_EXTERN GtkActionEntry* page_init_collect_action_entries (Page* self,
                                                  gint* result_length1);
VALA_EXTERN GtkToggleActionEntry* page_init_collect_toggle_action_entries (Page* self,
                                                               gint* result_length1);
VALA_EXTERN void page_register_radio_actions (Page* self,
                                  GtkActionGroup* action_group);
VALA_EXTERN void page_init_actions (Page* self,
                        gint selected_count,
                        gint count);
VALA_EXTERN void page_update_actions (Page* self,
                          gint selected_count,
                          gint count);
VALA_EXTERN gboolean page_get_event_source_pointer (Page* self,
                                        gint* x,
                                        gint* y,
                                        GdkModifierType* mask);
VALA_EXTERN gboolean page_on_left_click (Page* self,
                             GdkEventButton* event);
VALA_EXTERN gboolean page_on_middle_click (Page* self,
                               GdkEventButton* event);
VALA_EXTERN gboolean page_on_right_click (Page* self,
                              GdkEventButton* event);
VALA_EXTERN gboolean page_on_left_released (Page* self,
                                GdkEventButton* event);
VALA_EXTERN gboolean page_on_middle_released (Page* self,
                                  GdkEventButton* event);
VALA_EXTERN gboolean page_on_right_released (Page* self,
                                 GdkEventButton* event);
VALA_EXTERN gboolean page_on_ctrl_pressed (Page* self,
                               GdkEventKey* event);
VALA_EXTERN gboolean page_on_ctrl_released (Page* self,
                                GdkEventKey* event);
VALA_EXTERN gboolean page_on_alt_pressed (Page* self,
                              GdkEventKey* event);
VALA_EXTERN gboolean page_on_alt_released (Page* self,
                               GdkEventKey* event);
VALA_EXTERN gboolean page_on_shift_pressed (Page* self,
                                GdkEventKey* event);
VALA_EXTERN gboolean page_on_shift_released (Page* self,
                                 GdkEventKey* event);
VALA_EXTERN gboolean page_on_super_pressed (Page* self,
                                GdkEventKey* event);
VALA_EXTERN gboolean page_on_super_released (Page* self,
                                 GdkEventKey* event);
VALA_EXTERN gboolean page_on_app_key_pressed (Page* self,
                                  GdkEventKey* event);
VALA_EXTERN gboolean page_on_app_key_released (Page* self,
                                   GdkEventKey* event);
VALA_EXTERN gboolean page_notify_app_key_pressed (Page* self,
                                      GdkEventKey* event);
VALA_EXTERN gboolean page_notify_app_key_released (Page* self,
                                       GdkEventKey* event);
VALA_EXTERN gboolean page_match_keycode (Page* self,
                             guint keyval,
                             guint code);
VALA_EXTERN gboolean page_notify_app_focus_in (Page* self,
                                   GdkEventFocus* event);
VALA_EXTERN gboolean page_notify_app_focus_out (Page* self,
                                    GdkEventFocus* event);
VALA_EXTERN void page_on_move (Page* self,
                   GdkRectangle* rect);
VALA_EXTERN void page_on_move_start (Page* self,
                         GdkRectangle* rect);
VALA_EXTERN void page_on_move_finished (Page* self,
                            GdkRectangle* rect);
VALA_EXTERN void page_on_resize (Page* self,
                     GdkRectangle* rect);
VALA_EXTERN void page_on_resize_start (Page* self,
                           GdkRectangle* rect);
VALA_EXTERN void page_on_resize_finished (Page* self,
                              GdkRectangle* rect);
VALA_EXTERN gboolean page_on_configure (Page* self,
                            GdkEventConfigure* event,
                            GdkRectangle* rect);
VALA_EXTERN gboolean page_notify_configure_event (Page* self,
                                      GdkEventConfigure* event);
VALA_EXTERN gboolean page_on_motion (Page* self,
                         GdkEventMotion* event,
                         gint x,
                         gint y,
                         GdkModifierType mask);
VALA_EXTERN gboolean page_on_leave_notify_event (Page* self);
VALA_EXTERN gboolean page_on_mousewheel_up (Page* self,
                                GdkEventScroll* event);
VALA_EXTERN gboolean page_on_mousewheel_down (Page* self,
                                  GdkEventScroll* event);
VALA_EXTERN gboolean page_on_mousewheel_left (Page* self,
                                  GdkEventScroll* event);
VALA_EXTERN gboolean page_on_mousewheel_right (Page* self,
                                   GdkEventScroll* event);
VALA_EXTERN gboolean page_on_context_keypress (Page* self);
VALA_EXTERN gboolean page_on_context_buttonpress (Page* self,
                                      GdkEventButton* event);
VALA_EXTERN gboolean page_on_context_invoked (Page* self);
VALA_EXTERN gboolean page_popup_context_menu (Page* self,
                                  GtkMenu* context_menu,
                                  GdkEventButton* event);
VALA_EXTERN void page_set_cursor_hide_time (Page* self,
                                gint hide_time);
VALA_EXTERN void page_start_cursor_hiding (Page* self);
VALA_EXTERN void page_stop_cursor_hiding (Page* self);
VALA_EXTERN void page_suspend_cursor_hiding (Page* self);
VALA_EXTERN void page_restore_cursor_hiding (Page* self);
VALA_EXTERN void page_set_page_cursor (Page* self,
                           GdkCursorType cursor_type);
VALA_EXTERN gboolean page_get_in_view (Page* self);
VALA_EXTERN const gchar* page_get_page_name (Page* self);
VALA_EXTERN void page_set_page_name (Page* self,
                         const gchar* value);
VALA_EXTERN LibraryPhotosEntry* library_photos_entry_new (void);
VALA_EXTERN LibraryPhotosEntry* library_photos_entry_construct (GType object_type);
VALA_EXTERN GType library_photos_page_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LibraryPhotosPage, g_object_unref)
VALA_EXTERN LibraryPhotosPage* library_photos_page_new (ProgressMonitor monitor,
                                            gpointer monitor_target);
VALA_EXTERN LibraryPhotosPage* library_photos_page_construct (GType object_type,
                                                  ProgressMonitor monitor,
                                                  gpointer monitor_target);
VALA_EXTERN LibraryRawsEntry* library_raws_entry_new (void);
VALA_EXTERN LibraryRawsEntry* library_raws_entry_construct (GType object_type);
VALA_EXTERN GType library_raws_page_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LibraryRawsPage, g_object_unref)
VALA_EXTERN LibraryRawsPage* library_raws_page_new (ProgressMonitor monitor,
                                        gpointer monitor_target);
VALA_EXTERN LibraryRawsPage* library_raws_page_construct (GType object_type,
                                              ProgressMonitor monitor,
                                              gpointer monitor_target);
VALA_EXTERN GType saved_search_page_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SavedSearchPage, g_object_unref)
VALA_EXTERN SavedSearchPage* saved_search_page_new (SavedSearch* search);
VALA_EXTERN SavedSearchPage* saved_search_page_construct (GType object_type,
                                              SavedSearch* search);
VALA_EXTERN SinglePhotoPage* single_photo_page_construct (GType object_type,
                                              const gchar* page_name,
                                              gboolean scale_up_to_viewport);
VALA_EXTERN gboolean single_photo_page_is_transition_in_progress (SinglePhotoPage* self);
VALA_EXTERN void single_photo_page_set_transition (SinglePhotoPage* self,
                                       const gchar* effect_id,
                                       gint duration_msec);
VALA_EXTERN void single_photo_page_on_interactive_pan (SinglePhotoPage* self,
                                           ZoomState* interactive_zoom_state);
VALA_EXTERN gboolean single_photo_page_is_zoom_supported (SinglePhotoPage* self);
VALA_EXTERN void single_photo_page_cancel_zoom (SinglePhotoPage* self);
VALA_EXTERN void single_photo_page_save_zoom_state (SinglePhotoPage* self);
VALA_EXTERN void single_photo_page_restore_zoom_state (SinglePhotoPage* self);
VALA_EXTERN ZoomBuffer* single_photo_page_get_zoom_buffer (SinglePhotoPage* self);
VALA_EXTERN void single_photo_page_get_saved_zoom_state (SinglePhotoPage* self,
                                             ZoomState* result);
VALA_EXTERN void single_photo_page_set_zoom_state (SinglePhotoPage* self,
                                       ZoomState* zoom_state);
VALA_EXTERN void single_photo_page_get_zoom_state (SinglePhotoPage* self,
                                       ZoomState* result);
VALA_EXTERN void single_photo_page_set_pixbuf (SinglePhotoPage* self,
                                   GdkPixbuf* unscaled,
                                   Dimensions* max_dim,
                                   Direction* direction);
VALA_EXTERN void single_photo_page_blank_display (SinglePhotoPage* self);
VALA_EXTERN void single_photo_page_get_surface_dim (SinglePhotoPage* self,
                                        Dimensions* result);
VALA_EXTERN cairo_t* single_photo_page_get_cairo_context (SinglePhotoPage* self);
VALA_EXTERN void single_photo_page_paint_text (SinglePhotoPage* self,
                                   PangoLayout* pango_layout,
                                   gint x,
                                   gint y);
VALA_EXTERN void single_photo_page_get_canvas_scaling (SinglePhotoPage* self,
                                           Scaling* result);
VALA_EXTERN GdkPixbuf* single_photo_page_get_unscaled_pixbuf (SinglePhotoPage* self);
VALA_EXTERN GdkPixbuf* single_photo_page_get_scaled_pixbuf (SinglePhotoPage* self);
VALA_EXTERN void single_photo_page_get_scaled_pixbuf_position (SinglePhotoPage* self,
                                                   GdkRectangle* result);
VALA_EXTERN gboolean single_photo_page_is_inside_pixbuf (SinglePhotoPage* self,
                                             gint x,
                                             gint y);
VALA_EXTERN void single_photo_page_new_surface (SinglePhotoPage* self,
                                    cairo_t* ctx,
                                    Dimensions* ctx_dim);
VALA_EXTERN void single_photo_page_updated_pixbuf (SinglePhotoPage* self,
                                       GdkPixbuf* pixbuf,
                                       SinglePhotoPageUpdateReason reason,
                                       Dimensions* old_dim);
VALA_EXTERN void single_photo_page_paint (SinglePhotoPage* self,
                              cairo_t* ctx,
                              Dimensions* ctx_dim);
VALA_EXTERN void single_photo_page_repaint (SinglePhotoPage* self,
                                Direction* direction);
VALA_EXTERN void single_photo_page_on_previous_photo (SinglePhotoPage* self);
VALA_EXTERN void single_photo_page_on_next_photo (SinglePhotoPage* self);
VALA_EXTERN gboolean single_photo_page_get_scale_up_to_viewport (SinglePhotoPage* self);
VALA_EXTERN GType tag_page_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TagPage, g_object_unref)
VALA_EXTERN TagPage* tag_page_new (Tag* tag);
VALA_EXTERN TagPage* tag_page_construct (GType object_type,
                             Tag* tag);
VALA_EXTERN Tag* tag_page_get_tag (TagPage* self);
VALA_EXTERN GType trash_page_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TrashPage, g_object_unref)
VALA_EXTERN TrashPage* trash_page_new (void);
VALA_EXTERN TrashPage* trash_page_construct (GType object_type);
VALA_EXTERN void trash_page_on_empty_trash (TrashPage* self);
VALA_EXTERN LibraryVideosEntry* library_videos_entry_new (void);
VALA_EXTERN LibraryVideosEntry* library_videos_entry_construct (GType object_type);
VALA_EXTERN GType library_videos_page_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LibraryVideosPage, g_object_unref)
VALA_EXTERN LibraryVideosPage* library_videos_page_new (ProgressMonitor monitor,
                                            gpointer monitor_target);
VALA_EXTERN LibraryVideosPage* library_videos_page_construct (GType object_type,
                                                  ProgressMonitor monitor,
                                                  gpointer monitor_target);
VALA_EXTERN GType search_row_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SearchRow, g_object_unref)
VALA_EXTERN SearchCondition* search_row_get_search_condition (SearchRow* self);
VALA_EXTERN void search_row_populate (SearchRow* self,
                          SearchCondition* sc);
VALA_EXTERN gboolean search_row_is_complete (SearchRow* self);
VALA_EXTERN SearchRow* search_row_construct (GType object_type);
VALA_EXTERN GType search_row_container_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SearchRowContainer, g_object_unref)
VALA_EXTERN SearchRowContainer* search_row_get_parent (SearchRow* self);
VALA_EXTERN GType editable_title_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EditableTitle, g_object_unref)
VALA_EXTERN EditableTitle* editable_title_new (const gchar* title_name);
VALA_EXTERN EditableTitle* editable_title_construct (GType object_type,
                                         const gchar* title_name);
VALA_EXTERN const gchar* editable_title_get_text (EditableTitle* self);
VALA_EXTERN void editable_title_set_text (EditableTitle* self,
                              const gchar* value);
VALA_EXTERN GType transition_effect_selector_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TransitionEffectSelector, g_object_unref)
VALA_EXTERN TransitionEffectSelector* transition_effect_selector_new (void);
VALA_EXTERN TransitionEffectSelector* transition_effect_selector_construct (GType object_type);
VALA_EXTERN SearchRowContainer* search_row_container_new (void);
VALA_EXTERN SearchRowContainer* search_row_container_construct (GType object_type);
VALA_EXTERN SearchRowContainer* search_row_container_new_edit_existing (SearchCondition* sc);
VALA_EXTERN SearchRowContainer* search_row_container_construct_edit_existing (GType object_type,
                                                                  SearchCondition* sc);
VALA_EXTERN SearchConditionSearchType search_row_container_get_search_type (SearchRowContainer* self);
VALA_EXTERN void search_row_container_allow_removal (SearchRowContainer* self,
                                         gboolean allow);
VALA_EXTERN GtkWidget* search_row_container_get_widget (SearchRowContainer* self);
VALA_EXTERN SearchCondition* search_row_container_get_search_condition (SearchRowContainer* self);
VALA_EXTERN gboolean search_row_container_is_complete (SearchRowContainer* self);
VALA_EXTERN GType search_row_date_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SearchRowDate, g_object_unref)
VALA_EXTERN SearchRowDate* search_row_date_new (SearchRowContainer* parent);
VALA_EXTERN SearchRowDate* search_row_date_construct (GType object_type,
                                          SearchRowContainer* parent);
VALA_EXTERN GType search_row_flagged_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SearchRowFlagged, g_object_unref)
VALA_EXTERN SearchRowFlagged* search_row_flagged_new (SearchRowContainer* parent);
VALA_EXTERN SearchRowFlagged* search_row_flagged_construct (GType object_type,
                                                SearchRowContainer* parent);
VALA_EXTERN GType search_row_media_type_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SearchRowMediaType, g_object_unref)
VALA_EXTERN SearchRowMediaType* search_row_media_type_new (SearchRowContainer* parent);
VALA_EXTERN SearchRowMediaType* search_row_media_type_construct (GType object_type,
                                                     SearchRowContainer* parent);
VALA_EXTERN GType search_row_modified_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SearchRowModified, g_object_unref)
VALA_EXTERN SearchRowModified* search_row_modified_new (SearchRowContainer* parent);
VALA_EXTERN SearchRowModified* search_row_modified_construct (GType object_type,
                                                  SearchRowContainer* parent);
VALA_EXTERN GType search_row_text_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SearchRowText, g_object_unref)
VALA_EXTERN SearchRowText* search_row_text_new (SearchRowContainer* parent);
VALA_EXTERN SearchRowText* search_row_text_construct (GType object_type,
                                          SearchRowContainer* parent);
VALA_EXTERN SliderAssembly* slider_assembly_new (gdouble min,
                                     gdouble max,
                                     gdouble step,
                                     gdouble initial_val);
VALA_EXTERN SliderAssembly* slider_assembly_construct (GType object_type,
                                           gdouble min,
                                           gdouble max,
                                           gdouble step,
                                           gdouble initial_val);
VALA_EXTERN void slider_assembly_increase_step (SliderAssembly* self);
VALA_EXTERN void slider_assembly_decrease_step (SliderAssembly* self);
VALA_EXTERN void slider_assembly_set_inverted (SliderAssembly* self,
                                   gboolean value);
VALA_EXTERN gdouble slider_assembly_get_slider_value (SliderAssembly* self);
VALA_EXTERN void slider_assembly_set_slider_value (SliderAssembly* self,
                                       gdouble value);
VALA_EXTERN GType contract_menu_item_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ContractMenuItem, g_object_unref)
VALA_EXTERN ContractMenuItem* contract_menu_item_new (GraniteServicesContract* contract,
                                          GeeList* sources);
VALA_EXTERN ContractMenuItem* contract_menu_item_construct (GType object_type,
                                                GraniteServicesContract* contract,
                                                GeeList* sources);
VALA_EXTERN GraniteServicesContract* contract_menu_item_get_contract (ContractMenuItem* self);
VALA_EXTERN GeeList* contract_menu_item_get_sources (ContractMenuItem* self);
VALA_EXTERN GType custom_print_tab_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (CustomPrintTab, g_object_unref)
VALA_EXTERN CustomPrintTab* custom_print_tab_new (PrintJob* source_job);
VALA_EXTERN CustomPrintTab* custom_print_tab_construct (GType object_type,
                                            PrintJob* source_job);
VALA_EXTERN PrintSettings* custom_print_tab_get_local_settings (CustomPrintTab* self);
VALA_EXTERN PrintJob* custom_print_tab_get_source_job (CustomPrintTab* self);
VALA_EXTERN gint spit_negotiate_interfaces (gint min_host_interface,
                                gint max_host_interface,
                                gint plugin_interface);
VALA_EXTERN GType spit_entry_point_params_get_type (void) G_GNUC_CONST ;
VALA_EXTERN SpitEntryPointParams* spit_entry_point_params_dup (const SpitEntryPointParams* self);
VALA_EXTERN void spit_entry_point_params_free (SpitEntryPointParams* self);
VALA_EXTERN void spit_entry_point_params_copy (const SpitEntryPointParams* self,
                                   SpitEntryPointParams* dest);
VALA_EXTERN void spit_entry_point_params_destroy (SpitEntryPointParams* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (SpitEntryPointParams, spit_entry_point_params_destroy)
VALA_EXTERN GType spit_module_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SpitModule, g_object_unref)
VALA_EXTERN const gchar* spit_module_get_module_name (SpitModule* self);
VALA_EXTERN const gchar* spit_module_get_version (SpitModule* self);
VALA_EXTERN const gchar* spit_module_get_id (SpitModule* self);
VALA_EXTERN SpitPluggable** spit_module_get_pluggables (SpitModule* self,
                                            gint* result_length1);
VALA_EXTERN void spit_module_reserved0 (SpitModule* self);
VALA_EXTERN void spit_module_reserved1 (SpitModule* self);
VALA_EXTERN void spit_module_reserved2 (SpitModule* self);
VALA_EXTERN void spit_module_reserved3 (SpitModule* self);
VALA_EXTERN void spit_module_reserved4 (SpitModule* self);
VALA_EXTERN void spit_module_reserved5 (SpitModule* self);
VALA_EXTERN void spit_module_reserved6 (SpitModule* self);
VALA_EXTERN void spit_module_reserved7 (SpitModule* self);
VALA_EXTERN gint spit_pluggable_get_pluggable_interface (SpitPluggable* self,
                                             gint min_host_interface,
                                             gint max_host_interface);
VALA_EXTERN const gchar* spit_pluggable_get_id (SpitPluggable* self);
VALA_EXTERN const gchar* spit_pluggable_get_pluggable_name (SpitPluggable* self);
VALA_EXTERN void spit_pluggable_get_info (SpitPluggable* self,
                              SpitPluggableInfo* info);
VALA_EXTERN void spit_pluggable_activation (SpitPluggable* self,
                                gboolean enabled);
VALA_EXTERN void spit_pluggable_reserved0 (SpitPluggable* self);
VALA_EXTERN void spit_pluggable_reserved1 (SpitPluggable* self);
VALA_EXTERN void spit_pluggable_reserved2 (SpitPluggable* self);
VALA_EXTERN void spit_pluggable_reserved3 (SpitPluggable* self);
VALA_EXTERN void spit_pluggable_reserved4 (SpitPluggable* self);
VALA_EXTERN void spit_pluggable_reserved5 (SpitPluggable* self);
VALA_EXTERN void spit_pluggable_reserved6 (SpitPluggable* self);
VALA_EXTERN void spit_pluggable_reserved7 (SpitPluggable* self);
VALA_EXTERN GFile* spit_host_interface_get_module_file (SpitHostInterface* self);
VALA_EXTERN gboolean spit_host_interface_get_config_bool (SpitHostInterface* self,
                                              const gchar* key,
                                              gboolean def);
VALA_EXTERN void spit_host_interface_set_config_bool (SpitHostInterface* self,
                                          const gchar* key,
                                          gboolean val);
VALA_EXTERN gint spit_host_interface_get_config_int (SpitHostInterface* self,
                                         const gchar* key,
                                         gint def);
VALA_EXTERN void spit_host_interface_set_config_int (SpitHostInterface* self,
                                         const gchar* key,
                                         gint val);
VALA_EXTERN gchar* spit_host_interface_get_config_string (SpitHostInterface* self,
                                              const gchar* key,
                                              const gchar* def);
VALA_EXTERN void spit_host_interface_set_config_string (SpitHostInterface* self,
                                            const gchar* key,
                                            const gchar* val);
VALA_EXTERN gdouble spit_host_interface_get_config_double (SpitHostInterface* self,
                                               const gchar* key,
                                               gdouble def);
VALA_EXTERN void spit_host_interface_set_config_double (SpitHostInterface* self,
                                            const gchar* key,
                                            gdouble val);
VALA_EXTERN void spit_host_interface_unset_config_key (SpitHostInterface* self,
                                           const gchar* key);
VALA_EXTERN void spit_host_interface_reserved0 (SpitHostInterface* self);
VALA_EXTERN void spit_host_interface_reserved1 (SpitHostInterface* self);
VALA_EXTERN void spit_host_interface_reserved2 (SpitHostInterface* self);
VALA_EXTERN void spit_host_interface_reserved3 (SpitHostInterface* self);
VALA_EXTERN void spit_host_interface_reserved4 (SpitHostInterface* self);
VALA_EXTERN void spit_host_interface_reserved5 (SpitHostInterface* self);
VALA_EXTERN void spit_host_interface_reserved6 (SpitHostInterface* self);
VALA_EXTERN void spit_host_interface_reserved7 (SpitHostInterface* self);
VALA_EXTERN SpitTransitionsVisuals* spit_transitions_visuals_new (GdkPixbuf* from_pixbuf,
                                                      GdkRectangle* from_pos,
                                                      GdkPixbuf* to_pixbuf,
                                                      GdkRectangle* to_pos,
                                                      GdkRGBA* bg_color);
VALA_EXTERN SpitTransitionsVisuals* spit_transitions_visuals_construct (GType object_type,
                                                            GdkPixbuf* from_pixbuf,
                                                            GdkRectangle* from_pos,
                                                            GdkPixbuf* to_pixbuf,
                                                            GdkRectangle* to_pos,
                                                            GdkRGBA* bg_color);
VALA_EXTERN void spit_transitions_visuals_reserved0 (SpitTransitionsVisuals* self);
VALA_EXTERN void spit_transitions_visuals_reserved1 (SpitTransitionsVisuals* self);
VALA_EXTERN void spit_transitions_visuals_reserved2 (SpitTransitionsVisuals* self);
VALA_EXTERN void spit_transitions_visuals_reserved3 (SpitTransitionsVisuals* self);
VALA_EXTERN void spit_transitions_visuals_reserved4 (SpitTransitionsVisuals* self);
VALA_EXTERN void spit_transitions_visuals_reserved5 (SpitTransitionsVisuals* self);
VALA_EXTERN void spit_transitions_visuals_reserved6 (SpitTransitionsVisuals* self);
VALA_EXTERN void spit_transitions_visuals_reserved7 (SpitTransitionsVisuals* self);
VALA_EXTERN GdkPixbuf* spit_transitions_visuals_get_from_pixbuf (SpitTransitionsVisuals* self);
VALA_EXTERN void spit_transitions_visuals_get_from_pos (SpitTransitionsVisuals* self,
                                            GdkRectangle * result);
VALA_EXTERN GdkPixbuf* spit_transitions_visuals_get_to_pixbuf (SpitTransitionsVisuals* self);
VALA_EXTERN void spit_transitions_visuals_get_to_pos (SpitTransitionsVisuals* self,
                                          GdkRectangle * result);
VALA_EXTERN void spit_transitions_visuals_get_bg_color (SpitTransitionsVisuals* self,
                                            GdkRGBA * result);
VALA_EXTERN SpitTransitionsMotion* spit_transitions_motion_new (SpitTransitionsDirection direction,
                                                    gint fps,
                                                    gint duration_msec);
VALA_EXTERN SpitTransitionsMotion* spit_transitions_motion_construct (GType object_type,
                                                          SpitTransitionsDirection direction,
                                                          gint fps,
                                                          gint duration_msec);
VALA_EXTERN gdouble spit_transitions_motion_get_alpha (SpitTransitionsMotion* self,
                                           gint frame_number);
VALA_EXTERN void spit_transitions_motion_reserved0 (SpitTransitionsMotion* self);
VALA_EXTERN void spit_transitions_motion_reserved1 (SpitTransitionsMotion* self);
VALA_EXTERN void spit_transitions_motion_reserved2 (SpitTransitionsMotion* self);
VALA_EXTERN void spit_transitions_motion_reserved3 (SpitTransitionsMotion* self);
VALA_EXTERN void spit_transitions_motion_reserved4 (SpitTransitionsMotion* self);
VALA_EXTERN void spit_transitions_motion_reserved5 (SpitTransitionsMotion* self);
VALA_EXTERN void spit_transitions_motion_reserved6 (SpitTransitionsMotion* self);
VALA_EXTERN void spit_transitions_motion_reserved7 (SpitTransitionsMotion* self);
VALA_EXTERN SpitTransitionsDirection spit_transitions_motion_get_direction (SpitTransitionsMotion* self);
VALA_EXTERN gint spit_transitions_motion_get_fps (SpitTransitionsMotion* self);
VALA_EXTERN gint spit_transitions_motion_get_duration_msec (SpitTransitionsMotion* self);
VALA_EXTERN gint spit_transitions_motion_get_total_frames (SpitTransitionsMotion* self);
VALA_EXTERN gint spit_transitions_motion_get_tick_msec (SpitTransitionsMotion* self);
VALA_EXTERN SpitTransitionsEffect* spit_transitions_descriptor_create (SpitTransitionsDescriptor* self,
                                                           SpitHostInterface* host);
VALA_EXTERN void spit_transitions_descriptor_reserved0 (SpitTransitionsDescriptor* self);
VALA_EXTERN void spit_transitions_descriptor_reserved1 (SpitTransitionsDescriptor* self);
VALA_EXTERN void spit_transitions_descriptor_reserved2 (SpitTransitionsDescriptor* self);
VALA_EXTERN void spit_transitions_descriptor_reserved3 (SpitTransitionsDescriptor* self);
VALA_EXTERN void spit_transitions_descriptor_reserved4 (SpitTransitionsDescriptor* self);
VALA_EXTERN void spit_transitions_descriptor_reserved5 (SpitTransitionsDescriptor* self);
VALA_EXTERN void spit_transitions_descriptor_reserved6 (SpitTransitionsDescriptor* self);
VALA_EXTERN void spit_transitions_descriptor_reserved7 (SpitTransitionsDescriptor* self);
VALA_EXTERN void spit_transitions_effect_get_fps (SpitTransitionsEffect* self,
                                      gint* desired_fps,
                                      gint* min_fps);
VALA_EXTERN void spit_transitions_effect_start (SpitTransitionsEffect* self,
                                    SpitTransitionsVisuals* visuals,
                                    SpitTransitionsMotion* motion);
VALA_EXTERN gboolean spit_transitions_effect_needs_clear_background (SpitTransitionsEffect* self);
VALA_EXTERN void spit_transitions_effect_paint (SpitTransitionsEffect* self,
                                    SpitTransitionsVisuals* visuals,
                                    SpitTransitionsMotion* motion,
                                    cairo_t* ctx,
                                    gint width,
                                    gint height,
                                    gint frame_number);
VALA_EXTERN void spit_transitions_effect_advance (SpitTransitionsEffect* self,
                                      SpitTransitionsVisuals* visuals,
                                      SpitTransitionsMotion* motion,
                                      gint frame_number);
VALA_EXTERN void spit_transitions_effect_cancel (SpitTransitionsEffect* self);
VALA_EXTERN void spit_transitions_effect_reserved0 (SpitTransitionsEffect* self);
VALA_EXTERN void spit_transitions_effect_reserved1 (SpitTransitionsEffect* self);
VALA_EXTERN void spit_transitions_effect_reserved2 (SpitTransitionsEffect* self);
VALA_EXTERN void spit_transitions_effect_reserved3 (SpitTransitionsEffect* self);
VALA_EXTERN void spit_transitions_effect_reserved4 (SpitTransitionsEffect* self);
VALA_EXTERN void spit_transitions_effect_reserved5 (SpitTransitionsEffect* self);
VALA_EXTERN void spit_transitions_effect_reserved6 (SpitTransitionsEffect* self);
VALA_EXTERN void spit_transitions_effect_reserved7 (SpitTransitionsEffect* self);

VALA_EXTERN const ScaleConstraint EXPORT_DIALOG_CONSTRAINT_ARRAY[4];
VALA_EXTERN const JpegQuality EXPORT_DIALOG_QUALITY_ARRAY[4];
VALA_EXTERN const GtkTargetEntry LIBRARY_WINDOW_DND_TARGET_ENTRIES[3];

G_END_DECLS

#endif
