/* shotwell-plugin-dev-1.0.h generated by valac 0.34.1, the Vala compiler, do not modify */


#ifndef __PLUGINS_SHOTWELL_PLUGIN_DEV_1_0_H__
#define __PLUGINS_SHOTWELL_PLUGIN_DEV_1_0_H__

#include <glib.h>
#include <gio/gio.h>
#include <glib-object.h>
#include <stdlib.h>
#include <string.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <float.h>
#include <math.h>
#include <gdk/gdk.h>
#include <cairo.h>
#include <gtk/gtk.h>
#include <time.h>

G_BEGIN_DECLS


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

#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 SPIT_TRANSITIONS_TYPE_DIRECTION (spit_transitions_direction_get_type ())

#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;
typedef struct _SpitTransitionsVisualsPrivate SpitTransitionsVisualsPrivate;

#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;
typedef struct _SpitTransitionsMotionPrivate SpitTransitionsMotionPrivate;

#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_PUBLISHING_TYPE_PUBLISHER (spit_publishing_publisher_get_type ())
#define SPIT_PUBLISHING_PUBLISHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher))
#define SPIT_PUBLISHING_IS_PUBLISHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_PUBLISHING_TYPE_PUBLISHER))
#define SPIT_PUBLISHING_PUBLISHER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisherIface))

typedef struct _SpitPublishingPublisher SpitPublishingPublisher;
typedef struct _SpitPublishingPublisherIface SpitPublishingPublisherIface;

#define SPIT_PUBLISHING_TYPE_SERVICE (spit_publishing_service_get_type ())
#define SPIT_PUBLISHING_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_PUBLISHING_TYPE_SERVICE, SpitPublishingService))
#define SPIT_PUBLISHING_IS_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_PUBLISHING_TYPE_SERVICE))
#define SPIT_PUBLISHING_SERVICE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_PUBLISHING_TYPE_SERVICE, SpitPublishingServiceIface))

typedef struct _SpitPublishingService SpitPublishingService;
typedef struct _SpitPublishingServiceIface SpitPublishingServiceIface;

#define SPIT_PUBLISHING_TYPE_PLUGIN_HOST (spit_publishing_plugin_host_get_type ())
#define SPIT_PUBLISHING_PLUGIN_HOST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_PUBLISHING_TYPE_PLUGIN_HOST, SpitPublishingPluginHost))
#define SPIT_PUBLISHING_IS_PLUGIN_HOST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_PUBLISHING_TYPE_PLUGIN_HOST))
#define SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_PUBLISHING_TYPE_PLUGIN_HOST, SpitPublishingPluginHostIface))

typedef struct _SpitPublishingPluginHost SpitPublishingPluginHost;
typedef struct _SpitPublishingPluginHostIface SpitPublishingPluginHostIface;

#define SPIT_PUBLISHING_TYPE_DIALOG_PANE (spit_publishing_dialog_pane_get_type ())
#define SPIT_PUBLISHING_DIALOG_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_PUBLISHING_TYPE_DIALOG_PANE, SpitPublishingDialogPane))
#define SPIT_PUBLISHING_IS_DIALOG_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_PUBLISHING_TYPE_DIALOG_PANE))
#define SPIT_PUBLISHING_DIALOG_PANE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_PUBLISHING_TYPE_DIALOG_PANE, SpitPublishingDialogPaneIface))

typedef struct _SpitPublishingDialogPane SpitPublishingDialogPane;
typedef struct _SpitPublishingDialogPaneIface SpitPublishingDialogPaneIface;

#define SPIT_PUBLISHING_DIALOG_PANE_TYPE_GEOMETRY_OPTIONS (spit_publishing_dialog_pane_geometry_options_get_type ())

#define SPIT_PUBLISHING_PLUGIN_HOST_TYPE_BUTTON_MODE (spit_publishing_plugin_host_button_mode_get_type ())

#define SPIT_PUBLISHING_TYPE_PUBLISHABLE (spit_publishing_publishable_get_type ())
#define SPIT_PUBLISHING_PUBLISHABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_PUBLISHING_TYPE_PUBLISHABLE, SpitPublishingPublishable))
#define SPIT_PUBLISHING_IS_PUBLISHABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_PUBLISHING_TYPE_PUBLISHABLE))
#define SPIT_PUBLISHING_PUBLISHABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_PUBLISHING_TYPE_PUBLISHABLE, SpitPublishingPublishableIface))

typedef struct _SpitPublishingPublishable SpitPublishingPublishable;
typedef struct _SpitPublishingPublishableIface SpitPublishingPublishableIface;

#define SPIT_PUBLISHING_PUBLISHER_TYPE_MEDIA_TYPE (spit_publishing_publisher_media_type_get_type ())

#define SPIT_DATA_IMPORTS_TYPE_DATA_IMPORTER (spit_data_imports_data_importer_get_type ())
#define SPIT_DATA_IMPORTS_DATA_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORTER, SpitDataImportsDataImporter))
#define SPIT_DATA_IMPORTS_IS_DATA_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORTER))
#define SPIT_DATA_IMPORTS_DATA_IMPORTER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORTER, SpitDataImportsDataImporterIface))

typedef struct _SpitDataImportsDataImporter SpitDataImportsDataImporter;
typedef struct _SpitDataImportsDataImporterIface SpitDataImportsDataImporterIface;

#define SPIT_DATA_IMPORTS_TYPE_SERVICE (spit_data_imports_service_get_type ())
#define SPIT_DATA_IMPORTS_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_DATA_IMPORTS_TYPE_SERVICE, SpitDataImportsService))
#define SPIT_DATA_IMPORTS_IS_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_DATA_IMPORTS_TYPE_SERVICE))
#define SPIT_DATA_IMPORTS_SERVICE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_DATA_IMPORTS_TYPE_SERVICE, SpitDataImportsServiceIface))

typedef struct _SpitDataImportsService SpitDataImportsService;
typedef struct _SpitDataImportsServiceIface SpitDataImportsServiceIface;

#define SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST (spit_data_imports_plugin_host_get_type ())
#define SPIT_DATA_IMPORTS_PLUGIN_HOST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHost))
#define SPIT_DATA_IMPORTS_IS_PLUGIN_HOST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST))
#define SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHostIface))

typedef struct _SpitDataImportsPluginHost SpitDataImportsPluginHost;
typedef struct _SpitDataImportsPluginHostIface SpitDataImportsPluginHostIface;

#define SPIT_DATA_IMPORTS_TYPE_DIALOG_PANE (spit_data_imports_dialog_pane_get_type ())
#define SPIT_DATA_IMPORTS_DIALOG_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_DATA_IMPORTS_TYPE_DIALOG_PANE, SpitDataImportsDialogPane))
#define SPIT_DATA_IMPORTS_IS_DIALOG_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_DATA_IMPORTS_TYPE_DIALOG_PANE))
#define SPIT_DATA_IMPORTS_DIALOG_PANE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_DATA_IMPORTS_TYPE_DIALOG_PANE, SpitDataImportsDialogPaneIface))

typedef struct _SpitDataImportsDialogPane SpitDataImportsDialogPane;
typedef struct _SpitDataImportsDialogPaneIface SpitDataImportsDialogPaneIface;

#define SPIT_DATA_IMPORTS_DIALOG_PANE_TYPE_GEOMETRY_OPTIONS (spit_data_imports_dialog_pane_geometry_options_get_type ())

#define SPIT_DATA_IMPORTS_PLUGIN_HOST_TYPE_BUTTON_MODE (spit_data_imports_plugin_host_button_mode_get_type ())

#define SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_LIBRARY (spit_data_imports_importable_library_get_type ())
#define SPIT_DATA_IMPORTS_IMPORTABLE_LIBRARY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_LIBRARY, SpitDataImportsImportableLibrary))
#define SPIT_DATA_IMPORTS_IS_IMPORTABLE_LIBRARY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_LIBRARY))
#define SPIT_DATA_IMPORTS_IMPORTABLE_LIBRARY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_LIBRARY, SpitDataImportsImportableLibraryIface))

typedef struct _SpitDataImportsImportableLibrary SpitDataImportsImportableLibrary;
typedef struct _SpitDataImportsImportableLibraryIface SpitDataImportsImportableLibraryIface;

#define SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_MEDIA_ITEM (spit_data_imports_importable_media_item_get_type ())
#define SPIT_DATA_IMPORTS_IMPORTABLE_MEDIA_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_MEDIA_ITEM, SpitDataImportsImportableMediaItem))
#define SPIT_DATA_IMPORTS_IS_IMPORTABLE_MEDIA_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_MEDIA_ITEM))
#define SPIT_DATA_IMPORTS_IMPORTABLE_MEDIA_ITEM_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_MEDIA_ITEM, SpitDataImportsImportableMediaItemIface))

typedef struct _SpitDataImportsImportableMediaItem SpitDataImportsImportableMediaItem;
typedef struct _SpitDataImportsImportableMediaItemIface SpitDataImportsImportableMediaItemIface;

#define SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_TAG (spit_data_imports_importable_tag_get_type ())
#define SPIT_DATA_IMPORTS_IMPORTABLE_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_TAG, SpitDataImportsImportableTag))
#define SPIT_DATA_IMPORTS_IS_IMPORTABLE_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_TAG))
#define SPIT_DATA_IMPORTS_IMPORTABLE_TAG_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_TAG, SpitDataImportsImportableTagIface))

typedef struct _SpitDataImportsImportableTag SpitDataImportsImportableTag;
typedef struct _SpitDataImportsImportableTagIface SpitDataImportsImportableTagIface;

#define SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_EVENT (spit_data_imports_importable_event_get_type ())
#define SPIT_DATA_IMPORTS_IMPORTABLE_EVENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_EVENT, SpitDataImportsImportableEvent))
#define SPIT_DATA_IMPORTS_IS_IMPORTABLE_EVENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_EVENT))
#define SPIT_DATA_IMPORTS_IMPORTABLE_EVENT_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_EVENT, SpitDataImportsImportableEventIface))

typedef struct _SpitDataImportsImportableEvent SpitDataImportsImportableEvent;
typedef struct _SpitDataImportsImportableEventIface SpitDataImportsImportableEventIface;

#define SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_RATING (spit_data_imports_importable_rating_get_type ())
#define SPIT_DATA_IMPORTS_IMPORTABLE_RATING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_RATING, SpitDataImportsImportableRating))
#define SPIT_DATA_IMPORTS_IS_IMPORTABLE_RATING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_RATING))
#define SPIT_DATA_IMPORTS_IMPORTABLE_RATING_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_RATING, SpitDataImportsImportableRatingIface))

typedef struct _SpitDataImportsImportableRating SpitDataImportsImportableRating;
typedef struct _SpitDataImportsImportableRatingIface SpitDataImportsImportableRatingIface;

struct _SpitEntryPointParams {
	gint host_min_spit_interface;
	gint host_max_spit_interface;
	gint module_spit_interface;
	GFile* module_file;
};

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;
	GdkPixbuf** icons;
	gint icons_length1;
};

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 _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, int* 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);
};

typedef SpitModule* (*SpitEntryPoint) (SpitEntryPointParams* params);
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);
};

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;

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);
};

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);
};

typedef enum  {
	SPIT_PUBLISHING_PUBLISHING_ERROR_NO_ANSWER,
	SPIT_PUBLISHING_PUBLISHING_ERROR_COMMUNICATION_FAILED,
	SPIT_PUBLISHING_PUBLISHING_ERROR_PROTOCOL_ERROR,
	SPIT_PUBLISHING_PUBLISHING_ERROR_SERVICE_ERROR,
	SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE,
	SPIT_PUBLISHING_PUBLISHING_ERROR_LOCAL_FILE_ERROR,
	SPIT_PUBLISHING_PUBLISHING_ERROR_EXPIRED_SESSION,
	SPIT_PUBLISHING_PUBLISHING_ERROR_SSL_FAILED
} SpitPublishingPublishingError;
#define SPIT_PUBLISHING_PUBLISHING_ERROR spit_publishing_publishing_error_quark ()
typedef enum  {
	SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_NONE = 0,
	SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_EXTENDED_SIZE = 1 << 0,
	SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_RESIZABLE = 1 << 1,
	SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_COLOSSAL_SIZE = 1 << 2
} SpitPublishingDialogPaneGeometryOptions;

struct _SpitPublishingDialogPaneIface {
	GTypeInterface parent_iface;
	GtkWidget* (*get_widget) (SpitPublishingDialogPane* self);
	SpitPublishingDialogPaneGeometryOptions (*get_preferred_geometry) (SpitPublishingDialogPane* self);
	void (*on_pane_installed) (SpitPublishingDialogPane* self);
	void (*on_pane_uninstalled) (SpitPublishingDialogPane* self);
	void (*reserved0) (SpitPublishingDialogPane* self);
	void (*reserved1) (SpitPublishingDialogPane* self);
	void (*reserved2) (SpitPublishingDialogPane* self);
	void (*reserved3) (SpitPublishingDialogPane* self);
	void (*reserved4) (SpitPublishingDialogPane* self);
	void (*reserved5) (SpitPublishingDialogPane* self);
	void (*reserved6) (SpitPublishingDialogPane* self);
	void (*reserved7) (SpitPublishingDialogPane* self);
};

typedef enum  {
	SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CLOSE = 0,
	SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL = 1
} SpitPublishingPluginHostButtonMode;

typedef void (*SpitPublishingLoginCallback) (void* user_data);
typedef enum  {
	SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_NONE = 0,
	SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO = 1 << 0,
	SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO = 1 << 1
} SpitPublishingPublisherMediaType;

struct _SpitPublishingPublishableIface {
	GTypeInterface parent_iface;
	GFile* (*get_serialized_file) (SpitPublishingPublishable* self);
	gchar* (*get_publishing_name) (SpitPublishingPublishable* self);
	gchar* (*get_param_string) (SpitPublishingPublishable* self, const gchar* name);
	gchar** (*get_publishing_keywords) (SpitPublishingPublishable* self, int* result_length1);
	SpitPublishingPublisherMediaType (*get_media_type) (SpitPublishingPublishable* self);
	GDateTime* (*get_exposure_date_time) (SpitPublishingPublishable* self);
	void (*reserved0) (SpitPublishingPublishable* self);
	void (*reserved1) (SpitPublishingPublishable* self);
	void (*reserved2) (SpitPublishingPublishable* self);
	void (*reserved3) (SpitPublishingPublishable* self);
	void (*reserved4) (SpitPublishingPublishable* self);
	void (*reserved5) (SpitPublishingPublishable* self);
	void (*reserved6) (SpitPublishingPublishable* self);
	void (*reserved7) (SpitPublishingPublishable* self);
};

typedef void (*SpitPublishingProgressCallback) (gint file_number, gdouble fraction_complete, void* user_data);
struct _SpitPublishingPluginHostIface {
	GTypeInterface parent_iface;
	void (*post_error) (SpitPublishingPluginHost* self, GError* err);
	void (*stop_publishing) (SpitPublishingPluginHost* self);
	SpitPublishingPublisher* (*get_publisher) (SpitPublishingPluginHost* self);
	void (*install_dialog_pane) (SpitPublishingPluginHost* self, SpitPublishingDialogPane* pane, SpitPublishingPluginHostButtonMode mode);
	void (*install_static_message_pane) (SpitPublishingPluginHost* self, const gchar* message, SpitPublishingPluginHostButtonMode mode);
	void (*install_pango_message_pane) (SpitPublishingPluginHost* self, const gchar* markup, SpitPublishingPluginHostButtonMode mode);
	void (*install_success_pane) (SpitPublishingPluginHost* self);
	void (*install_account_fetch_wait_pane) (SpitPublishingPluginHost* self);
	void (*install_login_wait_pane) (SpitPublishingPluginHost* self);
	void (*install_welcome_pane) (SpitPublishingPluginHost* self, const gchar* welcome_message, SpitPublishingLoginCallback on_login_clicked, void* on_login_clicked_target);
	void (*set_service_locked) (SpitPublishingPluginHost* self, gboolean is_locked);
	void (*set_dialog_default_widget) (SpitPublishingPluginHost* self, GtkWidget* widget);
	SpitPublishingPublishable** (*get_publishables) (SpitPublishingPluginHost* self, int* result_length1);
	SpitPublishingProgressCallback (*serialize_publishables) (SpitPublishingPluginHost* self, gint content_major_axis, gboolean strip_metadata, void** result_target, GDestroyNotify* result_target_destroy_notify);
	SpitPublishingPublisherMediaType (*get_publishable_media_type) (SpitPublishingPluginHost* self);
	void (*reserved0) (SpitPublishingPluginHost* self);
	void (*reserved1) (SpitPublishingPluginHost* self);
	void (*reserved2) (SpitPublishingPluginHost* self);
	void (*reserved3) (SpitPublishingPluginHost* self);
	void (*reserved4) (SpitPublishingPluginHost* self);
	void (*reserved5) (SpitPublishingPluginHost* self);
	void (*reserved6) (SpitPublishingPluginHost* self);
	void (*reserved7) (SpitPublishingPluginHost* self);
};

struct _SpitPublishingServiceIface {
	GTypeInterface parent_iface;
	SpitPublishingPublisher* (*create_publisher) (SpitPublishingService* self, SpitPublishingPluginHost* host);
	SpitPublishingPublisherMediaType (*get_supported_media) (SpitPublishingService* self);
	void (*reserved0) (SpitPublishingService* self);
	void (*reserved1) (SpitPublishingService* self);
	void (*reserved2) (SpitPublishingService* self);
	void (*reserved3) (SpitPublishingService* self);
	void (*reserved4) (SpitPublishingService* self);
	void (*reserved5) (SpitPublishingService* self);
	void (*reserved6) (SpitPublishingService* self);
	void (*reserved7) (SpitPublishingService* self);
};

struct _SpitPublishingPublisherIface {
	GTypeInterface parent_iface;
	SpitPublishingService* (*get_service) (SpitPublishingPublisher* self);
	void (*start) (SpitPublishingPublisher* self);
	gboolean (*is_running) (SpitPublishingPublisher* self);
	void (*stop) (SpitPublishingPublisher* self);
	void (*reserved0) (SpitPublishingPublisher* self);
	void (*reserved1) (SpitPublishingPublisher* self);
	void (*reserved2) (SpitPublishingPublisher* self);
	void (*reserved3) (SpitPublishingPublisher* self);
	void (*reserved4) (SpitPublishingPublisher* self);
	void (*reserved5) (SpitPublishingPublisher* self);
	void (*reserved6) (SpitPublishingPublisher* self);
	void (*reserved7) (SpitPublishingPublisher* self);
};

typedef enum  {
	SPIT_DATA_IMPORTS_DATA_IMPORT_ERROR_UNSUPPORTED_VERSION
} SpitDataImportsDataImportError;
#define SPIT_DATA_IMPORTS_DATA_IMPORT_ERROR spit_data_imports_data_import_error_quark ()
typedef enum  {
	SPIT_DATA_IMPORTS_DIALOG_PANE_GEOMETRY_OPTIONS_NONE = 0,
	SPIT_DATA_IMPORTS_DIALOG_PANE_GEOMETRY_OPTIONS_EXTENDED_SIZE = 1 << 0,
	SPIT_DATA_IMPORTS_DIALOG_PANE_GEOMETRY_OPTIONS_RESIZABLE = 1 << 1,
	SPIT_DATA_IMPORTS_DIALOG_PANE_GEOMETRY_OPTIONS_COLOSSAL_SIZE = 1 << 2
} SpitDataImportsDialogPaneGeometryOptions;

struct _SpitDataImportsDialogPaneIface {
	GTypeInterface parent_iface;
	GtkWidget* (*get_widget) (SpitDataImportsDialogPane* self);
	SpitDataImportsDialogPaneGeometryOptions (*get_preferred_geometry) (SpitDataImportsDialogPane* self);
	void (*on_pane_installed) (SpitDataImportsDialogPane* self);
	void (*on_pane_uninstalled) (SpitDataImportsDialogPane* self);
	void (*reserved0) (SpitDataImportsDialogPane* self);
	void (*reserved1) (SpitDataImportsDialogPane* self);
	void (*reserved2) (SpitDataImportsDialogPane* self);
	void (*reserved3) (SpitDataImportsDialogPane* self);
	void (*reserved4) (SpitDataImportsDialogPane* self);
	void (*reserved5) (SpitDataImportsDialogPane* self);
	void (*reserved6) (SpitDataImportsDialogPane* self);
	void (*reserved7) (SpitDataImportsDialogPane* self);
};

typedef enum  {
	SPIT_DATA_IMPORTS_PLUGIN_HOST_BUTTON_MODE_CLOSE = 0,
	SPIT_DATA_IMPORTS_PLUGIN_HOST_BUTTON_MODE_CANCEL = 1
} SpitDataImportsPluginHostButtonMode;

struct _SpitDataImportsImportableLibraryIface {
	GTypeInterface parent_iface;
	gchar* (*get_display_name) (SpitDataImportsImportableLibrary* self);
};

struct _SpitDataImportsImportableTagIface {
	GTypeInterface parent_iface;
	gchar* (*get_name) (SpitDataImportsImportableTag* self);
	SpitDataImportsImportableTag* (*get_parent) (SpitDataImportsImportableTag* self);
};

struct _SpitDataImportsImportableEventIface {
	GTypeInterface parent_iface;
	gchar* (*get_name) (SpitDataImportsImportableEvent* self);
};

struct _SpitDataImportsImportableRatingIface {
	GTypeInterface parent_iface;
	gboolean (*is_unrated) (SpitDataImportsImportableRating* self);
	gboolean (*is_rejected) (SpitDataImportsImportableRating* self);
	gint (*get_value) (SpitDataImportsImportableRating* self);
};

struct _SpitDataImportsImportableMediaItemIface {
	GTypeInterface parent_iface;
	SpitDataImportsImportableTag** (*get_tags) (SpitDataImportsImportableMediaItem* self, int* result_length1);
	SpitDataImportsImportableEvent* (*get_event) (SpitDataImportsImportableMediaItem* self);
	SpitDataImportsImportableRating* (*get_rating) (SpitDataImportsImportableMediaItem* self);
	gchar* (*get_title) (SpitDataImportsImportableMediaItem* self);
	gchar* (*get_folder_path) (SpitDataImportsImportableMediaItem* self);
	gchar* (*get_filename) (SpitDataImportsImportableMediaItem* self);
	time_t* (*get_exposure_time) (SpitDataImportsImportableMediaItem* self);
};

typedef void (*SpitDataImportsImportedItemsCountCallback) (gint imported_items_count, void* user_data);
struct _SpitDataImportsPluginHostIface {
	GTypeInterface parent_iface;
	void (*post_error) (SpitDataImportsPluginHost* self, GError* err);
	void (*post_error_message) (SpitDataImportsPluginHost* self, const gchar* msg);
	void (*start_importing) (SpitDataImportsPluginHost* self);
	void (*stop_importing) (SpitDataImportsPluginHost* self);
	SpitDataImportsDataImporter* (*get_data_importer) (SpitDataImportsPluginHost* self);
	void (*install_dialog_pane) (SpitDataImportsPluginHost* self, SpitDataImportsDialogPane* pane, SpitDataImportsPluginHostButtonMode mode);
	void (*install_static_message_pane) (SpitDataImportsPluginHost* self, const gchar* message, SpitDataImportsPluginHostButtonMode mode);
	void (*install_library_selection_pane) (SpitDataImportsPluginHost* self, const gchar* welcome_message, SpitDataImportsImportableLibrary** discovered_libraries, int discovered_libraries_length1, const gchar* file_select_label);
	void (*install_import_progress_pane) (SpitDataImportsPluginHost* self, const gchar* message);
	void (*update_import_progress_pane) (SpitDataImportsPluginHost* self, gdouble progress, const gchar* progress_message);
	void (*prepare_media_items_for_import) (SpitDataImportsPluginHost* self, SpitDataImportsImportableMediaItem** items, int items_length1, gdouble progress, gdouble host_progress_delta, const gchar* progress_message);
	void (*finalize_import) (SpitDataImportsPluginHost* self, SpitDataImportsImportedItemsCountCallback report_imported_items_count, void* report_imported_items_count_target, const gchar* finalize_message);
	void (*reserved0) (SpitDataImportsPluginHost* self);
	void (*reserved1) (SpitDataImportsPluginHost* self);
	void (*reserved2) (SpitDataImportsPluginHost* self);
	void (*reserved3) (SpitDataImportsPluginHost* self);
	void (*reserved4) (SpitDataImportsPluginHost* self);
	void (*reserved5) (SpitDataImportsPluginHost* self);
	void (*reserved6) (SpitDataImportsPluginHost* self);
	void (*reserved7) (SpitDataImportsPluginHost* self);
};

struct _SpitDataImportsServiceIface {
	GTypeInterface parent_iface;
	SpitDataImportsDataImporter* (*create_data_importer) (SpitDataImportsService* self, SpitDataImportsPluginHost* host);
	void (*reserved0) (SpitDataImportsService* self);
	void (*reserved1) (SpitDataImportsService* self);
	void (*reserved2) (SpitDataImportsService* self);
	void (*reserved3) (SpitDataImportsService* self);
	void (*reserved4) (SpitDataImportsService* self);
	void (*reserved5) (SpitDataImportsService* self);
	void (*reserved6) (SpitDataImportsService* self);
	void (*reserved7) (SpitDataImportsService* self);
};

struct _SpitDataImportsDataImporterIface {
	GTypeInterface parent_iface;
	SpitDataImportsService* (*get_service) (SpitDataImportsDataImporter* self);
	void (*start) (SpitDataImportsDataImporter* self);
	gboolean (*is_running) (SpitDataImportsDataImporter* self);
	void (*stop) (SpitDataImportsDataImporter* self);
	void (*on_library_selected) (SpitDataImportsDataImporter* self, SpitDataImportsImportableLibrary* library);
	void (*on_file_selected) (SpitDataImportsDataImporter* self, GFile* file);
	void (*reserved0) (SpitDataImportsDataImporter* self);
	void (*reserved1) (SpitDataImportsDataImporter* self);
	void (*reserved2) (SpitDataImportsDataImporter* self);
	void (*reserved3) (SpitDataImportsDataImporter* self);
	void (*reserved4) (SpitDataImportsDataImporter* self);
	void (*reserved5) (SpitDataImportsDataImporter* self);
	void (*reserved6) (SpitDataImportsDataImporter* self);
	void (*reserved7) (SpitDataImportsDataImporter* self);
};


#define SPIT_UNSUPPORTED_INTERFACE -1
#define SPIT_CURRENT_INTERFACE 0
gint spit_negotiate_interfaces (gint min_host_interface, gint max_host_interface, gint plugin_interface);
GType spit_entry_point_params_get_type (void) G_GNUC_CONST;
SpitEntryPointParams* spit_entry_point_params_dup (const SpitEntryPointParams* self);
void spit_entry_point_params_free (SpitEntryPointParams* self);
void spit_entry_point_params_copy (const SpitEntryPointParams* self, SpitEntryPointParams* dest);
void spit_entry_point_params_destroy (SpitEntryPointParams* self);
GType spit_pluggable_info_get_type (void) G_GNUC_CONST;
SpitPluggableInfo* spit_pluggable_info_dup (const SpitPluggableInfo* self);
void spit_pluggable_info_free (SpitPluggableInfo* self);
void spit_pluggable_info_copy (const SpitPluggableInfo* self, SpitPluggableInfo* dest);
void spit_pluggable_info_destroy (SpitPluggableInfo* self);
GType spit_pluggable_get_type (void) G_GNUC_CONST;
GType spit_module_get_type (void) G_GNUC_CONST;
#define SPIT_ENTRY_POINT_NAME "spit_entry_point"
const gchar* spit_module_get_module_name (SpitModule* self);
const gchar* spit_module_get_version (SpitModule* self);
const gchar* spit_module_get_id (SpitModule* self);
SpitPluggable** spit_module_get_pluggables (SpitModule* self, int* result_length1);
void spit_module_reserved0 (SpitModule* self);
void spit_module_reserved1 (SpitModule* self);
void spit_module_reserved2 (SpitModule* self);
void spit_module_reserved3 (SpitModule* self);
void spit_module_reserved4 (SpitModule* self);
void spit_module_reserved5 (SpitModule* self);
void spit_module_reserved6 (SpitModule* self);
void spit_module_reserved7 (SpitModule* self);
gint spit_pluggable_get_pluggable_interface (SpitPluggable* self, gint min_host_interface, gint max_host_interface);
const gchar* spit_pluggable_get_id (SpitPluggable* self);
const gchar* spit_pluggable_get_pluggable_name (SpitPluggable* self);
void spit_pluggable_get_info (SpitPluggable* self, SpitPluggableInfo* info);
void spit_pluggable_activation (SpitPluggable* self, gboolean enabled);
void spit_pluggable_reserved0 (SpitPluggable* self);
void spit_pluggable_reserved1 (SpitPluggable* self);
void spit_pluggable_reserved2 (SpitPluggable* self);
void spit_pluggable_reserved3 (SpitPluggable* self);
void spit_pluggable_reserved4 (SpitPluggable* self);
void spit_pluggable_reserved5 (SpitPluggable* self);
void spit_pluggable_reserved6 (SpitPluggable* self);
void spit_pluggable_reserved7 (SpitPluggable* self);
GType spit_host_interface_get_type (void) G_GNUC_CONST;
GFile* spit_host_interface_get_module_file (SpitHostInterface* self);
gboolean spit_host_interface_get_config_bool (SpitHostInterface* self, const gchar* key, gboolean def);
void spit_host_interface_set_config_bool (SpitHostInterface* self, const gchar* key, gboolean val);
gint spit_host_interface_get_config_int (SpitHostInterface* self, const gchar* key, gint def);
void spit_host_interface_set_config_int (SpitHostInterface* self, const gchar* key, gint val);
gchar* spit_host_interface_get_config_string (SpitHostInterface* self, const gchar* key, const gchar* def);
void spit_host_interface_set_config_string (SpitHostInterface* self, const gchar* key, const gchar* val);
gdouble spit_host_interface_get_config_double (SpitHostInterface* self, const gchar* key, gdouble def);
void spit_host_interface_set_config_double (SpitHostInterface* self, const gchar* key, gdouble val);
void spit_host_interface_unset_config_key (SpitHostInterface* self, const gchar* key);
void spit_host_interface_reserved0 (SpitHostInterface* self);
void spit_host_interface_reserved1 (SpitHostInterface* self);
void spit_host_interface_reserved2 (SpitHostInterface* self);
void spit_host_interface_reserved3 (SpitHostInterface* self);
void spit_host_interface_reserved4 (SpitHostInterface* self);
void spit_host_interface_reserved5 (SpitHostInterface* self);
void spit_host_interface_reserved6 (SpitHostInterface* self);
void spit_host_interface_reserved7 (SpitHostInterface* self);
#define SPIT_TRANSITIONS_CURRENT_INTERFACE 0
GType spit_transitions_direction_get_type (void) G_GNUC_CONST;
GType spit_transitions_visuals_get_type (void) G_GNUC_CONST;
SpitTransitionsVisuals* spit_transitions_visuals_new (GdkPixbuf* from_pixbuf, GdkRectangle* from_pos, GdkPixbuf* to_pixbuf, GdkRectangle* to_pos, GdkRGBA* bg_color);
SpitTransitionsVisuals* spit_transitions_visuals_construct (GType object_type, GdkPixbuf* from_pixbuf, GdkRectangle* from_pos, GdkPixbuf* to_pixbuf, GdkRectangle* to_pos, GdkRGBA* bg_color);
void spit_transitions_visuals_reserved0 (SpitTransitionsVisuals* self);
void spit_transitions_visuals_reserved1 (SpitTransitionsVisuals* self);
void spit_transitions_visuals_reserved2 (SpitTransitionsVisuals* self);
void spit_transitions_visuals_reserved3 (SpitTransitionsVisuals* self);
void spit_transitions_visuals_reserved4 (SpitTransitionsVisuals* self);
void spit_transitions_visuals_reserved5 (SpitTransitionsVisuals* self);
void spit_transitions_visuals_reserved6 (SpitTransitionsVisuals* self);
void spit_transitions_visuals_reserved7 (SpitTransitionsVisuals* self);
GdkPixbuf* spit_transitions_visuals_get_from_pixbuf (SpitTransitionsVisuals* self);
void spit_transitions_visuals_get_from_pos (SpitTransitionsVisuals* self, GdkRectangle* result);
GdkPixbuf* spit_transitions_visuals_get_to_pixbuf (SpitTransitionsVisuals* self);
void spit_transitions_visuals_get_to_pos (SpitTransitionsVisuals* self, GdkRectangle* result);
void spit_transitions_visuals_get_bg_color (SpitTransitionsVisuals* self, GdkRGBA* result);
GType spit_transitions_motion_get_type (void) G_GNUC_CONST;
SpitTransitionsMotion* spit_transitions_motion_new (SpitTransitionsDirection direction, gint fps, gint duration_msec);
SpitTransitionsMotion* spit_transitions_motion_construct (GType object_type, SpitTransitionsDirection direction, gint fps, gint duration_msec);
gdouble spit_transitions_motion_get_alpha (SpitTransitionsMotion* self, gint frame_number);
void spit_transitions_motion_reserved0 (SpitTransitionsMotion* self);
void spit_transitions_motion_reserved1 (SpitTransitionsMotion* self);
void spit_transitions_motion_reserved2 (SpitTransitionsMotion* self);
void spit_transitions_motion_reserved3 (SpitTransitionsMotion* self);
void spit_transitions_motion_reserved4 (SpitTransitionsMotion* self);
void spit_transitions_motion_reserved5 (SpitTransitionsMotion* self);
void spit_transitions_motion_reserved6 (SpitTransitionsMotion* self);
void spit_transitions_motion_reserved7 (SpitTransitionsMotion* self);
SpitTransitionsDirection spit_transitions_motion_get_direction (SpitTransitionsMotion* self);
gint spit_transitions_motion_get_fps (SpitTransitionsMotion* self);
gint spit_transitions_motion_get_duration_msec (SpitTransitionsMotion* self);
gint spit_transitions_motion_get_total_frames (SpitTransitionsMotion* self);
gint spit_transitions_motion_get_tick_msec (SpitTransitionsMotion* self);
GType spit_transitions_effect_get_type (void) G_GNUC_CONST;
GType spit_transitions_descriptor_get_type (void) G_GNUC_CONST;
SpitTransitionsEffect* spit_transitions_descriptor_create (SpitTransitionsDescriptor* self, SpitHostInterface* host);
void spit_transitions_descriptor_reserved0 (SpitTransitionsDescriptor* self);
void spit_transitions_descriptor_reserved1 (SpitTransitionsDescriptor* self);
void spit_transitions_descriptor_reserved2 (SpitTransitionsDescriptor* self);
void spit_transitions_descriptor_reserved3 (SpitTransitionsDescriptor* self);
void spit_transitions_descriptor_reserved4 (SpitTransitionsDescriptor* self);
void spit_transitions_descriptor_reserved5 (SpitTransitionsDescriptor* self);
void spit_transitions_descriptor_reserved6 (SpitTransitionsDescriptor* self);
void spit_transitions_descriptor_reserved7 (SpitTransitionsDescriptor* self);
void spit_transitions_effect_get_fps (SpitTransitionsEffect* self, gint* desired_fps, gint* min_fps);
void spit_transitions_effect_start (SpitTransitionsEffect* self, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion);
gboolean spit_transitions_effect_needs_clear_background (SpitTransitionsEffect* self);
void spit_transitions_effect_paint (SpitTransitionsEffect* self, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number);
void spit_transitions_effect_advance (SpitTransitionsEffect* self, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number);
void spit_transitions_effect_cancel (SpitTransitionsEffect* self);
void spit_transitions_effect_reserved0 (SpitTransitionsEffect* self);
void spit_transitions_effect_reserved1 (SpitTransitionsEffect* self);
void spit_transitions_effect_reserved2 (SpitTransitionsEffect* self);
void spit_transitions_effect_reserved3 (SpitTransitionsEffect* self);
void spit_transitions_effect_reserved4 (SpitTransitionsEffect* self);
void spit_transitions_effect_reserved5 (SpitTransitionsEffect* self);
void spit_transitions_effect_reserved6 (SpitTransitionsEffect* self);
void spit_transitions_effect_reserved7 (SpitTransitionsEffect* self);
#define SPIT_PUBLISHING_CURRENT_INTERFACE 0
GQuark spit_publishing_publishing_error_quark (void);
GType spit_publishing_dialog_pane_geometry_options_get_type (void) G_GNUC_CONST;
GType spit_publishing_dialog_pane_get_type (void) G_GNUC_CONST;
GType spit_publishing_plugin_host_button_mode_get_type (void) G_GNUC_CONST;
GType spit_publishing_publisher_media_type_get_type (void) G_GNUC_CONST;
GType spit_publishing_publishable_get_type (void) G_GNUC_CONST;
GType spit_publishing_plugin_host_get_type (void) G_GNUC_CONST;
GType spit_publishing_service_get_type (void) G_GNUC_CONST;
GType spit_publishing_publisher_get_type (void) G_GNUC_CONST;
SpitPublishingService* spit_publishing_publisher_get_service (SpitPublishingPublisher* self);
void spit_publishing_publisher_start (SpitPublishingPublisher* self);
gboolean spit_publishing_publisher_is_running (SpitPublishingPublisher* self);
void spit_publishing_publisher_stop (SpitPublishingPublisher* self);
void spit_publishing_publisher_reserved0 (SpitPublishingPublisher* self);
void spit_publishing_publisher_reserved1 (SpitPublishingPublisher* self);
void spit_publishing_publisher_reserved2 (SpitPublishingPublisher* self);
void spit_publishing_publisher_reserved3 (SpitPublishingPublisher* self);
void spit_publishing_publisher_reserved4 (SpitPublishingPublisher* self);
void spit_publishing_publisher_reserved5 (SpitPublishingPublisher* self);
void spit_publishing_publisher_reserved6 (SpitPublishingPublisher* self);
void spit_publishing_publisher_reserved7 (SpitPublishingPublisher* self);
GtkWidget* spit_publishing_dialog_pane_get_widget (SpitPublishingDialogPane* self);
SpitPublishingDialogPaneGeometryOptions spit_publishing_dialog_pane_get_preferred_geometry (SpitPublishingDialogPane* self);
void spit_publishing_dialog_pane_on_pane_installed (SpitPublishingDialogPane* self);
void spit_publishing_dialog_pane_on_pane_uninstalled (SpitPublishingDialogPane* self);
void spit_publishing_dialog_pane_reserved0 (SpitPublishingDialogPane* self);
void spit_publishing_dialog_pane_reserved1 (SpitPublishingDialogPane* self);
void spit_publishing_dialog_pane_reserved2 (SpitPublishingDialogPane* self);
void spit_publishing_dialog_pane_reserved3 (SpitPublishingDialogPane* self);
void spit_publishing_dialog_pane_reserved4 (SpitPublishingDialogPane* self);
void spit_publishing_dialog_pane_reserved5 (SpitPublishingDialogPane* self);
void spit_publishing_dialog_pane_reserved6 (SpitPublishingDialogPane* self);
void spit_publishing_dialog_pane_reserved7 (SpitPublishingDialogPane* self);
void spit_publishing_plugin_host_post_error (SpitPublishingPluginHost* self, GError* err);
void spit_publishing_plugin_host_stop_publishing (SpitPublishingPluginHost* self);
SpitPublishingPublisher* spit_publishing_plugin_host_get_publisher (SpitPublishingPluginHost* self);
void spit_publishing_plugin_host_install_dialog_pane (SpitPublishingPluginHost* self, SpitPublishingDialogPane* pane, SpitPublishingPluginHostButtonMode mode);
void spit_publishing_plugin_host_install_static_message_pane (SpitPublishingPluginHost* self, const gchar* message, SpitPublishingPluginHostButtonMode mode);
void spit_publishing_plugin_host_install_pango_message_pane (SpitPublishingPluginHost* self, const gchar* markup, SpitPublishingPluginHostButtonMode mode);
void spit_publishing_plugin_host_install_success_pane (SpitPublishingPluginHost* self);
void spit_publishing_plugin_host_install_account_fetch_wait_pane (SpitPublishingPluginHost* self);
void spit_publishing_plugin_host_install_login_wait_pane (SpitPublishingPluginHost* self);
void spit_publishing_plugin_host_install_welcome_pane (SpitPublishingPluginHost* self, const gchar* welcome_message, SpitPublishingLoginCallback on_login_clicked, void* on_login_clicked_target);
void spit_publishing_plugin_host_set_service_locked (SpitPublishingPluginHost* self, gboolean is_locked);
void spit_publishing_plugin_host_set_dialog_default_widget (SpitPublishingPluginHost* self, GtkWidget* widget);
SpitPublishingPublishable** spit_publishing_plugin_host_get_publishables (SpitPublishingPluginHost* self, int* result_length1);
SpitPublishingProgressCallback spit_publishing_plugin_host_serialize_publishables (SpitPublishingPluginHost* self, gint content_major_axis, gboolean strip_metadata, void** result_target, GDestroyNotify* result_target_destroy_notify);
SpitPublishingPublisherMediaType spit_publishing_plugin_host_get_publishable_media_type (SpitPublishingPluginHost* self);
void spit_publishing_plugin_host_reserved0 (SpitPublishingPluginHost* self);
void spit_publishing_plugin_host_reserved1 (SpitPublishingPluginHost* self);
void spit_publishing_plugin_host_reserved2 (SpitPublishingPluginHost* self);
void spit_publishing_plugin_host_reserved3 (SpitPublishingPluginHost* self);
void spit_publishing_plugin_host_reserved4 (SpitPublishingPluginHost* self);
void spit_publishing_plugin_host_reserved5 (SpitPublishingPluginHost* self);
void spit_publishing_plugin_host_reserved6 (SpitPublishingPluginHost* self);
void spit_publishing_plugin_host_reserved7 (SpitPublishingPluginHost* self);
GFile* spit_publishing_publishable_get_serialized_file (SpitPublishingPublishable* self);
gchar* spit_publishing_publishable_get_publishing_name (SpitPublishingPublishable* self);
gchar* spit_publishing_publishable_get_param_string (SpitPublishingPublishable* self, const gchar* name);
gchar** spit_publishing_publishable_get_publishing_keywords (SpitPublishingPublishable* self, int* result_length1);
SpitPublishingPublisherMediaType spit_publishing_publishable_get_media_type (SpitPublishingPublishable* self);
GDateTime* spit_publishing_publishable_get_exposure_date_time (SpitPublishingPublishable* self);
void spit_publishing_publishable_reserved0 (SpitPublishingPublishable* self);
void spit_publishing_publishable_reserved1 (SpitPublishingPublishable* self);
void spit_publishing_publishable_reserved2 (SpitPublishingPublishable* self);
void spit_publishing_publishable_reserved3 (SpitPublishingPublishable* self);
void spit_publishing_publishable_reserved4 (SpitPublishingPublishable* self);
void spit_publishing_publishable_reserved5 (SpitPublishingPublishable* self);
void spit_publishing_publishable_reserved6 (SpitPublishingPublishable* self);
void spit_publishing_publishable_reserved7 (SpitPublishingPublishable* self);
#define SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_BASENAME "basename"
#define SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_TITLE "title"
#define SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_COMMENT "comment"
#define SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_EVENTCOMMENT "eventcomment"
SpitPublishingPublisher* spit_publishing_service_create_publisher (SpitPublishingService* self, SpitPublishingPluginHost* host);
SpitPublishingPublisherMediaType spit_publishing_service_get_supported_media (SpitPublishingService* self);
void spit_publishing_service_reserved0 (SpitPublishingService* self);
void spit_publishing_service_reserved1 (SpitPublishingService* self);
void spit_publishing_service_reserved2 (SpitPublishingService* self);
void spit_publishing_service_reserved3 (SpitPublishingService* self);
void spit_publishing_service_reserved4 (SpitPublishingService* self);
void spit_publishing_service_reserved5 (SpitPublishingService* self);
void spit_publishing_service_reserved6 (SpitPublishingService* self);
void spit_publishing_service_reserved7 (SpitPublishingService* self);
#define SPIT_DATA_IMPORTS_CURRENT_INTERFACE 0
GQuark spit_data_imports_data_import_error_quark (void);
GType spit_data_imports_dialog_pane_geometry_options_get_type (void) G_GNUC_CONST;
GType spit_data_imports_dialog_pane_get_type (void) G_GNUC_CONST;
GType spit_data_imports_plugin_host_button_mode_get_type (void) G_GNUC_CONST;
GType spit_data_imports_importable_library_get_type (void) G_GNUC_CONST;
GType spit_data_imports_importable_tag_get_type (void) G_GNUC_CONST;
GType spit_data_imports_importable_event_get_type (void) G_GNUC_CONST;
GType spit_data_imports_importable_rating_get_type (void) G_GNUC_CONST;
GType spit_data_imports_importable_media_item_get_type (void) G_GNUC_CONST;
GType spit_data_imports_plugin_host_get_type (void) G_GNUC_CONST;
GType spit_data_imports_service_get_type (void) G_GNUC_CONST;
GType spit_data_imports_data_importer_get_type (void) G_GNUC_CONST;
SpitDataImportsService* spit_data_imports_data_importer_get_service (SpitDataImportsDataImporter* self);
void spit_data_imports_data_importer_start (SpitDataImportsDataImporter* self);
gboolean spit_data_imports_data_importer_is_running (SpitDataImportsDataImporter* self);
void spit_data_imports_data_importer_stop (SpitDataImportsDataImporter* self);
void spit_data_imports_data_importer_on_library_selected (SpitDataImportsDataImporter* self, SpitDataImportsImportableLibrary* library);
void spit_data_imports_data_importer_on_file_selected (SpitDataImportsDataImporter* self, GFile* file);
void spit_data_imports_data_importer_reserved0 (SpitDataImportsDataImporter* self);
void spit_data_imports_data_importer_reserved1 (SpitDataImportsDataImporter* self);
void spit_data_imports_data_importer_reserved2 (SpitDataImportsDataImporter* self);
void spit_data_imports_data_importer_reserved3 (SpitDataImportsDataImporter* self);
void spit_data_imports_data_importer_reserved4 (SpitDataImportsDataImporter* self);
void spit_data_imports_data_importer_reserved5 (SpitDataImportsDataImporter* self);
void spit_data_imports_data_importer_reserved6 (SpitDataImportsDataImporter* self);
void spit_data_imports_data_importer_reserved7 (SpitDataImportsDataImporter* self);
gchar* spit_data_imports_importable_library_get_display_name (SpitDataImportsImportableLibrary* self);
SpitDataImportsImportableTag** spit_data_imports_importable_media_item_get_tags (SpitDataImportsImportableMediaItem* self, int* result_length1);
SpitDataImportsImportableEvent* spit_data_imports_importable_media_item_get_event (SpitDataImportsImportableMediaItem* self);
SpitDataImportsImportableRating* spit_data_imports_importable_media_item_get_rating (SpitDataImportsImportableMediaItem* self);
gchar* spit_data_imports_importable_media_item_get_title (SpitDataImportsImportableMediaItem* self);
gchar* spit_data_imports_importable_media_item_get_folder_path (SpitDataImportsImportableMediaItem* self);
gchar* spit_data_imports_importable_media_item_get_filename (SpitDataImportsImportableMediaItem* self);
time_t* spit_data_imports_importable_media_item_get_exposure_time (SpitDataImportsImportableMediaItem* self);
gchar* spit_data_imports_importable_tag_get_name (SpitDataImportsImportableTag* self);
SpitDataImportsImportableTag* spit_data_imports_importable_tag_get_parent (SpitDataImportsImportableTag* self);
gchar* spit_data_imports_importable_event_get_name (SpitDataImportsImportableEvent* self);
gboolean spit_data_imports_importable_rating_is_unrated (SpitDataImportsImportableRating* self);
gboolean spit_data_imports_importable_rating_is_rejected (SpitDataImportsImportableRating* self);
gint spit_data_imports_importable_rating_get_value (SpitDataImportsImportableRating* self);
GtkWidget* spit_data_imports_dialog_pane_get_widget (SpitDataImportsDialogPane* self);
SpitDataImportsDialogPaneGeometryOptions spit_data_imports_dialog_pane_get_preferred_geometry (SpitDataImportsDialogPane* self);
void spit_data_imports_dialog_pane_on_pane_installed (SpitDataImportsDialogPane* self);
void spit_data_imports_dialog_pane_on_pane_uninstalled (SpitDataImportsDialogPane* self);
void spit_data_imports_dialog_pane_reserved0 (SpitDataImportsDialogPane* self);
void spit_data_imports_dialog_pane_reserved1 (SpitDataImportsDialogPane* self);
void spit_data_imports_dialog_pane_reserved2 (SpitDataImportsDialogPane* self);
void spit_data_imports_dialog_pane_reserved3 (SpitDataImportsDialogPane* self);
void spit_data_imports_dialog_pane_reserved4 (SpitDataImportsDialogPane* self);
void spit_data_imports_dialog_pane_reserved5 (SpitDataImportsDialogPane* self);
void spit_data_imports_dialog_pane_reserved6 (SpitDataImportsDialogPane* self);
void spit_data_imports_dialog_pane_reserved7 (SpitDataImportsDialogPane* self);
void spit_data_imports_plugin_host_post_error (SpitDataImportsPluginHost* self, GError* err);
void spit_data_imports_plugin_host_post_error_message (SpitDataImportsPluginHost* self, const gchar* msg);
void spit_data_imports_plugin_host_start_importing (SpitDataImportsPluginHost* self);
void spit_data_imports_plugin_host_stop_importing (SpitDataImportsPluginHost* self);
SpitDataImportsDataImporter* spit_data_imports_plugin_host_get_data_importer (SpitDataImportsPluginHost* self);
void spit_data_imports_plugin_host_install_dialog_pane (SpitDataImportsPluginHost* self, SpitDataImportsDialogPane* pane, SpitDataImportsPluginHostButtonMode mode);
void spit_data_imports_plugin_host_install_static_message_pane (SpitDataImportsPluginHost* self, const gchar* message, SpitDataImportsPluginHostButtonMode mode);
void spit_data_imports_plugin_host_install_library_selection_pane (SpitDataImportsPluginHost* self, const gchar* welcome_message, SpitDataImportsImportableLibrary** discovered_libraries, int discovered_libraries_length1, const gchar* file_select_label);
void spit_data_imports_plugin_host_install_import_progress_pane (SpitDataImportsPluginHost* self, const gchar* message);
void spit_data_imports_plugin_host_update_import_progress_pane (SpitDataImportsPluginHost* self, gdouble progress, const gchar* progress_message);
void spit_data_imports_plugin_host_prepare_media_items_for_import (SpitDataImportsPluginHost* self, SpitDataImportsImportableMediaItem** items, int items_length1, gdouble progress, gdouble host_progress_delta, const gchar* progress_message);
void spit_data_imports_plugin_host_finalize_import (SpitDataImportsPluginHost* self, SpitDataImportsImportedItemsCountCallback report_imported_items_count, void* report_imported_items_count_target, const gchar* finalize_message);
void spit_data_imports_plugin_host_reserved0 (SpitDataImportsPluginHost* self);
void spit_data_imports_plugin_host_reserved1 (SpitDataImportsPluginHost* self);
void spit_data_imports_plugin_host_reserved2 (SpitDataImportsPluginHost* self);
void spit_data_imports_plugin_host_reserved3 (SpitDataImportsPluginHost* self);
void spit_data_imports_plugin_host_reserved4 (SpitDataImportsPluginHost* self);
void spit_data_imports_plugin_host_reserved5 (SpitDataImportsPluginHost* self);
void spit_data_imports_plugin_host_reserved6 (SpitDataImportsPluginHost* self);
void spit_data_imports_plugin_host_reserved7 (SpitDataImportsPluginHost* self);
SpitDataImportsDataImporter* spit_data_imports_service_create_data_importer (SpitDataImportsService* self, SpitDataImportsPluginHost* host);
void spit_data_imports_service_reserved0 (SpitDataImportsService* self);
void spit_data_imports_service_reserved1 (SpitDataImportsService* self);
void spit_data_imports_service_reserved2 (SpitDataImportsService* self);
void spit_data_imports_service_reserved3 (SpitDataImportsService* self);
void spit_data_imports_service_reserved4 (SpitDataImportsService* self);
void spit_data_imports_service_reserved5 (SpitDataImportsService* self);
void spit_data_imports_service_reserved6 (SpitDataImportsService* self);
void spit_data_imports_service_reserved7 (SpitDataImportsService* self);


G_END_DECLS

#endif
