diff options
author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2016-08-20 15:09:31 +0200 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2016-08-20 15:09:31 +0200 |
commit | 143bfc9f801c84428074312d661f8e08803df83b (patch) | |
tree | 59a8a447529bd9ce3807aa8bacef861dc5aafd70 /src/plugins | |
parent | 29a7aef998e975b42401cfa96d1b750d91eadf06 (diff) |
Imported Upstream version 0.23.5upstream/0.23.5
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/DataImportsInterfaces.c | 1738 | ||||
-rw-r--r-- | src/plugins/ManifestWidget.c | 2253 | ||||
-rw-r--r-- | src/plugins/Plugins.c | 4420 | ||||
-rw-r--r-- | src/plugins/PublishingInterfaces.c | 1760 | ||||
-rw-r--r-- | src/plugins/PublishingInterfaces.vala | 17 | ||||
-rw-r--r-- | src/plugins/SpitInterfaces.c | 1324 | ||||
-rw-r--r-- | src/plugins/StandardHostInterface.c | 699 | ||||
-rw-r--r-- | src/plugins/TransitionsInterfaces.c | 1808 | ||||
-rw-r--r-- | src/plugins/mk/interfaces.mk | 29 | ||||
-rw-r--r-- | src/plugins/mk/plugins.mk | 35 |
10 files changed, 14014 insertions, 69 deletions
diff --git a/src/plugins/DataImportsInterfaces.c b/src/plugins/DataImportsInterfaces.c new file mode 100644 index 0000000..96920a9 --- /dev/null +++ b/src/plugins/DataImportsInterfaces.c @@ -0,0 +1,1738 @@ +/* DataImportsInterfaces.c generated by valac 0.32.1, the Vala compiler + * generated from DataImportsInterfaces.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include <glib.h> +#include <glib-object.h> +#include <stdlib.h> +#include <string.h> +#include <gdk-pixbuf/gdk-pixbuf.h> +#include <gio/gio.h> +#include <float.h> +#include <math.h> +#include <gtk/gtk.h> +#include <time.h> + + +#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_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_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_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_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; + +/** + * The error domain for alien databases + */ +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 () +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 _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_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_DATA_IMPORTS_CURRENT_INTERFACE 0 +GQuark spit_data_imports_data_import_error_quark (void); +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_host_interface_get_type (void) G_GNUC_CONST; +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); +static void spit_data_imports_data_importer_real_reserved0 (SpitDataImportsDataImporter* self); +void spit_data_imports_data_importer_reserved1 (SpitDataImportsDataImporter* self); +static void spit_data_imports_data_importer_real_reserved1 (SpitDataImportsDataImporter* self); +void spit_data_imports_data_importer_reserved2 (SpitDataImportsDataImporter* self); +static void spit_data_imports_data_importer_real_reserved2 (SpitDataImportsDataImporter* self); +void spit_data_imports_data_importer_reserved3 (SpitDataImportsDataImporter* self); +static void spit_data_imports_data_importer_real_reserved3 (SpitDataImportsDataImporter* self); +void spit_data_imports_data_importer_reserved4 (SpitDataImportsDataImporter* self); +static void spit_data_imports_data_importer_real_reserved4 (SpitDataImportsDataImporter* self); +void spit_data_imports_data_importer_reserved5 (SpitDataImportsDataImporter* self); +static void spit_data_imports_data_importer_real_reserved5 (SpitDataImportsDataImporter* self); +void spit_data_imports_data_importer_reserved6 (SpitDataImportsDataImporter* self); +static void spit_data_imports_data_importer_real_reserved6 (SpitDataImportsDataImporter* self); +void spit_data_imports_data_importer_reserved7 (SpitDataImportsDataImporter* self); +static void spit_data_imports_data_importer_real_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); +static void spit_data_imports_dialog_pane_real_reserved0 (SpitDataImportsDialogPane* self); +void spit_data_imports_dialog_pane_reserved1 (SpitDataImportsDialogPane* self); +static void spit_data_imports_dialog_pane_real_reserved1 (SpitDataImportsDialogPane* self); +void spit_data_imports_dialog_pane_reserved2 (SpitDataImportsDialogPane* self); +static void spit_data_imports_dialog_pane_real_reserved2 (SpitDataImportsDialogPane* self); +void spit_data_imports_dialog_pane_reserved3 (SpitDataImportsDialogPane* self); +static void spit_data_imports_dialog_pane_real_reserved3 (SpitDataImportsDialogPane* self); +void spit_data_imports_dialog_pane_reserved4 (SpitDataImportsDialogPane* self); +static void spit_data_imports_dialog_pane_real_reserved4 (SpitDataImportsDialogPane* self); +void spit_data_imports_dialog_pane_reserved5 (SpitDataImportsDialogPane* self); +static void spit_data_imports_dialog_pane_real_reserved5 (SpitDataImportsDialogPane* self); +void spit_data_imports_dialog_pane_reserved6 (SpitDataImportsDialogPane* self); +static void spit_data_imports_dialog_pane_real_reserved6 (SpitDataImportsDialogPane* self); +void spit_data_imports_dialog_pane_reserved7 (SpitDataImportsDialogPane* self); +static void spit_data_imports_dialog_pane_real_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); +static void spit_data_imports_plugin_host_real_reserved0 (SpitDataImportsPluginHost* self); +void spit_data_imports_plugin_host_reserved1 (SpitDataImportsPluginHost* self); +static void spit_data_imports_plugin_host_real_reserved1 (SpitDataImportsPluginHost* self); +void spit_data_imports_plugin_host_reserved2 (SpitDataImportsPluginHost* self); +static void spit_data_imports_plugin_host_real_reserved2 (SpitDataImportsPluginHost* self); +void spit_data_imports_plugin_host_reserved3 (SpitDataImportsPluginHost* self); +static void spit_data_imports_plugin_host_real_reserved3 (SpitDataImportsPluginHost* self); +void spit_data_imports_plugin_host_reserved4 (SpitDataImportsPluginHost* self); +static void spit_data_imports_plugin_host_real_reserved4 (SpitDataImportsPluginHost* self); +void spit_data_imports_plugin_host_reserved5 (SpitDataImportsPluginHost* self); +static void spit_data_imports_plugin_host_real_reserved5 (SpitDataImportsPluginHost* self); +void spit_data_imports_plugin_host_reserved6 (SpitDataImportsPluginHost* self); +static void spit_data_imports_plugin_host_real_reserved6 (SpitDataImportsPluginHost* self); +void spit_data_imports_plugin_host_reserved7 (SpitDataImportsPluginHost* self); +static void spit_data_imports_plugin_host_real_reserved7 (SpitDataImportsPluginHost* self); +SpitDataImportsDataImporter* spit_data_imports_service_create_data_importer (SpitDataImportsService* self, SpitDataImportsPluginHost* host); +void spit_data_imports_service_reserved0 (SpitDataImportsService* self); +static void spit_data_imports_service_real_reserved0 (SpitDataImportsService* self); +void spit_data_imports_service_reserved1 (SpitDataImportsService* self); +static void spit_data_imports_service_real_reserved1 (SpitDataImportsService* self); +void spit_data_imports_service_reserved2 (SpitDataImportsService* self); +static void spit_data_imports_service_real_reserved2 (SpitDataImportsService* self); +void spit_data_imports_service_reserved3 (SpitDataImportsService* self); +static void spit_data_imports_service_real_reserved3 (SpitDataImportsService* self); +void spit_data_imports_service_reserved4 (SpitDataImportsService* self); +static void spit_data_imports_service_real_reserved4 (SpitDataImportsService* self); +void spit_data_imports_service_reserved5 (SpitDataImportsService* self); +static void spit_data_imports_service_real_reserved5 (SpitDataImportsService* self); +void spit_data_imports_service_reserved6 (SpitDataImportsService* self); +static void spit_data_imports_service_real_reserved6 (SpitDataImportsService* self); +void spit_data_imports_service_reserved7 (SpitDataImportsService* self); +static void spit_data_imports_service_real_reserved7 (SpitDataImportsService* self); + + +GQuark spit_data_imports_data_import_error_quark (void) { + return g_quark_from_static_string ("spit_data_imports_data_import_error-quark"); +} + + +/** + * Returns a {@link Service} object describing the service to which this connects. + */ +SpitDataImportsService* spit_data_imports_data_importer_get_service (SpitDataImportsDataImporter* self) { +#line 53 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORTER (self), NULL); +#line 53 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_DATA_IMPORTER_GET_INTERFACE (self)->get_service (self); +#line 434 "DataImportsInterfaces.c" +} + + +/** + * Makes this data importer enter the running state and endows it with exclusive access + * to the shared services provided by the {@link PluginHost}. Through the host’s interface, + * this data importer can install user interface panes and query configuration information. + */ +void spit_data_imports_data_importer_start (SpitDataImportsDataImporter* self) { +#line 60 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORTER (self)); +#line 60 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DATA_IMPORTER_GET_INTERFACE (self)->start (self); +#line 448 "DataImportsInterfaces.c" +} + + +/** + * Returns true if this data importer is in the running state; false otherwise. + */ +gboolean spit_data_imports_data_importer_is_running (SpitDataImportsDataImporter* self) { +#line 65 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORTER (self), FALSE); +#line 65 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_DATA_IMPORTER_GET_INTERFACE (self)->is_running (self); +#line 460 "DataImportsInterfaces.c" +} + + +/** + * Causes this data importer to enter a non-running state. This data importer should stop all + * data access operations and cease use of the shared services provided by the {@link PluginHost}. + */ +void spit_data_imports_data_importer_stop (SpitDataImportsDataImporter* self) { +#line 71 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORTER (self)); +#line 71 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DATA_IMPORTER_GET_INTERFACE (self)->stop (self); +#line 473 "DataImportsInterfaces.c" +} + + +/** + * Causes this data importer to enter start the import of a library. + */ +void spit_data_imports_data_importer_on_library_selected (SpitDataImportsDataImporter* self, SpitDataImportsImportableLibrary* library) { +#line 76 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORTER (self)); +#line 76 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DATA_IMPORTER_GET_INTERFACE (self)->on_library_selected (self, library); +#line 485 "DataImportsInterfaces.c" +} + + +/** + * Causes this data importer to enter start the import of a library file. + */ +void spit_data_imports_data_importer_on_file_selected (SpitDataImportsDataImporter* self, GFile* file) { +#line 81 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORTER (self)); +#line 81 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DATA_IMPORTER_GET_INTERFACE (self)->on_file_selected (self, file); +#line 497 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_data_importer_real_reserved0 (SpitDataImportsDataImporter* self) { +} + + +void spit_data_imports_data_importer_reserved0 (SpitDataImportsDataImporter* self) { +#line 86 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORTER (self)); +#line 86 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DATA_IMPORTER_GET_INTERFACE (self)->reserved0 (self); +#line 510 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_data_importer_real_reserved1 (SpitDataImportsDataImporter* self) { +} + + +void spit_data_imports_data_importer_reserved1 (SpitDataImportsDataImporter* self) { +#line 87 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORTER (self)); +#line 87 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DATA_IMPORTER_GET_INTERFACE (self)->reserved1 (self); +#line 523 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_data_importer_real_reserved2 (SpitDataImportsDataImporter* self) { +} + + +void spit_data_imports_data_importer_reserved2 (SpitDataImportsDataImporter* self) { +#line 88 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORTER (self)); +#line 88 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DATA_IMPORTER_GET_INTERFACE (self)->reserved2 (self); +#line 536 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_data_importer_real_reserved3 (SpitDataImportsDataImporter* self) { +} + + +void spit_data_imports_data_importer_reserved3 (SpitDataImportsDataImporter* self) { +#line 89 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORTER (self)); +#line 89 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DATA_IMPORTER_GET_INTERFACE (self)->reserved3 (self); +#line 549 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_data_importer_real_reserved4 (SpitDataImportsDataImporter* self) { +} + + +void spit_data_imports_data_importer_reserved4 (SpitDataImportsDataImporter* self) { +#line 90 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORTER (self)); +#line 90 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DATA_IMPORTER_GET_INTERFACE (self)->reserved4 (self); +#line 562 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_data_importer_real_reserved5 (SpitDataImportsDataImporter* self) { +} + + +void spit_data_imports_data_importer_reserved5 (SpitDataImportsDataImporter* self) { +#line 91 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORTER (self)); +#line 91 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DATA_IMPORTER_GET_INTERFACE (self)->reserved5 (self); +#line 575 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_data_importer_real_reserved6 (SpitDataImportsDataImporter* self) { +} + + +void spit_data_imports_data_importer_reserved6 (SpitDataImportsDataImporter* self) { +#line 92 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORTER (self)); +#line 92 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DATA_IMPORTER_GET_INTERFACE (self)->reserved6 (self); +#line 588 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_data_importer_real_reserved7 (SpitDataImportsDataImporter* self) { +} + + +void spit_data_imports_data_importer_reserved7 (SpitDataImportsDataImporter* self) { +#line 93 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORTER (self)); +#line 93 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DATA_IMPORTER_GET_INTERFACE (self)->reserved7 (self); +#line 601 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_data_importer_base_init (SpitDataImportsDataImporterIface * iface) { +#line 49 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + static gboolean initialized = FALSE; +#line 49 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + if (!initialized) { +#line 49 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + initialized = TRUE; +#line 49 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved0 = spit_data_imports_data_importer_real_reserved0; +#line 49 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved1 = spit_data_imports_data_importer_real_reserved1; +#line 49 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved2 = spit_data_imports_data_importer_real_reserved2; +#line 49 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved3 = spit_data_imports_data_importer_real_reserved3; +#line 49 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved4 = spit_data_imports_data_importer_real_reserved4; +#line 49 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved5 = spit_data_imports_data_importer_real_reserved5; +#line 49 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved6 = spit_data_imports_data_importer_real_reserved6; +#line 49 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved7 = spit_data_imports_data_importer_real_reserved7; +#line 628 "DataImportsInterfaces.c" + } +} + + +/** + * Represents a module that is able to import data from a specific database format. + * + * Developers of data import plugins provide a class that implements this interface. At + * any given time, only one DataImporter can be running. When a data importer is running, it + * has exclusive use of the shared user-interface and + * configuration services provided by the {@link PluginHost}. Data importers are created in + * a non-running state and do not begin running until start( ) is invoked. Data importers + * run until stop( ) is invoked. + */ +GType spit_data_imports_data_importer_get_type (void) { + static volatile gsize spit_data_imports_data_importer_type_id__volatile = 0; + if (g_once_init_enter (&spit_data_imports_data_importer_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitDataImportsDataImporterIface), (GBaseInitFunc) spit_data_imports_data_importer_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_data_imports_data_importer_type_id; + spit_data_imports_data_importer_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitDataImportsDataImporter", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_data_imports_data_importer_type_id, G_TYPE_OBJECT); + g_once_init_leave (&spit_data_imports_data_importer_type_id__volatile, spit_data_imports_data_importer_type_id); + } + return spit_data_imports_data_importer_type_id__volatile; +} + + +gchar* spit_data_imports_importable_library_get_display_name (SpitDataImportsImportableLibrary* self) { +#line 102 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_LIBRARY (self), NULL); +#line 102 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_IMPORTABLE_LIBRARY_GET_INTERFACE (self)->get_display_name (self); +#line 661 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_importable_library_base_init (SpitDataImportsImportableLibraryIface * iface) { +#line 101 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + static gboolean initialized = FALSE; +#line 101 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + if (!initialized) { +#line 101 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + initialized = TRUE; +#line 672 "DataImportsInterfaces.c" + } +} + + +/** + * Represents a library of importable media items. + * + * Developers of data import plugins provide a class that implements this interface. + */ +GType spit_data_imports_importable_library_get_type (void) { + static volatile gsize spit_data_imports_importable_library_type_id__volatile = 0; + if (g_once_init_enter (&spit_data_imports_importable_library_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitDataImportsImportableLibraryIface), (GBaseInitFunc) spit_data_imports_importable_library_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_data_imports_importable_library_type_id; + spit_data_imports_importable_library_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitDataImportsImportableLibrary", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_data_imports_importable_library_type_id, G_TYPE_OBJECT); + g_once_init_leave (&spit_data_imports_importable_library_type_id__volatile, spit_data_imports_importable_library_type_id); + } + return spit_data_imports_importable_library_type_id__volatile; +} + + +SpitDataImportsImportableTag** spit_data_imports_importable_media_item_get_tags (SpitDataImportsImportableMediaItem* self, int* result_length1) { +#line 111 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_MEDIA_ITEM (self), NULL); +#line 111 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_IMPORTABLE_MEDIA_ITEM_GET_INTERFACE (self)->get_tags (self, result_length1); +#line 700 "DataImportsInterfaces.c" +} + + +SpitDataImportsImportableEvent* spit_data_imports_importable_media_item_get_event (SpitDataImportsImportableMediaItem* self) { +#line 113 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_MEDIA_ITEM (self), NULL); +#line 113 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_IMPORTABLE_MEDIA_ITEM_GET_INTERFACE (self)->get_event (self); +#line 709 "DataImportsInterfaces.c" +} + + +SpitDataImportsImportableRating* spit_data_imports_importable_media_item_get_rating (SpitDataImportsImportableMediaItem* self) { +#line 115 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_MEDIA_ITEM (self), NULL); +#line 115 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_IMPORTABLE_MEDIA_ITEM_GET_INTERFACE (self)->get_rating (self); +#line 718 "DataImportsInterfaces.c" +} + + +gchar* spit_data_imports_importable_media_item_get_title (SpitDataImportsImportableMediaItem* self) { +#line 117 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_MEDIA_ITEM (self), NULL); +#line 117 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_IMPORTABLE_MEDIA_ITEM_GET_INTERFACE (self)->get_title (self); +#line 727 "DataImportsInterfaces.c" +} + + +gchar* spit_data_imports_importable_media_item_get_folder_path (SpitDataImportsImportableMediaItem* self) { +#line 119 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_MEDIA_ITEM (self), NULL); +#line 119 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_IMPORTABLE_MEDIA_ITEM_GET_INTERFACE (self)->get_folder_path (self); +#line 736 "DataImportsInterfaces.c" +} + + +gchar* spit_data_imports_importable_media_item_get_filename (SpitDataImportsImportableMediaItem* self) { +#line 121 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_MEDIA_ITEM (self), NULL); +#line 121 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_IMPORTABLE_MEDIA_ITEM_GET_INTERFACE (self)->get_filename (self); +#line 745 "DataImportsInterfaces.c" +} + + +time_t* spit_data_imports_importable_media_item_get_exposure_time (SpitDataImportsImportableMediaItem* self) { +#line 123 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_MEDIA_ITEM (self), NULL); +#line 123 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_IMPORTABLE_MEDIA_ITEM_GET_INTERFACE (self)->get_exposure_time (self); +#line 754 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_importable_media_item_base_init (SpitDataImportsImportableMediaItemIface * iface) { +#line 110 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + static gboolean initialized = FALSE; +#line 110 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + if (!initialized) { +#line 110 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + initialized = TRUE; +#line 765 "DataImportsInterfaces.c" + } +} + + +/** + * Represents an importable media item such as a photo or a video file. + * + * Developers of data import plugins provide a class that implements this interface. + */ +GType spit_data_imports_importable_media_item_get_type (void) { + static volatile gsize spit_data_imports_importable_media_item_type_id__volatile = 0; + if (g_once_init_enter (&spit_data_imports_importable_media_item_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitDataImportsImportableMediaItemIface), (GBaseInitFunc) spit_data_imports_importable_media_item_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_data_imports_importable_media_item_type_id; + spit_data_imports_importable_media_item_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitDataImportsImportableMediaItem", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_data_imports_importable_media_item_type_id, G_TYPE_OBJECT); + g_once_init_leave (&spit_data_imports_importable_media_item_type_id__volatile, spit_data_imports_importable_media_item_type_id); + } + return spit_data_imports_importable_media_item_type_id__volatile; +} + + +gchar* spit_data_imports_importable_tag_get_name (SpitDataImportsImportableTag* self) { +#line 132 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_TAG (self), NULL); +#line 132 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_IMPORTABLE_TAG_GET_INTERFACE (self)->get_name (self); +#line 793 "DataImportsInterfaces.c" +} + + +SpitDataImportsImportableTag* spit_data_imports_importable_tag_get_parent (SpitDataImportsImportableTag* self) { +#line 134 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_TAG (self), NULL); +#line 134 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_IMPORTABLE_TAG_GET_INTERFACE (self)->get_parent (self); +#line 802 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_importable_tag_base_init (SpitDataImportsImportableTagIface * iface) { +#line 131 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + static gboolean initialized = FALSE; +#line 131 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + if (!initialized) { +#line 131 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + initialized = TRUE; +#line 813 "DataImportsInterfaces.c" + } +} + + +/** + * Represents an importable tag. + * + * Developers of data import plugins provide a class that implements this interface. + */ +GType spit_data_imports_importable_tag_get_type (void) { + static volatile gsize spit_data_imports_importable_tag_type_id__volatile = 0; + if (g_once_init_enter (&spit_data_imports_importable_tag_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitDataImportsImportableTagIface), (GBaseInitFunc) spit_data_imports_importable_tag_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_data_imports_importable_tag_type_id; + spit_data_imports_importable_tag_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitDataImportsImportableTag", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_data_imports_importable_tag_type_id, G_TYPE_OBJECT); + g_once_init_leave (&spit_data_imports_importable_tag_type_id__volatile, spit_data_imports_importable_tag_type_id); + } + return spit_data_imports_importable_tag_type_id__volatile; +} + + +gchar* spit_data_imports_importable_event_get_name (SpitDataImportsImportableEvent* self) { +#line 143 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_EVENT (self), NULL); +#line 143 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_IMPORTABLE_EVENT_GET_INTERFACE (self)->get_name (self); +#line 841 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_importable_event_base_init (SpitDataImportsImportableEventIface * iface) { +#line 142 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + static gboolean initialized = FALSE; +#line 142 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + if (!initialized) { +#line 142 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + initialized = TRUE; +#line 852 "DataImportsInterfaces.c" + } +} + + +/** + * Represents an importable event. + * + * Developers of data import plugins provide a class that implements this interface. + */ +GType spit_data_imports_importable_event_get_type (void) { + static volatile gsize spit_data_imports_importable_event_type_id__volatile = 0; + if (g_once_init_enter (&spit_data_imports_importable_event_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitDataImportsImportableEventIface), (GBaseInitFunc) spit_data_imports_importable_event_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_data_imports_importable_event_type_id; + spit_data_imports_importable_event_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitDataImportsImportableEvent", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_data_imports_importable_event_type_id, G_TYPE_OBJECT); + g_once_init_leave (&spit_data_imports_importable_event_type_id__volatile, spit_data_imports_importable_event_type_id); + } + return spit_data_imports_importable_event_type_id__volatile; +} + + +gboolean spit_data_imports_importable_rating_is_unrated (SpitDataImportsImportableRating* self) { +#line 155 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_RATING (self), FALSE); +#line 155 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_IMPORTABLE_RATING_GET_INTERFACE (self)->is_unrated (self); +#line 880 "DataImportsInterfaces.c" +} + + +gboolean spit_data_imports_importable_rating_is_rejected (SpitDataImportsImportableRating* self) { +#line 157 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_RATING (self), FALSE); +#line 157 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_IMPORTABLE_RATING_GET_INTERFACE (self)->is_rejected (self); +#line 889 "DataImportsInterfaces.c" +} + + +gint spit_data_imports_importable_rating_get_value (SpitDataImportsImportableRating* self) { +#line 159 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_RATING (self), 0); +#line 159 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_IMPORTABLE_RATING_GET_INTERFACE (self)->get_value (self); +#line 898 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_importable_rating_base_init (SpitDataImportsImportableRatingIface * iface) { +#line 154 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + static gboolean initialized = FALSE; +#line 154 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + if (!initialized) { +#line 154 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + initialized = TRUE; +#line 909 "DataImportsInterfaces.c" + } +} + + +/** + * Represents an importable rating value. + * + * Developers of data import plugins provide a class that implements this interface. + * Note that the value returned by the get_value method should be a value between + * 1 and 5, unless the rating object is unrated or rejected, in which case the + * value is unspecified. + */ +GType spit_data_imports_importable_rating_get_type (void) { + static volatile gsize spit_data_imports_importable_rating_type_id__volatile = 0; + if (g_once_init_enter (&spit_data_imports_importable_rating_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitDataImportsImportableRatingIface), (GBaseInitFunc) spit_data_imports_importable_rating_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_data_imports_importable_rating_type_id; + spit_data_imports_importable_rating_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitDataImportsImportableRating", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_data_imports_importable_rating_type_id, G_TYPE_OBJECT); + g_once_init_leave (&spit_data_imports_importable_rating_type_id__volatile, spit_data_imports_importable_rating_type_id); + } + return spit_data_imports_importable_rating_type_id__volatile; +} + + +/** + * Describes how the on-screen publishing dialog box should look and behave when an associated + * pane is installed in the on-screen publishing dialog box. + */ +GType spit_data_imports_dialog_pane_geometry_options_get_type (void) { + static volatile gsize spit_data_imports_dialog_pane_geometry_options_type_id__volatile = 0; + if (g_once_init_enter (&spit_data_imports_dialog_pane_geometry_options_type_id__volatile)) { + static const GEnumValue values[] = {{SPIT_DATA_IMPORTS_DIALOG_PANE_GEOMETRY_OPTIONS_NONE, "SPIT_DATA_IMPORTS_DIALOG_PANE_GEOMETRY_OPTIONS_NONE", "none"}, {SPIT_DATA_IMPORTS_DIALOG_PANE_GEOMETRY_OPTIONS_EXTENDED_SIZE, "SPIT_DATA_IMPORTS_DIALOG_PANE_GEOMETRY_OPTIONS_EXTENDED_SIZE", "extended-size"}, {SPIT_DATA_IMPORTS_DIALOG_PANE_GEOMETRY_OPTIONS_RESIZABLE, "SPIT_DATA_IMPORTS_DIALOG_PANE_GEOMETRY_OPTIONS_RESIZABLE", "resizable"}, {SPIT_DATA_IMPORTS_DIALOG_PANE_GEOMETRY_OPTIONS_COLOSSAL_SIZE, "SPIT_DATA_IMPORTS_DIALOG_PANE_GEOMETRY_OPTIONS_COLOSSAL_SIZE", "colossal-size"}, {0, NULL, NULL}}; + GType spit_data_imports_dialog_pane_geometry_options_type_id; + spit_data_imports_dialog_pane_geometry_options_type_id = g_enum_register_static ("SpitDataImportsDialogPaneGeometryOptions", values); + g_once_init_leave (&spit_data_imports_dialog_pane_geometry_options_type_id__volatile, spit_data_imports_dialog_pane_geometry_options_type_id); + } + return spit_data_imports_dialog_pane_geometry_options_type_id__volatile; +} + + +/** + * Returns the Gtk.Widget that is this pane's on-screen representation. + */ +GtkWidget* spit_data_imports_dialog_pane_get_widget (SpitDataImportsDialogPane* self) { +#line 204 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DIALOG_PANE (self), NULL); +#line 204 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_DIALOG_PANE_GET_INTERFACE (self)->get_widget (self); +#line 959 "DataImportsInterfaces.c" +} + + +/** + * Returns a {@link GeometryOptions} bitfield describing how the on-screen publishing dialog + * box should look and behave when this pane is installed. + */ +SpitDataImportsDialogPaneGeometryOptions spit_data_imports_dialog_pane_get_preferred_geometry (SpitDataImportsDialogPane* self) { +#line 210 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DIALOG_PANE (self), 0); +#line 210 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_DIALOG_PANE_GET_INTERFACE (self)->get_preferred_geometry (self); +#line 972 "DataImportsInterfaces.c" +} + + +/** + * Invoked automatically by Shotwell when this pane has been installed into the on-screen + * publishing dialog box and become visible to the user. + */ +void spit_data_imports_dialog_pane_on_pane_installed (SpitDataImportsDialogPane* self) { +#line 216 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DIALOG_PANE (self)); +#line 216 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DIALOG_PANE_GET_INTERFACE (self)->on_pane_installed (self); +#line 985 "DataImportsInterfaces.c" +} + + +/** + * Invoked automatically by Shotwell when this pane has been removed from the on-screen + * publishing dialog box and is no longer visible to the user. + */ +void spit_data_imports_dialog_pane_on_pane_uninstalled (SpitDataImportsDialogPane* self) { +#line 222 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DIALOG_PANE (self)); +#line 222 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DIALOG_PANE_GET_INTERFACE (self)->on_pane_uninstalled (self); +#line 998 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_dialog_pane_real_reserved0 (SpitDataImportsDialogPane* self) { +} + + +void spit_data_imports_dialog_pane_reserved0 (SpitDataImportsDialogPane* self) { +#line 227 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DIALOG_PANE (self)); +#line 227 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DIALOG_PANE_GET_INTERFACE (self)->reserved0 (self); +#line 1011 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_dialog_pane_real_reserved1 (SpitDataImportsDialogPane* self) { +} + + +void spit_data_imports_dialog_pane_reserved1 (SpitDataImportsDialogPane* self) { +#line 228 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DIALOG_PANE (self)); +#line 228 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DIALOG_PANE_GET_INTERFACE (self)->reserved1 (self); +#line 1024 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_dialog_pane_real_reserved2 (SpitDataImportsDialogPane* self) { +} + + +void spit_data_imports_dialog_pane_reserved2 (SpitDataImportsDialogPane* self) { +#line 229 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DIALOG_PANE (self)); +#line 229 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DIALOG_PANE_GET_INTERFACE (self)->reserved2 (self); +#line 1037 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_dialog_pane_real_reserved3 (SpitDataImportsDialogPane* self) { +} + + +void spit_data_imports_dialog_pane_reserved3 (SpitDataImportsDialogPane* self) { +#line 230 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DIALOG_PANE (self)); +#line 230 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DIALOG_PANE_GET_INTERFACE (self)->reserved3 (self); +#line 1050 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_dialog_pane_real_reserved4 (SpitDataImportsDialogPane* self) { +} + + +void spit_data_imports_dialog_pane_reserved4 (SpitDataImportsDialogPane* self) { +#line 231 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DIALOG_PANE (self)); +#line 231 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DIALOG_PANE_GET_INTERFACE (self)->reserved4 (self); +#line 1063 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_dialog_pane_real_reserved5 (SpitDataImportsDialogPane* self) { +} + + +void spit_data_imports_dialog_pane_reserved5 (SpitDataImportsDialogPane* self) { +#line 232 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DIALOG_PANE (self)); +#line 232 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DIALOG_PANE_GET_INTERFACE (self)->reserved5 (self); +#line 1076 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_dialog_pane_real_reserved6 (SpitDataImportsDialogPane* self) { +} + + +void spit_data_imports_dialog_pane_reserved6 (SpitDataImportsDialogPane* self) { +#line 233 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DIALOG_PANE (self)); +#line 233 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DIALOG_PANE_GET_INTERFACE (self)->reserved6 (self); +#line 1089 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_dialog_pane_real_reserved7 (SpitDataImportsDialogPane* self) { +} + + +void spit_data_imports_dialog_pane_reserved7 (SpitDataImportsDialogPane* self) { +#line 234 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DIALOG_PANE (self)); +#line 234 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DIALOG_PANE_GET_INTERFACE (self)->reserved7 (self); +#line 1102 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_dialog_pane_base_init (SpitDataImportsDialogPaneIface * iface) { +#line 167 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + static gboolean initialized = FALSE; +#line 167 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + if (!initialized) { +#line 167 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + initialized = TRUE; +#line 167 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved0 = spit_data_imports_dialog_pane_real_reserved0; +#line 167 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved1 = spit_data_imports_dialog_pane_real_reserved1; +#line 167 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved2 = spit_data_imports_dialog_pane_real_reserved2; +#line 167 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved3 = spit_data_imports_dialog_pane_real_reserved3; +#line 167 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved4 = spit_data_imports_dialog_pane_real_reserved4; +#line 167 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved5 = spit_data_imports_dialog_pane_real_reserved5; +#line 167 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved6 = spit_data_imports_dialog_pane_real_reserved6; +#line 167 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved7 = spit_data_imports_dialog_pane_real_reserved7; +#line 1129 "DataImportsInterfaces.c" + } +} + + +/** + * Encapsulates a pane that can be installed in the on-screen import dialog box to + * communicate status to and to get information from the user. + * + */ +GType spit_data_imports_dialog_pane_get_type (void) { + static volatile gsize spit_data_imports_dialog_pane_type_id__volatile = 0; + if (g_once_init_enter (&spit_data_imports_dialog_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitDataImportsDialogPaneIface), (GBaseInitFunc) spit_data_imports_dialog_pane_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_data_imports_dialog_pane_type_id; + spit_data_imports_dialog_pane_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitDataImportsDialogPane", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_data_imports_dialog_pane_type_id, G_TYPE_OBJECT); + g_once_init_leave (&spit_data_imports_dialog_pane_type_id__volatile, spit_data_imports_dialog_pane_type_id); + } + return spit_data_imports_dialog_pane_type_id__volatile; +} + + +/** + * Specifies the label text on the push button control that appears in the + * lower-right-hand corner of the on-screen publishing dialog box. + */ +GType spit_data_imports_plugin_host_button_mode_get_type (void) { + static volatile gsize spit_data_imports_plugin_host_button_mode_type_id__volatile = 0; + if (g_once_init_enter (&spit_data_imports_plugin_host_button_mode_type_id__volatile)) { + static const GEnumValue values[] = {{SPIT_DATA_IMPORTS_PLUGIN_HOST_BUTTON_MODE_CLOSE, "SPIT_DATA_IMPORTS_PLUGIN_HOST_BUTTON_MODE_CLOSE", "close"}, {SPIT_DATA_IMPORTS_PLUGIN_HOST_BUTTON_MODE_CANCEL, "SPIT_DATA_IMPORTS_PLUGIN_HOST_BUTTON_MODE_CANCEL", "cancel"}, {0, NULL, NULL}}; + GType spit_data_imports_plugin_host_button_mode_type_id; + spit_data_imports_plugin_host_button_mode_type_id = g_enum_register_static ("SpitDataImportsPluginHostButtonMode", values); + g_once_init_leave (&spit_data_imports_plugin_host_button_mode_type_id__volatile, spit_data_imports_plugin_host_button_mode_type_id); + } + return spit_data_imports_plugin_host_button_mode_type_id__volatile; +} + + +/** + * Notifies the user that an unrecoverable import error has occurred and halts + * the import process. + * + * @param err An error object that describes the kind of error that occurred. + */ +void spit_data_imports_plugin_host_post_error (SpitDataImportsPluginHost* self, GError* err) { +#line 271 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 271 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->post_error (self, err); +#line 1179 "DataImportsInterfaces.c" +} + + +/** + * Notifies the user that an unrecoverable import error has occurred and halts + * the import process. + * + * @param msg A message that describes the kind of error that occurred. + */ +void spit_data_imports_plugin_host_post_error_message (SpitDataImportsPluginHost* self, const gchar* msg) { +#line 279 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 279 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->post_error_message (self, msg); +#line 1194 "DataImportsInterfaces.c" +} + + +/** + * Starts the import process. + * + * Calling this method starts the import activity for this host. + */ +void spit_data_imports_plugin_host_start_importing (SpitDataImportsPluginHost* self) { +#line 286 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 286 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->start_importing (self); +#line 1208 "DataImportsInterfaces.c" +} + + +/** + * Halts the import process. + * + * Calling this method stops all import activity and hides the on-screen import + * dialog box. + */ +void spit_data_imports_plugin_host_stop_importing (SpitDataImportsPluginHost* self) { +#line 294 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 294 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->stop_importing (self); +#line 1223 "DataImportsInterfaces.c" +} + + +/** + * Returns a reference to the {@link DataImporter} object that this is currently hosting. + */ +SpitDataImportsDataImporter* spit_data_imports_plugin_host_get_data_importer (SpitDataImportsPluginHost* self) { +#line 299 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self), NULL); +#line 299 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->get_data_importer (self); +#line 1235 "DataImportsInterfaces.c" +} + + +/** + * Attempts to install a pane in the on-screen data import dialog box, making the pane visible + * and allowing it to interact with the user. + * + * If an error has posted, the {@link PluginHost} will not honor this request. + * + * @param pane the pane to install + * + * @param mode allows you to set the text displayed on the close/cancel button in the + * lower-right-hand corner of the on-screen data import dialog box when pane is installed. + * If mode is ButtonMode.CLOSE, the button will have the title "Close." If mode is + * ButtonMode.CANCEL, the button will be titled "Cancel." You should set mode depending on + * whether a cancellable action is in progress. For example, if your importer is in the + * middle of processing 3 of 8 videos, then mode should be ButtonMode.CANCEL. However, if + * the processing operation has completed and the success pane is displayed, then mode + * should be ButtonMode.CLOSE, because all cancellable actions have already + * occurred. + */ +void spit_data_imports_plugin_host_install_dialog_pane (SpitDataImportsPluginHost* self, SpitDataImportsDialogPane* pane, SpitDataImportsPluginHostButtonMode mode) { +#line 319 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 319 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->install_dialog_pane (self, pane, mode); +#line 1262 "DataImportsInterfaces.c" +} + + +/** + * Attempts to install a pane in the on-screen data import dialog box that contains + * static text. + * + * The text appears centered in the data import dialog box and is drawn in + * the system font. This is a convenience method only; similar results could be + * achieved by manually constructing a Gtk.Label widget, wrapping it inside a + * {@link DialogPane}, and installing it manually with a call to + * install_dialog_pane( ). To provide visual consistency across data import services, + * however, always use this convenience method instead of constructing label panes when + * you need to display static text to the user. + * + * If an error has posted, the {@link PluginHost} will not honor this request. + * + * @param message the text to show in the pane + * + * @param mode allows you to set the text displayed on the close/cancel button in the + * lower-right-hand corner of the on-screen data import dialog box when pane is installed. + * If mode is ButtonMode.CLOSE, the button will have the title "Close." If mode is + * ButtonMode.CANCEL, the button will be titled "Cancel." You should set mode depending on + * whether a cancellable action is in progress. For example, if your importer is in the + * middle of processing 3 of 8 videos, then mode should be ButtonMode.CANCEL. However, if + * the processing operation has completed and the success pane is displayed, then mode + * should be ButtonMode.CLOSE, because all cancellable actions have already + * occurred. + */ +void spit_data_imports_plugin_host_install_static_message_pane (SpitDataImportsPluginHost* self, const gchar* message, SpitDataImportsPluginHostButtonMode mode) { +#line 348 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 348 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->install_static_message_pane (self, message, mode); +#line 1297 "DataImportsInterfaces.c" +} + + +/** + * Attempts to install a library selection pane that presents a list of + * discovered libraries to the user. + * + * When the user clicks the “OK” button, you’ll be notified of the user’s action through + * the 'on_library_selected' callback if a discovered library was selected or through + * the 'on_file_selected' callback if a file was selected. + * + * If an error has posted, the {@link PluginHost} will not honor this request. + * + * @param welcome_message the text to be displayed above the list of discovered + * libraries. + * + * @param discovered_libraries the list of importable libraries that the plugin + * has discovered in well known locations. + * + * @param file_select_label the label to display for the file selection + * option. If this label is null, the + * user will not be presented with a file selection option. + */ +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) { +#line 371 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 371 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->install_library_selection_pane (self, welcome_message, discovered_libraries, discovered_libraries_length1, file_select_label); +#line 1326 "DataImportsInterfaces.c" +} + + +/** + * Attempts to install a progress pane that provides the user with feedback + * on import preparation. + * + * If an error has posted, the {@link PluginHost} will not honor this request. + * + * @param message the text to be displayed above the progress bar. + */ +void spit_data_imports_plugin_host_install_import_progress_pane (SpitDataImportsPluginHost* self, const gchar* message) { +#line 385 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 385 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->install_import_progress_pane (self, message); +#line 1343 "DataImportsInterfaces.c" +} + + +/** + * Update the progress bar installed by install_import_progress_pane. + * + * If an error has posted, the {@link PluginHost} will not honor this request. + * + * @param progress a value between 0.0 and 1.0 identifying progress for the + * plugin. + * + * @param progress_label the text to be displayed below the progress bar. If that + * parameter is null, the message will be left unchanged. + */ +void spit_data_imports_plugin_host_update_import_progress_pane (SpitDataImportsPluginHost* self, gdouble progress, const gchar* progress_message) { +#line 400 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 400 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->update_import_progress_pane (self, progress, progress_message); +#line 1363 "DataImportsInterfaces.c" +} + + +/** + * Sends an importable media item to the host in order to prepare it for import + * and update the progress bar installed by install_import_progress_pane. + * + * If an error has posted, the {@link PluginHost} will not honor this request. + * + * @param item the importable media item to prepare for import. + * + * @param progress a value between 0.0 and 1.0 identifying progress for the + * plugin. + * + * @param host_progress_delta the amount of progress the host should update + * the progress bar during import preparation. Plugins should ensure that + * a proportion of progress for each media item is set aside for the host + * in oder to ensure a smoother update to the progress bar. + * + * @param progress_message the text to be displayed below the progress bar. If that + * parameter is null, the message will be left unchanged. + */ +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) { +#line 424 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 424 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->prepare_media_items_for_import (self, items, items_length1, progress, host_progress_delta, progress_message); +#line 1391 "DataImportsInterfaces.c" +} + + +/** + * Finalize the import sequence for the plugin. This tells the host that + * all media items have been processed and that the plugin has finished all + * import work. Once this method has been called, all resources used by the + * plugin for import should be released and the plugin should be back to the + * state it had just after running the start method. The host will then display + * the final message and show progress as fully complete. In a standard import + * scenario, the user is expected to click the Close button to dismiss the + * dialog. On first run, the host may call the LibrarySelectedCallback again + * to import another library handled by the same plugin. + * + * If an error has posted, the {@link PluginHost} will not honor this request. + * + * @param finalize_message the text to be displayed below the progress bar. If that + * parameter is null, the message will be left unchanged. + */ +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) { +#line 447 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 447 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->finalize_import (self, report_imported_items_count, report_imported_items_count_target, finalize_message); +#line 1416 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_plugin_host_real_reserved0 (SpitDataImportsPluginHost* self) { +} + + +void spit_data_imports_plugin_host_reserved0 (SpitDataImportsPluginHost* self) { +#line 455 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 455 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->reserved0 (self); +#line 1429 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_plugin_host_real_reserved1 (SpitDataImportsPluginHost* self) { +} + + +void spit_data_imports_plugin_host_reserved1 (SpitDataImportsPluginHost* self) { +#line 456 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 456 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->reserved1 (self); +#line 1442 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_plugin_host_real_reserved2 (SpitDataImportsPluginHost* self) { +} + + +void spit_data_imports_plugin_host_reserved2 (SpitDataImportsPluginHost* self) { +#line 457 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 457 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->reserved2 (self); +#line 1455 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_plugin_host_real_reserved3 (SpitDataImportsPluginHost* self) { +} + + +void spit_data_imports_plugin_host_reserved3 (SpitDataImportsPluginHost* self) { +#line 458 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 458 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->reserved3 (self); +#line 1468 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_plugin_host_real_reserved4 (SpitDataImportsPluginHost* self) { +} + + +void spit_data_imports_plugin_host_reserved4 (SpitDataImportsPluginHost* self) { +#line 459 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 459 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->reserved4 (self); +#line 1481 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_plugin_host_real_reserved5 (SpitDataImportsPluginHost* self) { +} + + +void spit_data_imports_plugin_host_reserved5 (SpitDataImportsPluginHost* self) { +#line 460 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 460 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->reserved5 (self); +#line 1494 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_plugin_host_real_reserved6 (SpitDataImportsPluginHost* self) { +} + + +void spit_data_imports_plugin_host_reserved6 (SpitDataImportsPluginHost* self) { +#line 461 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 461 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->reserved6 (self); +#line 1507 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_plugin_host_real_reserved7 (SpitDataImportsPluginHost* self) { +} + + +void spit_data_imports_plugin_host_reserved7 (SpitDataImportsPluginHost* self) { +#line 462 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 462 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->reserved7 (self); +#line 1520 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_plugin_host_base_init (SpitDataImportsPluginHostIface * iface) { +#line 254 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + static gboolean initialized = FALSE; +#line 254 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + if (!initialized) { +#line 254 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + initialized = TRUE; +#line 254 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved0 = spit_data_imports_plugin_host_real_reserved0; +#line 254 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved1 = spit_data_imports_plugin_host_real_reserved1; +#line 254 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved2 = spit_data_imports_plugin_host_real_reserved2; +#line 254 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved3 = spit_data_imports_plugin_host_real_reserved3; +#line 254 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved4 = spit_data_imports_plugin_host_real_reserved4; +#line 254 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved5 = spit_data_imports_plugin_host_real_reserved5; +#line 254 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved6 = spit_data_imports_plugin_host_real_reserved6; +#line 254 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved7 = spit_data_imports_plugin_host_real_reserved7; +#line 1547 "DataImportsInterfaces.c" + } +} + + +/** + * Manages and provides services for data import plugins. + * + * Implemented inside Shotwell, the PluginHost provides an interface through which the + * developers of data import plugins can query and make changes to the import + * environment. Plugins can use the services of the PluginHost only when their + * {@link DataImporter} is in the running state. This ensures that non-running data importers + * don’t destructively interfere with the actively running importer. + */ +GType spit_data_imports_plugin_host_get_type (void) { + static volatile gsize spit_data_imports_plugin_host_type_id__volatile = 0; + if (g_once_init_enter (&spit_data_imports_plugin_host_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitDataImportsPluginHostIface), (GBaseInitFunc) spit_data_imports_plugin_host_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_data_imports_plugin_host_type_id; + spit_data_imports_plugin_host_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitDataImportsPluginHost", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_data_imports_plugin_host_type_id, G_TYPE_OBJECT); + g_type_interface_add_prerequisite (spit_data_imports_plugin_host_type_id, SPIT_TYPE_HOST_INTERFACE); + g_once_init_leave (&spit_data_imports_plugin_host_type_id__volatile, spit_data_imports_plugin_host_type_id); + } + return spit_data_imports_plugin_host_type_id__volatile; +} + + +/** + * A factory method that instantiates and returns a new {@link DataImporter} object + * that this Service describes. + */ +SpitDataImportsDataImporter* spit_data_imports_service_create_data_importer (SpitDataImportsService* self, SpitDataImportsPluginHost* host) { +#line 475 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_SERVICE (self), NULL); +#line 475 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_SERVICE_GET_INTERFACE (self)->create_data_importer (self, host); +#line 1584 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_service_real_reserved0 (SpitDataImportsService* self) { +} + + +void spit_data_imports_service_reserved0 (SpitDataImportsService* self) { +#line 480 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_SERVICE (self)); +#line 480 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_SERVICE_GET_INTERFACE (self)->reserved0 (self); +#line 1597 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_service_real_reserved1 (SpitDataImportsService* self) { +} + + +void spit_data_imports_service_reserved1 (SpitDataImportsService* self) { +#line 481 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_SERVICE (self)); +#line 481 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_SERVICE_GET_INTERFACE (self)->reserved1 (self); +#line 1610 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_service_real_reserved2 (SpitDataImportsService* self) { +} + + +void spit_data_imports_service_reserved2 (SpitDataImportsService* self) { +#line 482 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_SERVICE (self)); +#line 482 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_SERVICE_GET_INTERFACE (self)->reserved2 (self); +#line 1623 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_service_real_reserved3 (SpitDataImportsService* self) { +} + + +void spit_data_imports_service_reserved3 (SpitDataImportsService* self) { +#line 483 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_SERVICE (self)); +#line 483 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_SERVICE_GET_INTERFACE (self)->reserved3 (self); +#line 1636 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_service_real_reserved4 (SpitDataImportsService* self) { +} + + +void spit_data_imports_service_reserved4 (SpitDataImportsService* self) { +#line 484 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_SERVICE (self)); +#line 484 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_SERVICE_GET_INTERFACE (self)->reserved4 (self); +#line 1649 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_service_real_reserved5 (SpitDataImportsService* self) { +} + + +void spit_data_imports_service_reserved5 (SpitDataImportsService* self) { +#line 485 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_SERVICE (self)); +#line 485 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_SERVICE_GET_INTERFACE (self)->reserved5 (self); +#line 1662 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_service_real_reserved6 (SpitDataImportsService* self) { +} + + +void spit_data_imports_service_reserved6 (SpitDataImportsService* self) { +#line 486 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_SERVICE (self)); +#line 486 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_SERVICE_GET_INTERFACE (self)->reserved6 (self); +#line 1675 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_service_real_reserved7 (SpitDataImportsService* self) { +} + + +void spit_data_imports_service_reserved7 (SpitDataImportsService* self) { +#line 487 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_SERVICE (self)); +#line 487 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_SERVICE_GET_INTERFACE (self)->reserved7 (self); +#line 1688 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_service_base_init (SpitDataImportsServiceIface * iface) { +#line 470 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + static gboolean initialized = FALSE; +#line 470 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + if (!initialized) { +#line 470 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + initialized = TRUE; +#line 470 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved0 = spit_data_imports_service_real_reserved0; +#line 470 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved1 = spit_data_imports_service_real_reserved1; +#line 470 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved2 = spit_data_imports_service_real_reserved2; +#line 470 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved3 = spit_data_imports_service_real_reserved3; +#line 470 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved4 = spit_data_imports_service_real_reserved4; +#line 470 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved5 = spit_data_imports_service_real_reserved5; +#line 470 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved6 = spit_data_imports_service_real_reserved6; +#line 470 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved7 = spit_data_imports_service_real_reserved7; +#line 1715 "DataImportsInterfaces.c" + } +} + + +/** + * Describes the features and capabilities of a data import service. + * + * Developers of data import plugins provide a class that implements this interface. + */ +GType spit_data_imports_service_get_type (void) { + static volatile gsize spit_data_imports_service_type_id__volatile = 0; + if (g_once_init_enter (&spit_data_imports_service_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitDataImportsServiceIface), (GBaseInitFunc) spit_data_imports_service_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_data_imports_service_type_id; + spit_data_imports_service_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitDataImportsService", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_data_imports_service_type_id, G_TYPE_OBJECT); + g_type_interface_add_prerequisite (spit_data_imports_service_type_id, SPIT_TYPE_PLUGGABLE); + g_once_init_leave (&spit_data_imports_service_type_id__volatile, spit_data_imports_service_type_id); + } + return spit_data_imports_service_type_id__volatile; +} + + + diff --git a/src/plugins/ManifestWidget.c b/src/plugins/ManifestWidget.c new file mode 100644 index 0000000..e09267a --- /dev/null +++ b/src/plugins/ManifestWidget.c @@ -0,0 +1,2253 @@ +/* ManifestWidget.c generated by valac 0.32.1, the Vala compiler + * generated from ManifestWidget.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include <glib.h> +#include <glib-object.h> +#include <gtk/gtk.h> +#include <stdlib.h> +#include <string.h> +#include "shotwell-plugin-dev-1.0.h" +#include <gdk-pixbuf/gdk-pixbuf.h> +#include <gee.h> +#include <gio/gio.h> +#include <gdk/gdk.h> +#include <gobject/gvaluecollector.h> + + +#define PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR (plugins_manifest_widget_mediator_get_type ()) +#define PLUGINS_MANIFEST_WIDGET_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR, PluginsManifestWidgetMediator)) +#define PLUGINS_MANIFEST_WIDGET_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR, PluginsManifestWidgetMediatorClass)) +#define PLUGINS_IS_MANIFEST_WIDGET_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR)) +#define PLUGINS_IS_MANIFEST_WIDGET_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR)) +#define PLUGINS_MANIFEST_WIDGET_MEDIATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR, PluginsManifestWidgetMediatorClass)) + +typedef struct _PluginsManifestWidgetMediator PluginsManifestWidgetMediator; +typedef struct _PluginsManifestWidgetMediatorClass PluginsManifestWidgetMediatorClass; +typedef struct _PluginsManifestWidgetMediatorPrivate PluginsManifestWidgetMediatorPrivate; + +#define PLUGINS_TYPE_MANIFEST_LIST_VIEW (plugins_manifest_list_view_get_type ()) +#define PLUGINS_MANIFEST_LIST_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLUGINS_TYPE_MANIFEST_LIST_VIEW, PluginsManifestListView)) +#define PLUGINS_MANIFEST_LIST_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLUGINS_TYPE_MANIFEST_LIST_VIEW, PluginsManifestListViewClass)) +#define PLUGINS_IS_MANIFEST_LIST_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLUGINS_TYPE_MANIFEST_LIST_VIEW)) +#define PLUGINS_IS_MANIFEST_LIST_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLUGINS_TYPE_MANIFEST_LIST_VIEW)) +#define PLUGINS_MANIFEST_LIST_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLUGINS_TYPE_MANIFEST_LIST_VIEW, PluginsManifestListViewClass)) + +typedef struct _PluginsManifestListView PluginsManifestListView; +typedef struct _PluginsManifestListViewClass PluginsManifestListViewClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) +typedef struct _PluginsParamSpecManifestWidgetMediator PluginsParamSpecManifestWidgetMediator; +typedef struct _PluginsManifestListViewPrivate PluginsManifestListViewPrivate; + +#define PLUGINS_MANIFEST_LIST_VIEW_TYPE_COLUMN (plugins_manifest_list_view_column_get_type ()) + +#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; +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +#define _gtk_icon_info_free0(var) ((var == NULL) ? NULL : (var = (gtk_icon_info_free (var), NULL))) +#define _plugins_extension_point_unref0(var) ((var == NULL) ? NULL : (var = (plugins_extension_point_unref (var), NULL))) +#define _gtk_tree_path_free0(var) ((var == NULL) ? NULL : (var = (gtk_tree_path_free (var), NULL))) +#define __g_list_free__gtk_tree_path_free0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__gtk_tree_path_free0_ (var), NULL))) + +struct _PluginsManifestWidgetMediator { + GTypeInstance parent_instance; + volatile int ref_count; + PluginsManifestWidgetMediatorPrivate * priv; +}; + +struct _PluginsManifestWidgetMediatorClass { + GTypeClass parent_class; + void (*finalize) (PluginsManifestWidgetMediator *self); +}; + +struct _PluginsManifestWidgetMediatorPrivate { + GtkBuilder* builder; + PluginsManifestListView* list; +}; + +struct _PluginsParamSpecManifestWidgetMediator { + GParamSpec parent_instance; +}; + +struct _PluginsManifestListView { + GtkTreeView parent_instance; + PluginsManifestListViewPrivate * priv; +}; + +struct _PluginsManifestListViewClass { + GtkTreeViewClass parent_class; +}; + +struct _PluginsManifestListViewPrivate { + GtkTreeStore* store; +}; + +typedef enum { + PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ENABLED, + PLUGINS_MANIFEST_LIST_VIEW_COLUMN_CAN_ENABLE, + PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ICON, + PLUGINS_MANIFEST_LIST_VIEW_COLUMN_NAME, + PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ID, + PLUGINS_MANIFEST_LIST_VIEW_COLUMN_N_COLUMNS +} PluginsManifestListViewColumn; + + +static gpointer plugins_manifest_widget_mediator_parent_class = NULL; +static gpointer plugins_manifest_list_view_parent_class = NULL; + +gpointer plugins_manifest_widget_mediator_ref (gpointer instance); +void plugins_manifest_widget_mediator_unref (gpointer instance); +GParamSpec* plugins_param_spec_manifest_widget_mediator (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void plugins_value_set_manifest_widget_mediator (GValue* value, gpointer v_object); +void plugins_value_take_manifest_widget_mediator (GValue* value, gpointer v_object); +gpointer plugins_value_get_manifest_widget_mediator (const GValue* value); +GType plugins_manifest_widget_mediator_get_type (void) G_GNUC_CONST; +GType plugins_manifest_list_view_get_type (void) G_GNUC_CONST; +#define PLUGINS_MANIFEST_WIDGET_MEDIATOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR, PluginsManifestWidgetMediatorPrivate)) +enum { + PLUGINS_MANIFEST_WIDGET_MEDIATOR_DUMMY_PROPERTY +}; +static GtkButton* plugins_manifest_widget_mediator_get_about_button (PluginsManifestWidgetMediator* self); +static void plugins_manifest_widget_mediator_on_about (PluginsManifestWidgetMediator* self); +static void _plugins_manifest_widget_mediator_on_about_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void plugins_manifest_widget_mediator_on_selection_changed (PluginsManifestWidgetMediator* self); +static void _plugins_manifest_widget_mediator_on_selection_changed_gtk_tree_selection_changed (GtkTreeSelection* _sender, gpointer self); +GtkBuilder* app_window_create_builder (const gchar* glade_filename, void* user); +PluginsManifestListView* plugins_manifest_list_view_new (void); +PluginsManifestListView* plugins_manifest_list_view_construct (GType object_type); +PluginsManifestWidgetMediator* plugins_manifest_widget_mediator_new (void); +PluginsManifestWidgetMediator* plugins_manifest_widget_mediator_construct (GType object_type); +static GtkScrolledWindow* plugins_manifest_widget_mediator_get_list_bin (PluginsManifestWidgetMediator* self); +static void plugins_manifest_widget_mediator_set_about_button_sensitivity (PluginsManifestWidgetMediator* self); +gchar** plugins_manifest_list_view_get_selected_ids (PluginsManifestListView* self, int* result_length1); +gboolean plugins_get_pluggable_info (const gchar* id, SpitPluggableInfo* info); +gboolean is_string_empty (const gchar* s); +static void _vala_array_add49 (gchar*** array, int* length, int* size, gchar* value); +GdkPixbuf* resources_get_icon (const gchar* name, gint scale); +#define RESOURCES_ICON_GENERIC_PLUGIN "generic-plugin.png" +#define RESOURCES_DEFAULT_ICON_SCALE 24 +gchar* plugins_get_pluggable_name (const gchar* id); +GtkWidget* plugins_manifest_widget_mediator_get_widget (PluginsManifestWidgetMediator* self); +static void plugins_manifest_widget_mediator_finalize (PluginsManifestWidgetMediator* obj); +#define PLUGINS_MANIFEST_LIST_VIEW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PLUGINS_TYPE_MANIFEST_LIST_VIEW, PluginsManifestListViewPrivate)) +enum { + PLUGINS_MANIFEST_LIST_VIEW_DUMMY_PROPERTY +}; +static GType plugins_manifest_list_view_column_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define PLUGINS_MANIFEST_LIST_VIEW_ICON_SIZE 24 +#define PLUGINS_MANIFEST_LIST_VIEW_ICON_X_PADDING 6 +#define PLUGINS_MANIFEST_LIST_VIEW_ICON_Y_PADDING 2 +GtkIconTheme* resources_get_icon_theme_engine (void); +gpointer plugins_extension_point_ref (gpointer instance); +void plugins_extension_point_unref (gpointer instance); +GParamSpec* plugins_param_spec_extension_point (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void plugins_value_set_extension_point (GValue* value, gpointer v_object); +void plugins_value_take_extension_point (GValue* value, gpointer v_object); +gpointer plugins_value_get_extension_point (const GValue* value); +GType plugins_extension_point_get_type (void) G_GNUC_CONST; +GeeCollection* plugins_get_extension_points (GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify); +gint plugins_compare_extension_point_names (void* a, void* b); +static gint _plugins_compare_extension_point_names_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self); +const gchar* plugins_extension_point_get_icon_name (PluginsExtensionPoint* self); +const gchar* plugins_extension_point_get_name (PluginsExtensionPoint* self); +GeeCollection* plugins_get_pluggables_for_type (GType type, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify, gboolean include_disabled); +GType plugins_extension_point_get_pluggable_type (PluginsExtensionPoint* self); +gint plugins_compare_pluggable_names (void* a, void* b); +static gint _plugins_compare_pluggable_names_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self); +gboolean plugins_get_pluggable_enabled (const gchar* id, gboolean* enabled); +static gchar* plugins_manifest_list_view_get_id_at_path (PluginsManifestListView* self, GtkTreePath* path, GtkTreeIter* iter); +static void _vala_array_add50 (gchar*** array, int* length, int* size, gchar* value); +static void _gtk_tree_path_free0_ (gpointer var); +static void _g_list_free__gtk_tree_path_free0_ (GList* self); +static gboolean plugins_manifest_list_view_real_button_press_event (GtkWidget* base, GdkEventButton* event); +void plugins_set_pluggable_enabled (const gchar* id, gboolean enabled); +static void plugins_manifest_list_view_finalize (GObject* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); +static gint _vala_array_length (gpointer array); + + +static void _plugins_manifest_widget_mediator_on_about_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 41 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + plugins_manifest_widget_mediator_on_about ((PluginsManifestWidgetMediator*) self); +#line 187 "ManifestWidget.c" +} + + +static void _plugins_manifest_widget_mediator_on_selection_changed_gtk_tree_selection_changed (GtkTreeSelection* _sender, gpointer self) { +#line 42 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + plugins_manifest_widget_mediator_on_selection_changed ((PluginsManifestWidgetMediator*) self); +#line 194 "ManifestWidget.c" +} + + +PluginsManifestWidgetMediator* plugins_manifest_widget_mediator_construct (GType object_type) { + PluginsManifestWidgetMediator* self = NULL; + GtkScrolledWindow* _tmp0_ = NULL; + GtkScrolledWindow* _tmp1_ = NULL; + PluginsManifestListView* _tmp2_ = NULL; + GtkButton* _tmp3_ = NULL; + GtkButton* _tmp4_ = NULL; + PluginsManifestListView* _tmp5_ = NULL; + GtkTreeSelection* _tmp6_ = NULL; +#line 31 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + self = (PluginsManifestWidgetMediator*) g_type_create_instance (object_type); +#line 32 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp0_ = plugins_manifest_widget_mediator_get_list_bin (self); +#line 32 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp1_ = _tmp0_; +#line 32 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp2_ = self->priv->list; +#line 32 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_scrolled_window_add_with_viewport (_tmp1_, G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget)); +#line 34 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp3_ = plugins_manifest_widget_mediator_get_about_button (self); +#line 34 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp4_ = _tmp3_; +#line 34 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_signal_connect (_tmp4_, "clicked", (GCallback) _plugins_manifest_widget_mediator_on_about_gtk_button_clicked, self); +#line 35 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp5_ = self->priv->list; +#line 35 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp6_ = gtk_tree_view_get_selection (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_tree_view_get_type (), GtkTreeView)); +#line 35 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_signal_connect (_tmp6_, "changed", (GCallback) _plugins_manifest_widget_mediator_on_selection_changed_gtk_tree_selection_changed, self); +#line 37 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + plugins_manifest_widget_mediator_set_about_button_sensitivity (self); +#line 31 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return self; +#line 233 "ManifestWidget.c" +} + + +PluginsManifestWidgetMediator* plugins_manifest_widget_mediator_new (void) { +#line 31 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return plugins_manifest_widget_mediator_construct (PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR); +#line 240 "ManifestWidget.c" +} + + +static gchar* string_strip (const gchar* self) { + gchar* result = NULL; + gchar* _result_ = NULL; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 1207 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1208 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = g_strdup (self); +#line 1208 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _result_ = _tmp0_; +#line 1209 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _result_; +#line 1209 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_strstrip (_tmp1_); +#line 1210 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _result_; +#line 1210 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 263 "ManifestWidget.c" +} + + +static void _vala_array_add49 (gchar*** array, int* length, int* size, gchar* value) { +#line 70 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if ((*length) == (*size)) { +#line 70 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 70 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 274 "ManifestWidget.c" + } +#line 70 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + (*array)[(*length)++] = value; +#line 70 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + (*array)[*length] = NULL; +#line 280 "ManifestWidget.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return self ? g_object_ref (self) : NULL; +#line 287 "ManifestWidget.c" +} + + +static void plugins_manifest_widget_mediator_on_about (PluginsManifestWidgetMediator* self) { + gchar** ids = NULL; + PluginsManifestListView* _tmp0_ = NULL; + gint _tmp1_ = 0; + gchar** _tmp2_ = NULL; + gint ids_length1 = 0; + gint _ids_size_ = 0; + gchar** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + gchar* id = NULL; + gchar** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + SpitPluggableInfo info = {0}; + const gchar* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + gchar** authors = NULL; + gint authors_length1 = 0; + gint _authors_size_ = 0; + SpitPluggableInfo _tmp10_ = {0}; + const gchar* _tmp11_ = NULL; + GtkAboutDialog* about_dialog = NULL; + GtkAboutDialog* _tmp31_ = NULL; + GtkAboutDialog* _tmp32_ = NULL; + gchar** _tmp33_ = NULL; + gint _tmp33__length1 = 0; + GtkAboutDialog* _tmp34_ = NULL; + SpitPluggableInfo _tmp35_ = {0}; + const gchar* _tmp36_ = NULL; + GtkAboutDialog* _tmp37_ = NULL; + SpitPluggableInfo _tmp38_ = {0}; + const gchar* _tmp39_ = NULL; + GtkAboutDialog* _tmp40_ = NULL; + SpitPluggableInfo _tmp41_ = {0}; + const gchar* _tmp42_ = NULL; + GtkAboutDialog* _tmp43_ = NULL; + SpitPluggableInfo _tmp44_ = {0}; + gboolean _tmp45_ = FALSE; + GdkPixbuf* _tmp46_ = NULL; + gboolean _tmp47_ = FALSE; + SpitPluggableInfo _tmp48_ = {0}; + GdkPixbuf** _tmp49_ = NULL; + gint _tmp49__length1 = 0; + GtkAboutDialog* _tmp57_ = NULL; + GtkAboutDialog* _tmp58_ = NULL; + const gchar* _tmp59_ = NULL; + gchar* _tmp60_ = NULL; + gchar* _tmp61_ = NULL; + GtkAboutDialog* _tmp62_ = NULL; + SpitPluggableInfo _tmp63_ = {0}; + const gchar* _tmp64_ = NULL; + GtkAboutDialog* _tmp65_ = NULL; + SpitPluggableInfo _tmp66_ = {0}; + const gchar* _tmp67_ = NULL; + GtkAboutDialog* _tmp68_ = NULL; + SpitPluggableInfo _tmp69_ = {0}; + const gchar* _tmp70_ = NULL; + GtkAboutDialog* _tmp71_ = NULL; + SpitPluggableInfo _tmp72_ = {0}; + const gchar* _tmp73_ = NULL; + GtkAboutDialog* _tmp74_ = NULL; + GtkAboutDialog* _tmp75_ = NULL; +#line 45 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_if_fail (PLUGINS_IS_MANIFEST_WIDGET_MEDIATOR (self)); +#line 46 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp0_ = self->priv->list; +#line 46 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp2_ = plugins_manifest_list_view_get_selected_ids (_tmp0_, &_tmp1_); +#line 46 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + ids = _tmp2_; +#line 46 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + ids_length1 = _tmp1_; +#line 46 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _ids_size_ = ids_length1; +#line 47 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp3_ = ids; +#line 47 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp3__length1 = ids_length1; +#line 47 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (_tmp3__length1 == 0) { +#line 48 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + ids = (_vala_array_free (ids, ids_length1, (GDestroyNotify) g_free), NULL); +#line 48 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return; +#line 376 "ManifestWidget.c" + } +#line 50 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp4_ = ids; +#line 50 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp4__length1 = ids_length1; +#line 50 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp5_ = _tmp4_[0]; +#line 50 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp6_ = g_strdup (_tmp5_); +#line 50 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + id = _tmp6_; +#line 52 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + memset (&info, 0, sizeof (SpitPluggableInfo)); +#line 53 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp7_ = id; +#line 53 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp8_ = plugins_get_pluggable_info (_tmp7_, &info); +#line 53 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (!_tmp8_) { +#line 396 "ManifestWidget.c" + const gchar* _tmp9_ = NULL; +#line 54 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp9_ = id; +#line 54 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_warning ("ManifestWidget.vala:54: Unable to retrieve information for plugin %s", _tmp9_); +#line 56 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + spit_pluggable_info_destroy (&info); +#line 56 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_free0 (id); +#line 56 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + ids = (_vala_array_free (ids, ids_length1, (GDestroyNotify) g_free), NULL); +#line 56 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return; +#line 410 "ManifestWidget.c" + } +#line 61 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + authors = NULL; +#line 61 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + authors_length1 = 0; +#line 61 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _authors_size_ = authors_length1; +#line 62 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp10_ = info; +#line 62 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp11_ = _tmp10_.authors; +#line 62 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (_tmp11_ != NULL) { +#line 424 "ManifestWidget.c" + gchar** split = NULL; + SpitPluggableInfo _tmp12_ = {0}; + const gchar* _tmp13_ = NULL; + gchar** _tmp14_ = NULL; + gchar** _tmp15_ = NULL; + gint split_length1 = 0; + gint _split_size_ = 0; +#line 63 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp12_ = info; +#line 63 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp13_ = _tmp12_.authors; +#line 63 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp15_ = _tmp14_ = g_strsplit (_tmp13_, ",", 0); +#line 63 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + split = _tmp15_; +#line 63 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + split_length1 = _vala_array_length (_tmp14_); +#line 63 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _split_size_ = split_length1; +#line 444 "ManifestWidget.c" + { + gint ctr = 0; +#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + ctr = 0; +#line 449 "ManifestWidget.c" + { + gboolean _tmp16_ = FALSE; +#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp16_ = TRUE; +#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + while (TRUE) { +#line 456 "ManifestWidget.c" + gint _tmp18_ = 0; + gchar** _tmp19_ = NULL; + gint _tmp19__length1 = 0; + gchar* stripped = NULL; + gchar** _tmp20_ = NULL; + gint _tmp20__length1 = 0; + gint _tmp21_ = 0; + const gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + gboolean _tmp25_ = FALSE; +#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (!_tmp16_) { +#line 470 "ManifestWidget.c" + gint _tmp17_ = 0; +#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp17_ = ctr; +#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + ctr = _tmp17_ + 1; +#line 476 "ManifestWidget.c" + } +#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp16_ = FALSE; +#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp18_ = ctr; +#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp19_ = split; +#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp19__length1 = split_length1; +#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (!(_tmp18_ < _tmp19__length1)) { +#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + break; +#line 490 "ManifestWidget.c" + } +#line 65 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp20_ = split; +#line 65 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp20__length1 = split_length1; +#line 65 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp21_ = ctr; +#line 65 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp22_ = _tmp20_[_tmp21_]; +#line 65 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp23_ = string_strip (_tmp22_); +#line 65 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + stripped = _tmp23_; +#line 66 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp24_ = stripped; +#line 66 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp25_ = is_string_empty (_tmp24_); +#line 66 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (!_tmp25_) { +#line 510 "ManifestWidget.c" + gchar** _tmp26_ = NULL; + gint _tmp26__length1 = 0; + gchar** _tmp28_ = NULL; + gint _tmp28__length1 = 0; + const gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; +#line 67 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp26_ = authors; +#line 67 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp26__length1 = authors_length1; +#line 67 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (_tmp26_ == NULL) { +#line 523 "ManifestWidget.c" + gchar** _tmp27_ = NULL; +#line 68 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp27_ = g_new0 (gchar*, 0 + 1); +#line 68 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + authors = (_vala_array_free (authors, authors_length1, (GDestroyNotify) g_free), NULL); +#line 68 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + authors = _tmp27_; +#line 68 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + authors_length1 = 0; +#line 68 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _authors_size_ = authors_length1; +#line 535 "ManifestWidget.c" + } +#line 70 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp28_ = authors; +#line 70 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp28__length1 = authors_length1; +#line 70 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp29_ = stripped; +#line 70 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp30_ = g_strdup (_tmp29_); +#line 70 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _vala_array_add49 (&authors, &authors_length1, &_authors_size_, _tmp30_); +#line 547 "ManifestWidget.c" + } +#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_free0 (stripped); +#line 551 "ManifestWidget.c" + } + } + } +#line 62 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + split = (_vala_array_free (split, split_length1, (GDestroyNotify) g_free), NULL); +#line 557 "ManifestWidget.c" + } +#line 75 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp31_ = (GtkAboutDialog*) gtk_about_dialog_new (); +#line 75 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_object_ref_sink (_tmp31_); +#line 75 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + about_dialog = _tmp31_; +#line 76 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp32_ = about_dialog; +#line 76 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp33_ = authors; +#line 76 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp33__length1 = authors_length1; +#line 76 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_about_dialog_set_authors (_tmp32_, _tmp33_); +#line 77 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp34_ = about_dialog; +#line 77 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp35_ = info; +#line 77 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp36_ = _tmp35_.brief_description; +#line 77 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_about_dialog_set_comments (_tmp34_, _tmp36_); +#line 78 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp37_ = about_dialog; +#line 78 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp38_ = info; +#line 78 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp39_ = _tmp38_.copyright; +#line 78 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_about_dialog_set_copyright (_tmp37_, _tmp39_); +#line 79 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp40_ = about_dialog; +#line 79 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp41_ = info; +#line 79 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp42_ = _tmp41_.license; +#line 79 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_about_dialog_set_license (_tmp40_, _tmp42_); +#line 80 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp43_ = about_dialog; +#line 80 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp44_ = info; +#line 80 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp45_ = _tmp44_.is_license_wordwrapped; +#line 80 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_about_dialog_set_wrap_license (_tmp43_, _tmp45_); +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp48_ = info; +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp49_ = _tmp48_.icons; +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp49__length1 = _tmp48_.icons_length1; +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (_tmp49_ != NULL) { +#line 613 "ManifestWidget.c" + SpitPluggableInfo _tmp50_ = {0}; + GdkPixbuf** _tmp51_ = NULL; + gint _tmp51__length1 = 0; +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp50_ = info; +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp51_ = _tmp50_.icons; +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp51__length1 = _tmp50_.icons_length1; +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp47_ = _tmp51__length1 > 0; +#line 625 "ManifestWidget.c" + } else { +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp47_ = FALSE; +#line 629 "ManifestWidget.c" + } +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (_tmp47_) { +#line 633 "ManifestWidget.c" + SpitPluggableInfo _tmp52_ = {0}; + GdkPixbuf** _tmp53_ = NULL; + gint _tmp53__length1 = 0; + GdkPixbuf* _tmp54_ = NULL; + GdkPixbuf* _tmp55_ = NULL; +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp52_ = info; +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp53_ = _tmp52_.icons; +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp53__length1 = _tmp52_.icons_length1; +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp54_ = _tmp53_[0]; +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp55_ = _g_object_ref0 (_tmp54_); +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (_tmp46_); +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp46_ = _tmp55_; +#line 653 "ManifestWidget.c" + } else { + GdkPixbuf* _tmp56_ = NULL; +#line 82 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp56_ = resources_get_icon (RESOURCES_ICON_GENERIC_PLUGIN, RESOURCES_DEFAULT_ICON_SCALE); +#line 82 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (_tmp46_); +#line 82 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp46_ = _tmp56_; +#line 662 "ManifestWidget.c" + } +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp57_ = about_dialog; +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_about_dialog_set_logo (_tmp57_, _tmp46_); +#line 83 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp58_ = about_dialog; +#line 83 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp59_ = id; +#line 83 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp60_ = plugins_get_pluggable_name (_tmp59_); +#line 83 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp61_ = _tmp60_; +#line 83 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_about_dialog_set_program_name (_tmp58_, _tmp61_); +#line 83 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_free0 (_tmp61_); +#line 84 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp62_ = about_dialog; +#line 84 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp63_ = info; +#line 84 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp64_ = _tmp63_.translators; +#line 84 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_about_dialog_set_translator_credits (_tmp62_, _tmp64_); +#line 85 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp65_ = about_dialog; +#line 85 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp66_ = info; +#line 85 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp67_ = _tmp66_.version; +#line 85 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_about_dialog_set_version (_tmp65_, _tmp67_); +#line 86 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp68_ = about_dialog; +#line 86 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp69_ = info; +#line 86 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp70_ = _tmp69_.website_url; +#line 86 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_about_dialog_set_website (_tmp68_, _tmp70_); +#line 87 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp71_ = about_dialog; +#line 87 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp72_ = info; +#line 87 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp73_ = _tmp72_.website_name; +#line 87 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_about_dialog_set_website_label (_tmp71_, _tmp73_); +#line 89 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp74_ = about_dialog; +#line 89 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (_tmp74_, gtk_dialog_get_type (), GtkDialog)); +#line 91 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp75_ = about_dialog; +#line 91 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp75_, gtk_widget_get_type (), GtkWidget)); +#line 45 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (_tmp46_); +#line 45 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (about_dialog); +#line 45 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + authors = (_vala_array_free (authors, authors_length1, (GDestroyNotify) g_free), NULL); +#line 45 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + spit_pluggable_info_destroy (&info); +#line 45 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_free0 (id); +#line 45 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + ids = (_vala_array_free (ids, ids_length1, (GDestroyNotify) g_free), NULL); +#line 732 "ManifestWidget.c" +} + + +static void plugins_manifest_widget_mediator_on_selection_changed (PluginsManifestWidgetMediator* self) { +#line 94 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_if_fail (PLUGINS_IS_MANIFEST_WIDGET_MEDIATOR (self)); +#line 95 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + plugins_manifest_widget_mediator_set_about_button_sensitivity (self); +#line 741 "ManifestWidget.c" +} + + +static void plugins_manifest_widget_mediator_set_about_button_sensitivity (PluginsManifestWidgetMediator* self) { + gchar** ids = NULL; + PluginsManifestListView* _tmp0_ = NULL; + gint _tmp1_ = 0; + gchar** _tmp2_ = NULL; + gint ids_length1 = 0; + gint _ids_size_ = 0; + GtkButton* _tmp3_ = NULL; + GtkButton* _tmp4_ = NULL; +#line 98 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_if_fail (PLUGINS_IS_MANIFEST_WIDGET_MEDIATOR (self)); +#line 103 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp0_ = self->priv->list; +#line 103 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp2_ = plugins_manifest_list_view_get_selected_ids (_tmp0_, &_tmp1_); +#line 103 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + ids = _tmp2_; +#line 103 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + ids_length1 = _tmp1_; +#line 103 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _ids_size_ = ids_length1; +#line 104 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp3_ = plugins_manifest_widget_mediator_get_about_button (self); +#line 104 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp4_ = _tmp3_; +#line 104 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget), ids_length1 == 1); +#line 98 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + ids = (_vala_array_free (ids, ids_length1, (GDestroyNotify) g_free), NULL); +#line 774 "ManifestWidget.c" +} + + +GtkWidget* plugins_manifest_widget_mediator_get_widget (PluginsManifestWidgetMediator* self) { + GtkWidget* result; + GtkBuilder* _tmp0_ = NULL; + GObject* _tmp1_ = NULL; +#line 11 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_val_if_fail (PLUGINS_IS_MANIFEST_WIDGET_MEDIATOR (self), NULL); +#line 12 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp0_ = self->priv->builder; +#line 12 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp1_ = gtk_builder_get_object (_tmp0_, "plugin-manifest"); +#line 12 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + result = G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, gtk_widget_get_type ()) ? ((GtkWidget*) _tmp1_) : NULL; +#line 12 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return result; +#line 792 "ManifestWidget.c" +} + + +static GtkButton* plugins_manifest_widget_mediator_get_about_button (PluginsManifestWidgetMediator* self) { + GtkButton* result; + GtkBuilder* _tmp0_ = NULL; + GObject* _tmp1_ = NULL; +#line 17 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_val_if_fail (PLUGINS_IS_MANIFEST_WIDGET_MEDIATOR (self), NULL); +#line 18 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp0_ = self->priv->builder; +#line 18 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp1_ = gtk_builder_get_object (_tmp0_, "about-plugin-button"); +#line 18 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + result = G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, gtk_button_get_type ()) ? ((GtkButton*) _tmp1_) : NULL; +#line 18 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return result; +#line 810 "ManifestWidget.c" +} + + +static GtkScrolledWindow* plugins_manifest_widget_mediator_get_list_bin (PluginsManifestWidgetMediator* self) { + GtkScrolledWindow* result; + GtkBuilder* _tmp0_ = NULL; + GObject* _tmp1_ = NULL; +#line 23 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_val_if_fail (PLUGINS_IS_MANIFEST_WIDGET_MEDIATOR (self), NULL); +#line 24 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp0_ = self->priv->builder; +#line 24 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp1_ = gtk_builder_get_object (_tmp0_, "plugin-list-scrolled-window"); +#line 24 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + result = G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, gtk_scrolled_window_get_type ()) ? ((GtkScrolledWindow*) _tmp1_) : NULL; +#line 24 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return result; +#line 828 "ManifestWidget.c" +} + + +static void plugins_value_manifest_widget_mediator_init (GValue* value) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + value->data[0].v_pointer = NULL; +#line 835 "ManifestWidget.c" +} + + +static void plugins_value_manifest_widget_mediator_free_value (GValue* value) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (value->data[0].v_pointer) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + plugins_manifest_widget_mediator_unref (value->data[0].v_pointer); +#line 844 "ManifestWidget.c" + } +} + + +static void plugins_value_manifest_widget_mediator_copy_value (const GValue* src_value, GValue* dest_value) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (src_value->data[0].v_pointer) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + dest_value->data[0].v_pointer = plugins_manifest_widget_mediator_ref (src_value->data[0].v_pointer); +#line 854 "ManifestWidget.c" + } else { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + dest_value->data[0].v_pointer = NULL; +#line 858 "ManifestWidget.c" + } +} + + +static gpointer plugins_value_manifest_widget_mediator_peek_pointer (const GValue* value) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return value->data[0].v_pointer; +#line 866 "ManifestWidget.c" +} + + +static gchar* plugins_value_manifest_widget_mediator_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (collect_values[0].v_pointer) { +#line 873 "ManifestWidget.c" + PluginsManifestWidgetMediator* object; + object = collect_values[0].v_pointer; +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (object->parent_instance.g_class == NULL) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 880 "ManifestWidget.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 884 "ManifestWidget.c" + } +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + value->data[0].v_pointer = plugins_manifest_widget_mediator_ref (object); +#line 888 "ManifestWidget.c" + } else { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + value->data[0].v_pointer = NULL; +#line 892 "ManifestWidget.c" + } +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return NULL; +#line 896 "ManifestWidget.c" +} + + +static gchar* plugins_value_manifest_widget_mediator_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PluginsManifestWidgetMediator** object_p; + object_p = collect_values[0].v_pointer; +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (!object_p) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 907 "ManifestWidget.c" + } +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (!value->data[0].v_pointer) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + *object_p = NULL; +#line 913 "ManifestWidget.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + *object_p = value->data[0].v_pointer; +#line 917 "ManifestWidget.c" + } else { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + *object_p = plugins_manifest_widget_mediator_ref (value->data[0].v_pointer); +#line 921 "ManifestWidget.c" + } +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return NULL; +#line 925 "ManifestWidget.c" +} + + +GParamSpec* plugins_param_spec_manifest_widget_mediator (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PluginsParamSpecManifestWidgetMediator* spec; +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_val_if_fail (g_type_is_a (object_type, PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR), NULL); +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return G_PARAM_SPEC (spec); +#line 939 "ManifestWidget.c" +} + + +gpointer plugins_value_get_manifest_widget_mediator (const GValue* value) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR), NULL); +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return value->data[0].v_pointer; +#line 948 "ManifestWidget.c" +} + + +void plugins_value_set_manifest_widget_mediator (GValue* value, gpointer v_object) { + PluginsManifestWidgetMediator* old; +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR)); +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + old = value->data[0].v_pointer; +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (v_object) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR)); +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + value->data[0].v_pointer = v_object; +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + plugins_manifest_widget_mediator_ref (value->data[0].v_pointer); +#line 968 "ManifestWidget.c" + } else { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + value->data[0].v_pointer = NULL; +#line 972 "ManifestWidget.c" + } +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (old) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + plugins_manifest_widget_mediator_unref (old); +#line 978 "ManifestWidget.c" + } +} + + +void plugins_value_take_manifest_widget_mediator (GValue* value, gpointer v_object) { + PluginsManifestWidgetMediator* old; +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR)); +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + old = value->data[0].v_pointer; +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (v_object) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR)); +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + value->data[0].v_pointer = v_object; +#line 997 "ManifestWidget.c" + } else { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + value->data[0].v_pointer = NULL; +#line 1001 "ManifestWidget.c" + } +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (old) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + plugins_manifest_widget_mediator_unref (old); +#line 1007 "ManifestWidget.c" + } +} + + +static void plugins_manifest_widget_mediator_class_init (PluginsManifestWidgetMediatorClass * klass) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + plugins_manifest_widget_mediator_parent_class = g_type_class_peek_parent (klass); +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + ((PluginsManifestWidgetMediatorClass *) klass)->finalize = plugins_manifest_widget_mediator_finalize; +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_type_class_add_private (klass, sizeof (PluginsManifestWidgetMediatorPrivate)); +#line 1019 "ManifestWidget.c" +} + + +static void plugins_manifest_widget_mediator_instance_init (PluginsManifestWidgetMediator * self) { + GtkBuilder* _tmp0_ = NULL; + PluginsManifestListView* _tmp1_ = NULL; +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + self->priv = PLUGINS_MANIFEST_WIDGET_MEDIATOR_GET_PRIVATE (self); +#line 28 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp0_ = app_window_create_builder ("shotwell.ui", NULL); +#line 28 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + self->priv->builder = _tmp0_; +#line 29 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp1_ = plugins_manifest_list_view_new (); +#line 29 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_object_ref_sink (_tmp1_); +#line 29 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + self->priv->list = _tmp1_; +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + self->ref_count = 1; +#line 1040 "ManifestWidget.c" +} + + +static void plugins_manifest_widget_mediator_finalize (PluginsManifestWidgetMediator* obj) { + PluginsManifestWidgetMediator * self; + GtkButton* _tmp0_ = NULL; + GtkButton* _tmp1_ = NULL; + guint _tmp2_ = 0U; + PluginsManifestListView* _tmp3_ = NULL; + GtkTreeSelection* _tmp4_ = NULL; + guint _tmp5_ = 0U; +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR, PluginsManifestWidgetMediator); +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_signal_handlers_destroy (self); +#line 41 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp0_ = plugins_manifest_widget_mediator_get_about_button (self); +#line 41 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp1_ = _tmp0_; +#line 41 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_signal_parse_name ("clicked", gtk_button_get_type (), &_tmp2_, NULL, FALSE); +#line 41 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_signal_handlers_disconnect_matched (_tmp1_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _plugins_manifest_widget_mediator_on_about_gtk_button_clicked, self); +#line 42 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp3_ = self->priv->list; +#line 42 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp4_ = gtk_tree_view_get_selection (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_tree_view_get_type (), GtkTreeView)); +#line 42 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_signal_parse_name ("changed", gtk_tree_selection_get_type (), &_tmp5_, NULL, FALSE); +#line 42 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _plugins_manifest_widget_mediator_on_selection_changed_gtk_tree_selection_changed, self); +#line 28 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (self->priv->builder); +#line 29 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (self->priv->list); +#line 1076 "ManifestWidget.c" +} + + +GType plugins_manifest_widget_mediator_get_type (void) { + static volatile gsize plugins_manifest_widget_mediator_type_id__volatile = 0; + if (g_once_init_enter (&plugins_manifest_widget_mediator_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { plugins_value_manifest_widget_mediator_init, plugins_value_manifest_widget_mediator_free_value, plugins_value_manifest_widget_mediator_copy_value, plugins_value_manifest_widget_mediator_peek_pointer, "p", plugins_value_manifest_widget_mediator_collect_value, "p", plugins_value_manifest_widget_mediator_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PluginsManifestWidgetMediatorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) plugins_manifest_widget_mediator_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PluginsManifestWidgetMediator), 0, (GInstanceInitFunc) plugins_manifest_widget_mediator_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType plugins_manifest_widget_mediator_type_id; + plugins_manifest_widget_mediator_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PluginsManifestWidgetMediator", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&plugins_manifest_widget_mediator_type_id__volatile, plugins_manifest_widget_mediator_type_id); + } + return plugins_manifest_widget_mediator_type_id__volatile; +} + + +gpointer plugins_manifest_widget_mediator_ref (gpointer instance) { + PluginsManifestWidgetMediator* self; + self = instance; +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_atomic_int_inc (&self->ref_count); +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return instance; +#line 1101 "ManifestWidget.c" +} + + +void plugins_manifest_widget_mediator_unref (gpointer instance) { + PluginsManifestWidgetMediator* self; + self = instance; +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + PLUGINS_MANIFEST_WIDGET_MEDIATOR_GET_CLASS (self)->finalize (self); +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1114 "ManifestWidget.c" + } +} + + +static GType plugins_manifest_list_view_column_get_type (void) { + static volatile gsize plugins_manifest_list_view_column_type_id__volatile = 0; + if (g_once_init_enter (&plugins_manifest_list_view_column_type_id__volatile)) { + static const GEnumValue values[] = {{PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ENABLED, "PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ENABLED", "enabled"}, {PLUGINS_MANIFEST_LIST_VIEW_COLUMN_CAN_ENABLE, "PLUGINS_MANIFEST_LIST_VIEW_COLUMN_CAN_ENABLE", "can-enable"}, {PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ICON, "PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ICON", "icon"}, {PLUGINS_MANIFEST_LIST_VIEW_COLUMN_NAME, "PLUGINS_MANIFEST_LIST_VIEW_COLUMN_NAME", "name"}, {PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ID, "PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ID", "id"}, {PLUGINS_MANIFEST_LIST_VIEW_COLUMN_N_COLUMNS, "PLUGINS_MANIFEST_LIST_VIEW_COLUMN_N_COLUMNS", "n-columns"}, {0, NULL, NULL}}; + GType plugins_manifest_list_view_column_type_id; + plugins_manifest_list_view_column_type_id = g_enum_register_static ("PluginsManifestListViewColumn", values); + g_once_init_leave (&plugins_manifest_list_view_column_type_id__volatile, plugins_manifest_list_view_column_type_id); + } + return plugins_manifest_list_view_column_type_id__volatile; +} + + +static gint _plugins_compare_extension_point_names_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gint result; + result = plugins_compare_extension_point_names (a, b); +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return result; +#line 1136 "ManifestWidget.c" +} + + +static gint _plugins_compare_pluggable_names_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gint result; + result = plugins_compare_pluggable_names (a, b); +#line 190 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return result; +#line 1145 "ManifestWidget.c" +} + + +PluginsManifestListView* plugins_manifest_list_view_construct (GType object_type) { + PluginsManifestListView * self = NULL; + GtkTreeStore* _tmp0_ = NULL; + GtkCellRendererToggle* checkbox_renderer = NULL; + GtkCellRendererToggle* _tmp1_ = NULL; + GtkCellRendererToggle* _tmp2_ = NULL; + GtkCellRendererToggle* _tmp3_ = NULL; + GtkCellRendererPixbuf* icon_renderer = NULL; + GtkCellRendererPixbuf* _tmp4_ = NULL; + GtkCellRendererPixbuf* _tmp5_ = NULL; + GtkCellRendererPixbuf* _tmp6_ = NULL; + GtkCellRendererPixbuf* _tmp7_ = NULL; + GtkCellRendererText* text_renderer = NULL; + GtkCellRendererText* _tmp8_ = NULL; + GtkTreeViewColumn* column = NULL; + GtkTreeViewColumn* _tmp9_ = NULL; + GtkTreeViewColumn* _tmp10_ = NULL; + GtkTreeViewColumn* _tmp11_ = NULL; + GtkCellRendererToggle* _tmp12_ = NULL; + GtkTreeViewColumn* _tmp13_ = NULL; + GtkCellRendererPixbuf* _tmp14_ = NULL; + GtkTreeViewColumn* _tmp15_ = NULL; + GtkCellRendererText* _tmp16_ = NULL; + GtkTreeViewColumn* _tmp17_ = NULL; + GtkCellRendererToggle* _tmp18_ = NULL; + GtkTreeViewColumn* _tmp19_ = NULL; + GtkCellRendererToggle* _tmp20_ = NULL; + GtkTreeViewColumn* _tmp21_ = NULL; + GtkCellRendererPixbuf* _tmp22_ = NULL; + GtkTreeViewColumn* _tmp23_ = NULL; + GtkCellRendererText* _tmp24_ = NULL; + GtkTreeViewColumn* _tmp25_ = NULL; + GtkTreeSelection* _tmp26_ = NULL; + GtkIconTheme* icon_theme = NULL; + GtkIconTheme* _tmp27_ = NULL; + GError * _inner_error_ = NULL; +#line 130 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + self = (PluginsManifestListView*) g_object_new (object_type, NULL); +#line 131 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp0_ = self->priv->store; +#line 131 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_view_set_model (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GTK_TYPE_TREE_MODEL, GtkTreeModel)); +#line 133 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp1_ = (GtkCellRendererToggle*) gtk_cell_renderer_toggle_new (); +#line 133 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_object_ref_sink (_tmp1_); +#line 133 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + checkbox_renderer = _tmp1_; +#line 134 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp2_ = checkbox_renderer; +#line 134 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_cell_renderer_toggle_set_radio (_tmp2_, FALSE); +#line 135 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp3_ = checkbox_renderer; +#line 135 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_cell_renderer_toggle_set_activatable (_tmp3_, TRUE); +#line 137 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp4_ = (GtkCellRendererPixbuf*) gtk_cell_renderer_pixbuf_new (); +#line 137 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_object_ref_sink (_tmp4_); +#line 137 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + icon_renderer = _tmp4_; +#line 138 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp5_ = icon_renderer; +#line 138 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_object_set (_tmp5_, "stock-size", (guint) GTK_ICON_SIZE_MENU, NULL); +#line 139 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp6_ = icon_renderer; +#line 139 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_object_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_cell_renderer_get_type (), GtkCellRenderer), "xpad", (guint) PLUGINS_MANIFEST_LIST_VIEW_ICON_X_PADDING, NULL); +#line 140 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp7_ = icon_renderer; +#line 140 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_object_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_cell_renderer_get_type (), GtkCellRenderer), "ypad", (guint) PLUGINS_MANIFEST_LIST_VIEW_ICON_Y_PADDING, NULL); +#line 142 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp8_ = (GtkCellRendererText*) gtk_cell_renderer_text_new (); +#line 142 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_object_ref_sink (_tmp8_); +#line 142 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + text_renderer = _tmp8_; +#line 144 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp9_ = gtk_tree_view_column_new (); +#line 144 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_object_ref_sink (_tmp9_); +#line 144 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + column = _tmp9_; +#line 145 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp10_ = column; +#line 145 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_view_column_set_sizing (_tmp10_, GTK_TREE_VIEW_COLUMN_AUTOSIZE); +#line 146 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp11_ = column; +#line 146 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp12_ = checkbox_renderer; +#line 146 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_cell_layout_pack_start (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_cell_renderer_get_type (), GtkCellRenderer), FALSE); +#line 147 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp13_ = column; +#line 147 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp14_ = icon_renderer; +#line 147 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_cell_layout_pack_start (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_cell_renderer_get_type (), GtkCellRenderer), FALSE); +#line 148 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp15_ = column; +#line 148 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp16_ = text_renderer; +#line 148 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_cell_layout_pack_end (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_cell_renderer_get_type (), GtkCellRenderer), TRUE); +#line 150 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp17_ = column; +#line 150 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp18_ = checkbox_renderer; +#line 150 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_cell_layout_add_attribute (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_cell_renderer_get_type (), GtkCellRenderer), "active", (gint) PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ENABLED); +#line 151 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp19_ = column; +#line 151 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp20_ = checkbox_renderer; +#line 151 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_cell_layout_add_attribute (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, gtk_cell_renderer_get_type (), GtkCellRenderer), "visible", (gint) PLUGINS_MANIFEST_LIST_VIEW_COLUMN_CAN_ENABLE); +#line 152 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp21_ = column; +#line 152 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp22_ = icon_renderer; +#line 152 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_cell_layout_add_attribute (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, gtk_cell_renderer_get_type (), GtkCellRenderer), "pixbuf", (gint) PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ICON); +#line 153 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp23_ = column; +#line 153 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp24_ = text_renderer; +#line 153 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_cell_layout_add_attribute (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, gtk_cell_renderer_get_type (), GtkCellRenderer), "text", (gint) PLUGINS_MANIFEST_LIST_VIEW_COLUMN_NAME); +#line 155 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp25_ = column; +#line 155 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_view_append_column (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), _tmp25_); +#line 157 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_view_set_headers_visible (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), FALSE); +#line 158 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_view_set_enable_search (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), FALSE); +#line 159 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_view_set_rules_hint (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), TRUE); +#line 160 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_view_set_show_expanders (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), TRUE); +#line 161 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_view_set_reorderable (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), FALSE); +#line 162 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_view_set_enable_tree_lines (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), FALSE); +#line 163 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_view_set_grid_lines (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), GTK_TREE_VIEW_GRID_LINES_NONE); +#line 164 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp26_ = gtk_tree_view_get_selection (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView)); +#line 164 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_selection_set_mode (_tmp26_, GTK_SELECTION_BROWSE); +#line 166 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp27_ = resources_get_icon_theme_engine (); +#line 166 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + icon_theme = _tmp27_; +#line 1307 "ManifestWidget.c" + { + GeeIterator* _extension_point_it = NULL; + GeeCollection* _tmp28_ = NULL; + GeeCollection* _tmp29_ = NULL; + GeeIterator* _tmp30_ = NULL; + GeeIterator* _tmp31_ = NULL; +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp28_ = plugins_get_extension_points (_plugins_compare_extension_point_names_gcompare_data_func, NULL, NULL); +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp29_ = _tmp28_; +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp30_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp31_ = _tmp30_; +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (_tmp29_); +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _extension_point_it = _tmp31_; +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + while (TRUE) { +#line 1328 "ManifestWidget.c" + GeeIterator* _tmp32_ = NULL; + gboolean _tmp33_ = FALSE; + PluginsExtensionPoint* extension_point = NULL; + GeeIterator* _tmp34_ = NULL; + gpointer _tmp35_ = NULL; + GtkTreeIter category_iter = {0}; + GtkTreeStore* _tmp36_ = NULL; + GtkTreeIter _tmp37_ = {0}; + GdkPixbuf* icon = NULL; + PluginsExtensionPoint* _tmp38_ = NULL; + const gchar* _tmp39_ = NULL; + const gchar* _tmp40_ = NULL; + GtkTreeStore* _tmp59_ = NULL; + GtkTreeIter _tmp60_ = {0}; + PluginsExtensionPoint* _tmp61_ = NULL; + const gchar* _tmp62_ = NULL; + const gchar* _tmp63_ = NULL; + GdkPixbuf* _tmp64_ = NULL; + GeeCollection* pluggables = NULL; + PluginsExtensionPoint* _tmp65_ = NULL; + GType _tmp66_ = 0UL; + GType _tmp67_ = 0UL; + GeeCollection* _tmp68_ = NULL; +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp32_ = _extension_point_it; +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp33_ = gee_iterator_next (_tmp32_); +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (!_tmp33_) { +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + break; +#line 1360 "ManifestWidget.c" + } +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp34_ = _extension_point_it; +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp35_ = gee_iterator_get (_tmp34_); +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + extension_point = (PluginsExtensionPoint*) _tmp35_; +#line 172 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp36_ = self->priv->store; +#line 172 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_store_append (_tmp36_, &_tmp37_, NULL); +#line 172 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + category_iter = _tmp37_; +#line 174 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + icon = NULL; +#line 175 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp38_ = extension_point; +#line 175 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp39_ = plugins_extension_point_get_icon_name (_tmp38_); +#line 175 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp40_ = _tmp39_; +#line 175 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (_tmp40_ != NULL) { +#line 1384 "ManifestWidget.c" + GtkIconInfo* icon_info = NULL; + GtkIconTheme* _tmp41_ = NULL; + PluginsExtensionPoint* _tmp42_ = NULL; + const gchar* _tmp43_ = NULL; + const gchar* _tmp44_ = NULL; + GThemedIcon* _tmp45_ = NULL; + GThemedIcon* _tmp46_ = NULL; + GtkIconInfo* _tmp47_ = NULL; + GtkIconInfo* _tmp48_ = NULL; + GtkIconInfo* _tmp49_ = NULL; +#line 176 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp41_ = icon_theme; +#line 176 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp42_ = extension_point; +#line 176 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp43_ = plugins_extension_point_get_icon_name (_tmp42_); +#line 176 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp44_ = _tmp43_; +#line 176 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp45_ = (GThemedIcon*) g_themed_icon_new (_tmp44_); +#line 176 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp46_ = _tmp45_; +#line 176 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp47_ = gtk_icon_theme_lookup_by_gicon (_tmp41_, G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, G_TYPE_ICON, GIcon), PLUGINS_MANIFEST_LIST_VIEW_ICON_SIZE, 0); +#line 176 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp48_ = _tmp47_; +#line 176 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (_tmp46_); +#line 176 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + icon_info = _tmp48_; +#line 178 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp49_ = icon_info; +#line 178 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (_tmp49_ != NULL) { +#line 1419 "ManifestWidget.c" + { + GdkPixbuf* _tmp50_ = NULL; + GtkIconInfo* _tmp51_ = NULL; + GdkPixbuf* _tmp52_ = NULL; + GdkPixbuf* _tmp53_ = NULL; +#line 180 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp51_ = icon_info; +#line 180 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp52_ = gtk_icon_info_load_icon (_tmp51_, &_inner_error_); +#line 180 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp50_ = _tmp52_; +#line 180 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1433 "ManifestWidget.c" + goto __catch33_g_error; + } +#line 180 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp53_ = _tmp50_; +#line 180 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp50_ = NULL; +#line 180 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (icon); +#line 180 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + icon = _tmp53_; +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (_tmp50_); +#line 1446 "ManifestWidget.c" + } + goto __finally33; + __catch33_g_error: + { + GError* err = NULL; + PluginsExtensionPoint* _tmp54_ = NULL; + const gchar* _tmp55_ = NULL; + const gchar* _tmp56_ = NULL; + GError* _tmp57_ = NULL; + const gchar* _tmp58_ = NULL; +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + err = _inner_error_; +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _inner_error_ = NULL; +#line 182 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp54_ = extension_point; +#line 182 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp55_ = plugins_extension_point_get_icon_name (_tmp54_); +#line 182 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp56_ = _tmp55_; +#line 182 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp57_ = err; +#line 182 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp58_ = _tmp57_->message; +#line 182 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_warning ("ManifestWidget.vala:182: Unable to load icon %s: %s", _tmp56_, _tmp58_); +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_error_free0 (err); +#line 1475 "ManifestWidget.c" + } + __finally33: +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _gtk_icon_info_free0 (icon_info); +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (icon); +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _plugins_extension_point_unref0 (extension_point); +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (_extension_point_it); +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (icon_theme); +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (column); +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (text_renderer); +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (icon_renderer); +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (checkbox_renderer); +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_clear_error (&_inner_error_); +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return NULL; +#line 1504 "ManifestWidget.c" + } + } +#line 175 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _gtk_icon_info_free0 (icon_info); +#line 1509 "ManifestWidget.c" + } +#line 187 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp59_ = self->priv->store; +#line 187 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp60_ = category_iter; +#line 187 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp61_ = extension_point; +#line 187 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp62_ = plugins_extension_point_get_name (_tmp61_); +#line 187 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp63_ = _tmp62_; +#line 187 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp64_ = icon; +#line 187 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_store_set (_tmp59_, &_tmp60_, PLUGINS_MANIFEST_LIST_VIEW_COLUMN_NAME, _tmp63_, PLUGINS_MANIFEST_LIST_VIEW_COLUMN_CAN_ENABLE, FALSE, PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ICON, _tmp64_, -1); +#line 190 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp65_ = extension_point; +#line 190 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp66_ = plugins_extension_point_get_pluggable_type (_tmp65_); +#line 190 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp67_ = _tmp66_; +#line 190 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp68_ = plugins_get_pluggables_for_type (_tmp67_, _plugins_compare_pluggable_names_gcompare_data_func, NULL, NULL, TRUE); +#line 190 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + pluggables = _tmp68_; +#line 1535 "ManifestWidget.c" + { + GeeIterator* _pluggable_it = NULL; + GeeCollection* _tmp69_ = NULL; + GeeIterator* _tmp70_ = NULL; +#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp69_ = pluggables; +#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp70_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp69_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _pluggable_it = _tmp70_; +#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + while (TRUE) { +#line 1548 "ManifestWidget.c" + GeeIterator* _tmp71_ = NULL; + gboolean _tmp72_ = FALSE; + SpitPluggable* pluggable = NULL; + GeeIterator* _tmp73_ = NULL; + gpointer _tmp74_ = NULL; + gboolean enabled = FALSE; + SpitPluggable* _tmp75_ = NULL; + const gchar* _tmp76_ = NULL; + gboolean _tmp77_ = FALSE; + gboolean _tmp78_ = FALSE; + SpitPluggableInfo info = {0}; + SpitPluggable* _tmp79_ = NULL; + GdkPixbuf* _tmp80_ = NULL; + gboolean _tmp81_ = FALSE; + SpitPluggableInfo _tmp82_ = {0}; + GdkPixbuf** _tmp83_ = NULL; + gint _tmp83__length1 = 0; + GdkPixbuf* _tmp91_ = NULL; + GtkTreeIter plugin_iter = {0}; + GtkTreeStore* _tmp92_ = NULL; + GtkTreeIter _tmp93_ = {0}; + GtkTreeIter _tmp94_ = {0}; + GtkTreeStore* _tmp95_ = NULL; + GtkTreeIter _tmp96_ = {0}; + gboolean _tmp97_ = FALSE; + SpitPluggable* _tmp98_ = NULL; + const gchar* _tmp99_ = NULL; + SpitPluggable* _tmp100_ = NULL; + const gchar* _tmp101_ = NULL; + GdkPixbuf* _tmp102_ = NULL; +#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp71_ = _pluggable_it; +#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp72_ = gee_iterator_next (_tmp71_); +#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (!_tmp72_) { +#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + break; +#line 1587 "ManifestWidget.c" + } +#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp73_ = _pluggable_it; +#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp74_ = gee_iterator_get (_tmp73_); +#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + pluggable = (SpitPluggable*) _tmp74_; +#line 194 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp75_ = pluggable; +#line 194 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp76_ = spit_pluggable_get_id (_tmp75_); +#line 194 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp78_ = plugins_get_pluggable_enabled (_tmp76_, &_tmp77_); +#line 194 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + enabled = _tmp77_; +#line 194 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (!_tmp78_) { +#line 195 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (pluggable); +#line 195 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + continue; +#line 1609 "ManifestWidget.c" + } +#line 197 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + memset (&info, 0, sizeof (SpitPluggableInfo)); +#line 198 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp79_ = pluggable; +#line 198 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + spit_pluggable_get_info (_tmp79_, &info); +#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp82_ = info; +#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp83_ = _tmp82_.icons; +#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp83__length1 = _tmp82_.icons_length1; +#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (_tmp83_ != NULL) { +#line 1625 "ManifestWidget.c" + SpitPluggableInfo _tmp84_ = {0}; + GdkPixbuf** _tmp85_ = NULL; + gint _tmp85__length1 = 0; +#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp84_ = info; +#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp85_ = _tmp84_.icons; +#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp85__length1 = _tmp84_.icons_length1; +#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp81_ = _tmp85__length1 > 0; +#line 1637 "ManifestWidget.c" + } else { +#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp81_ = FALSE; +#line 1641 "ManifestWidget.c" + } +#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (_tmp81_) { +#line 1645 "ManifestWidget.c" + SpitPluggableInfo _tmp86_ = {0}; + GdkPixbuf** _tmp87_ = NULL; + gint _tmp87__length1 = 0; + GdkPixbuf* _tmp88_ = NULL; + GdkPixbuf* _tmp89_ = NULL; +#line 201 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp86_ = info; +#line 201 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp87_ = _tmp86_.icons; +#line 201 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp87__length1 = _tmp86_.icons_length1; +#line 201 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp88_ = _tmp87_[0]; +#line 201 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp89_ = _g_object_ref0 (_tmp88_); +#line 201 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (_tmp80_); +#line 201 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp80_ = _tmp89_; +#line 1665 "ManifestWidget.c" + } else { + GdkPixbuf* _tmp90_ = NULL; +#line 202 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp90_ = resources_get_icon (RESOURCES_ICON_GENERIC_PLUGIN, PLUGINS_MANIFEST_LIST_VIEW_ICON_SIZE); +#line 202 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (_tmp80_); +#line 202 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp80_ = _tmp90_; +#line 1674 "ManifestWidget.c" + } +#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp91_ = _g_object_ref0 (_tmp80_); +#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (icon); +#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + icon = _tmp91_; +#line 205 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp92_ = self->priv->store; +#line 205 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp93_ = category_iter; +#line 205 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_store_append (_tmp92_, &_tmp94_, &_tmp93_); +#line 205 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + plugin_iter = _tmp94_; +#line 207 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp95_ = self->priv->store; +#line 207 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp96_ = plugin_iter; +#line 207 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp97_ = enabled; +#line 207 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp98_ = pluggable; +#line 207 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp99_ = spit_pluggable_get_pluggable_name (_tmp98_); +#line 207 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp100_ = pluggable; +#line 207 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp101_ = spit_pluggable_get_id (_tmp100_); +#line 207 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp102_ = icon; +#line 207 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_store_set (_tmp95_, &_tmp96_, PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ENABLED, _tmp97_, PLUGINS_MANIFEST_LIST_VIEW_COLUMN_NAME, _tmp99_, PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ID, _tmp101_, PLUGINS_MANIFEST_LIST_VIEW_COLUMN_CAN_ENABLE, TRUE, PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ICON, _tmp102_, -1); +#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (_tmp80_); +#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + spit_pluggable_info_destroy (&info); +#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (pluggable); +#line 1714 "ManifestWidget.c" + } +#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (_pluggable_it); +#line 1718 "ManifestWidget.c" + } +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (pluggables); +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (icon); +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _plugins_extension_point_unref0 (extension_point); +#line 1726 "ManifestWidget.c" + } +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (_extension_point_it); +#line 1730 "ManifestWidget.c" + } +#line 212 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_view_expand_all (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView)); +#line 130 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (icon_theme); +#line 130 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (column); +#line 130 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (text_renderer); +#line 130 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (icon_renderer); +#line 130 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (checkbox_renderer); +#line 130 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return self; +#line 1746 "ManifestWidget.c" +} + + +PluginsManifestListView* plugins_manifest_list_view_new (void) { +#line 130 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return plugins_manifest_list_view_construct (PLUGINS_TYPE_MANIFEST_LIST_VIEW); +#line 1753 "ManifestWidget.c" +} + + +static gpointer _gtk_tree_path_copy0 (gpointer self) { +#line 219 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return self ? gtk_tree_path_copy (self) : NULL; +#line 1760 "ManifestWidget.c" +} + + +static void _vala_array_add50 (gchar*** array, int* length, int* size, gchar* value) { +#line 223 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if ((*length) == (*size)) { +#line 223 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 223 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 1771 "ManifestWidget.c" + } +#line 223 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + (*array)[(*length)++] = value; +#line 223 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + (*array)[*length] = NULL; +#line 1777 "ManifestWidget.c" +} + + +static void _gtk_tree_path_free0_ (gpointer var) { +#line 226 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + (var == NULL) ? NULL : (var = (gtk_tree_path_free (var), NULL)); +#line 1784 "ManifestWidget.c" +} + + +static void _g_list_free__gtk_tree_path_free0_ (GList* self) { +#line 226 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_list_foreach (self, (GFunc) _gtk_tree_path_free0_, NULL); +#line 226 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_list_free (self); +#line 1793 "ManifestWidget.c" +} + + +gchar** plugins_manifest_list_view_get_selected_ids (PluginsManifestListView* self, int* result_length1) { + gchar** result = NULL; + gchar** ids = NULL; + gchar** _tmp0_ = NULL; + gint ids_length1 = 0; + gint _ids_size_ = 0; + GList* selected = NULL; + GtkTreeSelection* _tmp1_ = NULL; + GList* _tmp2_ = NULL; + GList* _tmp3_ = NULL; + gchar** _tmp12_ = NULL; + gint _tmp12__length1 = 0; +#line 215 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_val_if_fail (PLUGINS_IS_MANIFEST_LIST_VIEW (self), NULL); +#line 216 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp0_ = g_new0 (gchar*, 0 + 1); +#line 216 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + ids = _tmp0_; +#line 216 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + ids_length1 = 0; +#line 216 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _ids_size_ = ids_length1; +#line 218 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp1_ = gtk_tree_view_get_selection (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView)); +#line 218 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp2_ = gtk_tree_selection_get_selected_rows (_tmp1_, NULL); +#line 218 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + selected = _tmp2_; +#line 219 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp3_ = selected; +#line 1827 "ManifestWidget.c" + { + GList* path_collection = NULL; + GList* path_it = NULL; +#line 219 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + path_collection = _tmp3_; +#line 219 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + for (path_it = path_collection; path_it != NULL; path_it = path_it->next) { +#line 1835 "ManifestWidget.c" + GtkTreePath* _tmp4_ = NULL; + GtkTreePath* path = NULL; +#line 219 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp4_ = _gtk_tree_path_copy0 ((GtkTreePath*) path_it->data); +#line 219 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + path = _tmp4_; +#line 1842 "ManifestWidget.c" + { + GtkTreeIter iter = {0}; + gchar* id = NULL; + GtkTreePath* _tmp5_ = NULL; + GtkTreeIter _tmp6_ = {0}; + gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; +#line 221 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp5_ = path; +#line 221 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp7_ = plugins_manifest_list_view_get_id_at_path (self, _tmp5_, &_tmp6_); +#line 221 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + iter = _tmp6_; +#line 221 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + id = _tmp7_; +#line 222 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp8_ = id; +#line 222 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (_tmp8_ != NULL) { +#line 1862 "ManifestWidget.c" + gchar** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + const gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; +#line 223 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp9_ = ids; +#line 223 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp9__length1 = ids_length1; +#line 223 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp10_ = id; +#line 223 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp11_ = g_strdup (_tmp10_); +#line 223 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _vala_array_add50 (&ids, &ids_length1, &_ids_size_, _tmp11_); +#line 1877 "ManifestWidget.c" + } +#line 219 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_free0 (id); +#line 219 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _gtk_tree_path_free0 (path); +#line 1883 "ManifestWidget.c" + } + } + } +#line 226 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp12_ = ids; +#line 226 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp12__length1 = ids_length1; +#line 226 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (result_length1) { +#line 226 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + *result_length1 = _tmp12__length1; +#line 1895 "ManifestWidget.c" + } +#line 226 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + result = _tmp12_; +#line 226 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + __g_list_free__gtk_tree_path_free0_0 (selected); +#line 226 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return result; +#line 1903 "ManifestWidget.c" +} + + +static gchar* plugins_manifest_list_view_get_id_at_path (PluginsManifestListView* self, GtkTreePath* path, GtkTreeIter* iter) { + GtkTreeIter _vala_iter = {0}; + gchar* result = NULL; + GtkTreeStore* _tmp0_ = NULL; + GtkTreePath* _tmp1_ = NULL; + GtkTreeIter _tmp2_ = {0}; + gboolean _tmp3_ = FALSE; + const gchar* id = NULL; + GtkTreeStore* _tmp4_ = NULL; + GtkTreeIter _tmp5_ = {0}; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 229 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_val_if_fail (PLUGINS_IS_MANIFEST_LIST_VIEW (self), NULL); +#line 229 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_val_if_fail (path != NULL, NULL); +#line 230 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp0_ = self->priv->store; +#line 230 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp1_ = path; +#line 230 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp3_ = gtk_tree_model_get_iter (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GTK_TYPE_TREE_MODEL, GtkTreeModel), &_tmp2_, _tmp1_); +#line 230 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _vala_iter = _tmp2_; +#line 230 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (!_tmp3_) { +#line 231 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + result = NULL; +#line 231 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (iter) { +#line 231 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + *iter = _vala_iter; +#line 1939 "ManifestWidget.c" + } +#line 231 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return result; +#line 1943 "ManifestWidget.c" + } +#line 234 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp4_ = self->priv->store; +#line 234 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp5_ = _vala_iter; +#line 234 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_model_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GTK_TYPE_TREE_MODEL, GtkTreeModel), &_tmp5_, PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ID, &id, -1); +#line 236 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp6_ = id; +#line 236 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 236 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + result = _tmp7_; +#line 236 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (iter) { +#line 236 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + *iter = _vala_iter; +#line 1961 "ManifestWidget.c" + } +#line 236 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return result; +#line 1965 "ManifestWidget.c" +} + + +static gboolean plugins_manifest_list_view_real_button_press_event (GtkWidget* base, GdkEventButton* event) { + PluginsManifestListView * self; + gboolean result = FALSE; + GtkTreePath* path = NULL; + GtkTreeViewColumn* col = NULL; + gint cellx = 0; + gint celly = 0; + GdkEventButton* _tmp0_ = NULL; + gdouble _tmp1_ = 0.0; + GdkEventButton* _tmp2_ = NULL; + gdouble _tmp3_ = 0.0; + GtkTreePath* _tmp4_ = NULL; + GtkTreeViewColumn* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gboolean _tmp8_ = FALSE; + GtkTreeViewColumn* _tmp9_ = NULL; + gboolean _tmp12_ = FALSE; + gint _tmp13_ = 0; + GtkTreeIter iter = {0}; + gchar* id = NULL; + GtkTreePath* _tmp17_ = NULL; + GtkTreeIter _tmp18_ = {0}; + gchar* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + gboolean enabled = FALSE; + const gchar* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; + gboolean _tmp25_ = FALSE; + gboolean _tmp28_ = FALSE; + const gchar* _tmp29_ = NULL; + gboolean _tmp30_ = FALSE; + GtkTreeStore* _tmp31_ = NULL; + GtkTreeIter _tmp32_ = {0}; + gboolean _tmp33_ = FALSE; +#line 247 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PLUGINS_TYPE_MANIFEST_LIST_VIEW, PluginsManifestListView); +#line 247 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp0_ = event; +#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp1_ = _tmp0_->x; +#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp2_ = event; +#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp3_ = _tmp2_->y; +#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp8_ = gtk_tree_view_get_path_at_pos (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), (gint) _tmp1_, (gint) _tmp3_, &_tmp4_, &_tmp5_, &_tmp6_, &_tmp7_); +#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _gtk_tree_path_free0 (path); +#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + path = _tmp4_; +#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (col); +#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp9_ = _g_object_ref0 (_tmp5_); +#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + col = _tmp9_; +#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + cellx = _tmp6_; +#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + celly = _tmp7_; +#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (!_tmp8_) { +#line 2034 "ManifestWidget.c" + GdkEventButton* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 254 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp10_ = event; +#line 254 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp11_ = GTK_WIDGET_CLASS (plugins_manifest_list_view_parent_class)->button_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), gtk_widget_get_type (), GtkWidget), _tmp10_); +#line 254 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + result = _tmp11_; +#line 254 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (col); +#line 254 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _gtk_tree_path_free0 (path); +#line 254 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return result; +#line 2049 "ManifestWidget.c" + } +#line 259 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp13_ = cellx; +#line 259 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (_tmp13_ < (PLUGINS_MANIFEST_LIST_VIEW_ICON_SIZE + PLUGINS_MANIFEST_LIST_VIEW_ICON_X_PADDING)) { +#line 259 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp12_ = TRUE; +#line 2057 "ManifestWidget.c" + } else { + gint _tmp14_ = 0; +#line 259 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp14_ = cellx; +#line 259 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp12_ = _tmp14_ > (2 * (PLUGINS_MANIFEST_LIST_VIEW_ICON_X_PADDING + PLUGINS_MANIFEST_LIST_VIEW_ICON_SIZE)); +#line 2064 "ManifestWidget.c" + } +#line 259 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (_tmp12_) { +#line 2068 "ManifestWidget.c" + GdkEventButton* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; +#line 260 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp15_ = event; +#line 260 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp16_ = GTK_WIDGET_CLASS (plugins_manifest_list_view_parent_class)->button_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), gtk_widget_get_type (), GtkWidget), _tmp15_); +#line 260 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + result = _tmp16_; +#line 260 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (col); +#line 260 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _gtk_tree_path_free0 (path); +#line 260 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return result; +#line 2083 "ManifestWidget.c" + } +#line 263 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp17_ = path; +#line 263 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp19_ = plugins_manifest_list_view_get_id_at_path (self, _tmp17_, &_tmp18_); +#line 263 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + iter = _tmp18_; +#line 263 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + id = _tmp19_; +#line 264 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp20_ = id; +#line 264 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (_tmp20_ == NULL) { +#line 2097 "ManifestWidget.c" + GdkEventButton* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; +#line 265 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp21_ = event; +#line 265 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp22_ = GTK_WIDGET_CLASS (plugins_manifest_list_view_parent_class)->button_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), gtk_widget_get_type (), GtkWidget), _tmp21_); +#line 265 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + result = _tmp22_; +#line 265 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_free0 (id); +#line 265 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (col); +#line 265 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _gtk_tree_path_free0 (path); +#line 265 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return result; +#line 2114 "ManifestWidget.c" + } +#line 268 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp23_ = id; +#line 268 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp25_ = plugins_get_pluggable_enabled (_tmp23_, &_tmp24_); +#line 268 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + enabled = _tmp24_; +#line 268 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (!_tmp25_) { +#line 2124 "ManifestWidget.c" + GdkEventButton* _tmp26_ = NULL; + gboolean _tmp27_ = FALSE; +#line 269 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp26_ = event; +#line 269 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp27_ = GTK_WIDGET_CLASS (plugins_manifest_list_view_parent_class)->button_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), gtk_widget_get_type (), GtkWidget), _tmp26_); +#line 269 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + result = _tmp27_; +#line 269 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_free0 (id); +#line 269 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (col); +#line 269 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _gtk_tree_path_free0 (path); +#line 269 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return result; +#line 2141 "ManifestWidget.c" + } +#line 272 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp28_ = enabled; +#line 272 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + enabled = !_tmp28_; +#line 273 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp29_ = id; +#line 273 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp30_ = enabled; +#line 273 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + plugins_set_pluggable_enabled (_tmp29_, _tmp30_); +#line 275 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp31_ = self->priv->store; +#line 275 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp32_ = iter; +#line 275 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp33_ = enabled; +#line 275 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_store_set (_tmp31_, &_tmp32_, PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ENABLED, _tmp33_, -1); +#line 277 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + result = TRUE; +#line 277 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_free0 (id); +#line 277 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (col); +#line 277 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _gtk_tree_path_free0 (path); +#line 277 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return result; +#line 2171 "ManifestWidget.c" +} + + +static void plugins_manifest_list_view_class_init (PluginsManifestListViewClass * klass) { +#line 108 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + plugins_manifest_list_view_parent_class = g_type_class_peek_parent (klass); +#line 108 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_type_class_add_private (klass, sizeof (PluginsManifestListViewPrivate)); +#line 108 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + ((GtkWidgetClass *) klass)->button_press_event = plugins_manifest_list_view_real_button_press_event; +#line 108 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + G_OBJECT_CLASS (klass)->finalize = plugins_manifest_list_view_finalize; +#line 2184 "ManifestWidget.c" +} + + +static void plugins_manifest_list_view_instance_init (PluginsManifestListView * self) { + GtkTreeStore* _tmp0_ = NULL; +#line 108 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + self->priv = PLUGINS_MANIFEST_LIST_VIEW_GET_PRIVATE (self); +#line 122 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp0_ = gtk_tree_store_new ((gint) PLUGINS_MANIFEST_LIST_VIEW_COLUMN_N_COLUMNS, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING); +#line 122 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + self->priv->store = _tmp0_; +#line 2196 "ManifestWidget.c" +} + + +static void plugins_manifest_list_view_finalize (GObject* obj) { + PluginsManifestListView * self; +#line 108 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PLUGINS_TYPE_MANIFEST_LIST_VIEW, PluginsManifestListView); +#line 122 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (self->priv->store); +#line 108 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + G_OBJECT_CLASS (plugins_manifest_list_view_parent_class)->finalize (obj); +#line 2208 "ManifestWidget.c" +} + + +GType plugins_manifest_list_view_get_type (void) { + static volatile gsize plugins_manifest_list_view_type_id__volatile = 0; + if (g_once_init_enter (&plugins_manifest_list_view_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PluginsManifestListViewClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) plugins_manifest_list_view_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PluginsManifestListView), 0, (GInstanceInitFunc) plugins_manifest_list_view_instance_init, NULL }; + GType plugins_manifest_list_view_type_id; + plugins_manifest_list_view_type_id = g_type_register_static (gtk_tree_view_get_type (), "PluginsManifestListView", &g_define_type_info, 0); + g_once_init_leave (&plugins_manifest_list_view_type_id__volatile, plugins_manifest_list_view_type_id); + } + return plugins_manifest_list_view_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + +static gint _vala_array_length (gpointer array) { + int length; + length = 0; + if (array) { + while (((gpointer*) array)[length]) { + length++; + } + } + return length; +} + + + diff --git a/src/plugins/Plugins.c b/src/plugins/Plugins.c new file mode 100644 index 0000000..0134c1f --- /dev/null +++ b/src/plugins/Plugins.c @@ -0,0 +1,4420 @@ +/* Plugins.c generated by valac 0.32.1, the Vala compiler + * generated from Plugins.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include <glib.h> +#include <glib-object.h> +#include <stdlib.h> +#include <string.h> +#include <gio/gio.h> +#include <gmodule.h> +#include "shotwell-plugin-dev-1.0.h" +#include <gee.h> +#include <gobject/gvaluecollector.h> + + +#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 _g_free0(var) (var = (g_free (var), NULL)) +typedef struct _PluginsParamSpecExtensionPoint PluginsParamSpecExtensionPoint; + +#define PLUGINS_TYPE_MODULE_REP (plugins_module_rep_get_type ()) +#define PLUGINS_MODULE_REP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLUGINS_TYPE_MODULE_REP, PluginsModuleRep)) +#define PLUGINS_MODULE_REP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLUGINS_TYPE_MODULE_REP, PluginsModuleRepClass)) +#define PLUGINS_IS_MODULE_REP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLUGINS_TYPE_MODULE_REP)) +#define PLUGINS_IS_MODULE_REP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLUGINS_TYPE_MODULE_REP)) +#define PLUGINS_MODULE_REP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLUGINS_TYPE_MODULE_REP, PluginsModuleRepClass)) + +typedef struct _PluginsModuleRep PluginsModuleRep; +typedef struct _PluginsModuleRepClass PluginsModuleRepClass; +typedef struct _PluginsModuleRepPrivate PluginsModuleRepPrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_module_close0(var) ((var == NULL) ? NULL : (var = (g_module_close (var), NULL))) +#define _plugins_module_rep_unref0(var) ((var == NULL) ? NULL : (var = (plugins_module_rep_unref (var), NULL))) +typedef struct _PluginsParamSpecModuleRep PluginsParamSpecModuleRep; + +#define PLUGINS_TYPE_PLUGGABLE_REP (plugins_pluggable_rep_get_type ()) +#define PLUGINS_PLUGGABLE_REP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLUGINS_TYPE_PLUGGABLE_REP, PluginsPluggableRep)) +#define PLUGINS_PLUGGABLE_REP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLUGINS_TYPE_PLUGGABLE_REP, PluginsPluggableRepClass)) +#define PLUGINS_IS_PLUGGABLE_REP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLUGINS_TYPE_PLUGGABLE_REP)) +#define PLUGINS_IS_PLUGGABLE_REP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLUGINS_TYPE_PLUGGABLE_REP)) +#define PLUGINS_PLUGGABLE_REP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLUGINS_TYPE_PLUGGABLE_REP, PluginsPluggableRepClass)) + +typedef struct _PluginsPluggableRep PluginsPluggableRep; +typedef struct _PluginsPluggableRepClass PluginsPluggableRepClass; +typedef struct _PluginsPluggableRepPrivate PluginsPluggableRepPrivate; + +#define TYPE_FUZZY_PROPERTY_STATE (fuzzy_property_state_get_type ()) + +#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; + +#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 _PluginsParamSpecPluggableRep PluginsParamSpecPluggableRep; +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#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 _plugins_notifier_unref0(var) ((var == NULL) ? NULL : (var = (plugins_notifier_unref (var), NULL))) +typedef struct _PluginsParamSpecNotifier PluginsParamSpecNotifier; +#define _plugins_extension_point_unref0(var) ((var == NULL) ? NULL : (var = (plugins_extension_point_unref (var), NULL))) +#define _plugins_pluggable_rep_unref0(var) ((var == NULL) ? NULL : (var = (plugins_pluggable_rep_unref (var), NULL))) + +#define TYPE_PREPARE_INPUT_TEXT_OPTIONS (prepare_input_text_options_get_type ()) +#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); +#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; } +#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; } +#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); + +struct _PluginsExtensionPoint { + GTypeInstance parent_instance; + volatile int ref_count; + PluginsExtensionPointPrivate * priv; +}; + +struct _PluginsExtensionPointClass { + GTypeClass parent_class; + void (*finalize) (PluginsExtensionPoint *self); +}; + +struct _PluginsExtensionPointPrivate { + GType _pluggable_type; + gchar* _name; + gchar* _icon_name; + gchar** _core_ids; + gint _core_ids_length1; + gint __core_ids_size_; +}; + +struct _PluginsParamSpecExtensionPoint { + GParamSpec parent_instance; +}; + +struct _PluginsModuleRep { + GTypeInstance parent_instance; + volatile int ref_count; + PluginsModuleRepPrivate * priv; + GFile* file; + GModule* module; + SpitModule* spit_module; + gint spit_interface; + gchar* id; +}; + +struct _PluginsModuleRepClass { + GTypeClass parent_class; + void (*finalize) (PluginsModuleRep *self); +}; + +struct _PluginsParamSpecModuleRep { + GParamSpec parent_instance; +}; + +struct _PluginsPluggableRep { + GTypeInstance parent_instance; + volatile int ref_count; + PluginsPluggableRepPrivate * priv; +}; + +struct _PluginsPluggableRepClass { + GTypeClass parent_class; + void (*finalize) (PluginsPluggableRep *self); +}; + +struct _PluginsPluggableRepPrivate { + SpitPluggable* _pluggable; + gchar* _id; + gboolean _is_core; + gboolean _activated; + gboolean enabled; +}; + +typedef enum { + FUZZY_PROPERTY_STATE_ENABLED, + FUZZY_PROPERTY_STATE_DISABLED, + FUZZY_PROPERTY_STATE_UNKNOWN +} FuzzyPropertyState; + +struct _PluginsParamSpecPluggableRep { + GParamSpec parent_instance; +}; + +struct _PluginsNotifier { + GTypeInstance parent_instance; + volatile int ref_count; + PluginsNotifierPrivate * priv; +}; + +struct _PluginsNotifierClass { + GTypeClass parent_class; + void (*finalize) (PluginsNotifier *self); +}; + +struct _PluginsParamSpecNotifier { + GParamSpec parent_instance; +}; + +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; + + +static gpointer plugins_extension_point_parent_class = NULL; +static gpointer plugins_module_rep_parent_class = NULL; +static gpointer plugins_pluggable_rep_parent_class = NULL; +extern GFile** plugins_search_dirs; +extern gint plugins_search_dirs_length1; +GFile** plugins_search_dirs = NULL; +gint plugins_search_dirs_length1 = 0; +static gint _plugins_search_dirs_size_ = 0; +extern GeeHashMap* plugins_module_table; +GeeHashMap* plugins_module_table = NULL; +extern GeeHashMap* plugins_pluggable_table; +GeeHashMap* plugins_pluggable_table = NULL; +extern GeeHashMap* plugins_extension_points; +GeeHashMap* plugins_extension_points = NULL; +extern GeeHashSet* plugins_core_ids; +GeeHashSet* plugins_core_ids = NULL; +static gpointer plugins_notifier_parent_class = NULL; +static PluginsNotifier* plugins_notifier_instance; +static PluginsNotifier* plugins_notifier_instance = NULL; + +#define PLUGINS_MIN_SPIT_INTERFACE 0 +#define PLUGINS_MAX_SPIT_INTERFACE 0 +gpointer plugins_extension_point_ref (gpointer instance); +void plugins_extension_point_unref (gpointer instance); +GParamSpec* plugins_param_spec_extension_point (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void plugins_value_set_extension_point (GValue* value, gpointer v_object); +void plugins_value_take_extension_point (GValue* value, gpointer v_object); +gpointer plugins_value_get_extension_point (const GValue* value); +GType plugins_extension_point_get_type (void) G_GNUC_CONST; +#define PLUGINS_EXTENSION_POINT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PLUGINS_TYPE_EXTENSION_POINT, PluginsExtensionPointPrivate)) +enum { + PLUGINS_EXTENSION_POINT_DUMMY_PROPERTY +}; +PluginsExtensionPoint* plugins_extension_point_new (GType pluggable_type, const gchar* name, const gchar* icon_name, gchar** core_ids, int core_ids_length1); +PluginsExtensionPoint* plugins_extension_point_construct (GType object_type, GType pluggable_type, const gchar* name, const gchar* icon_name, gchar** core_ids, int core_ids_length1); +static void plugins_extension_point_set_pluggable_type (PluginsExtensionPoint* self, GType value); +static void plugins_extension_point_set_name (PluginsExtensionPoint* self, const gchar* value); +static void plugins_extension_point_set_icon_name (PluginsExtensionPoint* self, const gchar* value); +static void plugins_extension_point_set_core_ids (PluginsExtensionPoint* self, gchar** value, int value_length1); +GType plugins_extension_point_get_pluggable_type (PluginsExtensionPoint* self); +const gchar* plugins_extension_point_get_name (PluginsExtensionPoint* self); +const gchar* plugins_extension_point_get_icon_name (PluginsExtensionPoint* self); +gchar** plugins_extension_point_get_core_ids (PluginsExtensionPoint* self, int* result_length1); +static gchar** _vala_array_dup18 (gchar** self, int length); +static void plugins_extension_point_finalize (PluginsExtensionPoint* obj); +gpointer plugins_module_rep_ref (gpointer instance); +void plugins_module_rep_unref (gpointer instance); +GParamSpec* plugins_param_spec_module_rep (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void plugins_value_set_module_rep (GValue* value, gpointer v_object); +void plugins_value_take_module_rep (GValue* value, gpointer v_object); +gpointer plugins_value_get_module_rep (const GValue* value); +GType plugins_module_rep_get_type (void) G_GNUC_CONST; +enum { + PLUGINS_MODULE_REP_DUMMY_PROPERTY +}; +static PluginsModuleRep* plugins_module_rep_new (GFile* file); +static PluginsModuleRep* plugins_module_rep_construct (GType object_type, GFile* file); +PluginsModuleRep* plugins_module_rep_open (GFile* file); +static void plugins_module_rep_finalize (PluginsModuleRep* obj); +gpointer plugins_pluggable_rep_ref (gpointer instance); +void plugins_pluggable_rep_unref (gpointer instance); +GParamSpec* plugins_param_spec_pluggable_rep (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void plugins_value_set_pluggable_rep (GValue* value, gpointer v_object); +void plugins_value_take_pluggable_rep (GValue* value, gpointer v_object); +gpointer plugins_value_get_pluggable_rep (const GValue* value); +GType plugins_pluggable_rep_get_type (void) G_GNUC_CONST; +#define PLUGINS_PLUGGABLE_REP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PLUGINS_TYPE_PLUGGABLE_REP, PluginsPluggableRepPrivate)) +enum { + PLUGINS_PLUGGABLE_REP_DUMMY_PROPERTY +}; +PluginsPluggableRep* plugins_pluggable_rep_new (SpitPluggable* pluggable); +PluginsPluggableRep* plugins_pluggable_rep_construct (GType object_type, SpitPluggable* pluggable); +static void plugins_pluggable_rep_set_pluggable (PluginsPluggableRep* self, SpitPluggable* value); +static void plugins_pluggable_rep_set_id (PluginsPluggableRep* self, const gchar* value); +void plugins_pluggable_rep_activate (PluginsPluggableRep* self); +gboolean plugins_is_core_pluggable (SpitPluggable* pluggable); +SpitPluggable* plugins_pluggable_rep_get_pluggable (PluginsPluggableRep* self); +static void plugins_pluggable_rep_set_is_core (PluginsPluggableRep* self, gboolean value); +GType fuzzy_property_state_get_type (void) G_GNUC_CONST; +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +FuzzyPropertyState configuration_facade_is_plugin_enabled (ConfigurationFacade* self, const gchar* id); +const gchar* plugins_pluggable_rep_get_id (PluginsPluggableRep* self); +gboolean plugins_pluggable_rep_get_is_core (PluginsPluggableRep* self); +static void plugins_pluggable_rep_set_activated (PluginsPluggableRep* self, gboolean value); +gboolean plugins_pluggable_rep_is_enabled (PluginsPluggableRep* self); +gboolean plugins_pluggable_rep_set_enabled (PluginsPluggableRep* self, gboolean enabled); +void configuration_facade_set_plugin_enabled (ConfigurationFacade* self, const gchar* id, gboolean enabled); +gboolean plugins_pluggable_rep_get_activated (PluginsPluggableRep* self); +static void plugins_pluggable_rep_finalize (PluginsPluggableRep* obj); +void plugins_init (GError** error); +GFile* app_dirs_get_user_plugins_dir (void); +static void _vala_array_add47 (GFile*** array, int* length, int* size, GFile* value); +GFile* app_dirs_get_system_plugins_dir (void); +static void _vala_array_add48 (GFile*** array, int* length, int* size, GFile* value); +void plugins_search_for_plugins (GFile* dir, GError** error); +void plugins_terminate (void); +gpointer plugins_notifier_ref (gpointer instance); +void plugins_notifier_unref (gpointer instance); +GParamSpec* plugins_param_spec_notifier (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void plugins_value_set_notifier (GValue* value, gpointer v_object); +void plugins_value_take_notifier (GValue* value, gpointer v_object); +gpointer plugins_value_get_notifier (const GValue* value); +GType plugins_notifier_get_type (void) G_GNUC_CONST; +enum { + PLUGINS_NOTIFIER_DUMMY_PROPERTY +}; +static PluginsNotifier* plugins_notifier_new (void); +static PluginsNotifier* plugins_notifier_construct (GType object_type); +PluginsNotifier* plugins_notifier_get_instance (void); +static void g_cclosure_user_marshal_VOID__OBJECT_BOOLEAN (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void plugins_notifier_finalize (PluginsNotifier* obj); +void plugins_register_extension_point (GType type, const gchar* name, const gchar* icon_name, gchar** core_ids, int core_ids_length1); +GeeCollection* plugins_get_pluggables (gboolean include_disabled); +PluginsModuleRep* plugins_get_module_for_pluggable (SpitPluggable* needle); +static SpitPluggable** _vala_array_dup19 (SpitPluggable** self, int length); +gchar* plugins_get_pluggable_module_id (SpitPluggable* needle); +GeeCollection* plugins_get_extension_points (GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify); +GeeCollection* plugins_get_pluggables_for_type (GType type, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify, gboolean include_disabled); +gchar* plugins_get_pluggable_name (const gchar* id); +gboolean plugins_get_pluggable_info (const gchar* id, SpitPluggableInfo* info); +gboolean plugins_get_pluggable_enabled (const gchar* id, gboolean* enabled); +void plugins_set_pluggable_enabled (const gchar* id, gboolean enabled); +GFile* plugins_get_pluggable_module_file (SpitPluggable* pluggable); +gint plugins_compare_pluggable_names (void* a, void* b); +gint plugins_compare_extension_point_names (void* a, void* b); +gboolean plugins_is_shared_library (GFile* file); +void disassemble_filename (const gchar* basename, gchar** name, gchar** ext); +#define UTIL_FILE_ATTRIBUTES "standard::*,time::*,id::file,id::filesystem,etag::value" +void plugins_load_module (GFile* file); +GType prepare_input_text_options_get_type (void) G_GNUC_CONST; +gchar* prepare_input_text (const gchar* text, PrepareInputTextOptions options, gint dest_length); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + +const gchar* PLUGINS_SHARED_LIB_EXTS[2] = {"so", "la"}; + +PluginsExtensionPoint* plugins_extension_point_construct (GType object_type, GType pluggable_type, const gchar* name, const gchar* icon_name, gchar** core_ids, int core_ids_length1) { + PluginsExtensionPoint* self = NULL; + GType _tmp0_ = 0UL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar** _tmp3_ = NULL; + gint _tmp3__length1 = 0; +#line 25 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 25 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self = (PluginsExtensionPoint*) g_type_create_instance (object_type); +#line 26 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = pluggable_type; +#line 26 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_extension_point_set_pluggable_type (self, _tmp0_); +#line 27 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = name; +#line 27 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_extension_point_set_name (self, _tmp1_); +#line 28 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = icon_name; +#line 28 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_extension_point_set_icon_name (self, _tmp2_); +#line 29 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = core_ids; +#line 29 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3__length1 = core_ids_length1; +#line 29 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_extension_point_set_core_ids (self, _tmp3_, _tmp3__length1); +#line 25 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return self; +#line 374 "Plugins.c" +} + + +PluginsExtensionPoint* plugins_extension_point_new (GType pluggable_type, const gchar* name, const gchar* icon_name, gchar** core_ids, int core_ids_length1) { +#line 25 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return plugins_extension_point_construct (PLUGINS_TYPE_EXTENSION_POINT, pluggable_type, name, icon_name, core_ids, core_ids_length1); +#line 381 "Plugins.c" +} + + +GType plugins_extension_point_get_pluggable_type (PluginsExtensionPoint* self) { + GType result; + GType _tmp0_ = 0UL; +#line 19 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (PLUGINS_IS_EXTENSION_POINT (self), 0UL); +#line 19 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = self->priv->_pluggable_type; +#line 19 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp0_; +#line 19 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 396 "Plugins.c" +} + + +static void plugins_extension_point_set_pluggable_type (PluginsExtensionPoint* self, GType value) { + GType _tmp0_ = 0UL; +#line 19 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (PLUGINS_IS_EXTENSION_POINT (self)); +#line 19 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = value; +#line 19 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->_pluggable_type = _tmp0_; +#line 408 "Plugins.c" +} + + +const gchar* plugins_extension_point_get_name (PluginsExtensionPoint* self) { + const gchar* result; + const gchar* _tmp0_ = NULL; +#line 21 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (PLUGINS_IS_EXTENSION_POINT (self), NULL); +#line 21 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = self->priv->_name; +#line 21 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp0_; +#line 21 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 423 "Plugins.c" +} + + +static void plugins_extension_point_set_name (PluginsExtensionPoint* self, const gchar* value) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 21 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (PLUGINS_IS_EXTENSION_POINT (self)); +#line 21 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = value; +#line 21 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 21 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (self->priv->_name); +#line 21 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->_name = _tmp1_; +#line 440 "Plugins.c" +} + + +const gchar* plugins_extension_point_get_icon_name (PluginsExtensionPoint* self) { + const gchar* result; + const gchar* _tmp0_ = NULL; +#line 22 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (PLUGINS_IS_EXTENSION_POINT (self), NULL); +#line 22 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = self->priv->_icon_name; +#line 22 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp0_; +#line 22 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 455 "Plugins.c" +} + + +static void plugins_extension_point_set_icon_name (PluginsExtensionPoint* self, const gchar* value) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 22 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (PLUGINS_IS_EXTENSION_POINT (self)); +#line 22 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = value; +#line 22 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 22 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (self->priv->_icon_name); +#line 22 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->_icon_name = _tmp1_; +#line 472 "Plugins.c" +} + + +gchar** plugins_extension_point_get_core_ids (PluginsExtensionPoint* self, int* result_length1) { + gchar** result; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (PLUGINS_IS_EXTENSION_POINT (self), NULL); +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = self->priv->_core_ids; +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0__length1 = self->priv->_core_ids_length1; +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = _tmp0_; +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1__length1 = _tmp0__length1; +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (result_length1) { +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *result_length1 = _tmp1__length1; +#line 496 "Plugins.c" + } +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp1_; +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 502 "Plugins.c" +} + + +static gchar** _vala_array_dup18 (gchar** self, int length) { + gchar** result; + int i; +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = g_new0 (gchar*, length + 1); +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + for (i = 0; i < length; i++) { +#line 513 "Plugins.c" + gchar* _tmp0_ = NULL; +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = g_strdup (self[i]); +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result[i] = _tmp0_; +#line 519 "Plugins.c" + } +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 523 "Plugins.c" +} + + +static void plugins_extension_point_set_core_ids (PluginsExtensionPoint* self, gchar** value, int value_length1) { + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (PLUGINS_IS_EXTENSION_POINT (self)); +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = value; +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0__length1 = value_length1; +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup18 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_); +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1__length1 = _tmp0__length1; +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->_core_ids = (_vala_array_free (self->priv->_core_ids, self->priv->_core_ids_length1, (GDestroyNotify) g_free), NULL); +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->_core_ids = _tmp1_; +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->_core_ids_length1 = _tmp1__length1; +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->__core_ids_size_ = self->priv->_core_ids_length1; +#line 550 "Plugins.c" +} + + +static void plugins_value_extension_point_init (GValue* value) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 557 "Plugins.c" +} + + +static void plugins_value_extension_point_free_value (GValue* value) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (value->data[0].v_pointer) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_extension_point_unref (value->data[0].v_pointer); +#line 566 "Plugins.c" + } +} + + +static void plugins_value_extension_point_copy_value (const GValue* src_value, GValue* dest_value) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (src_value->data[0].v_pointer) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + dest_value->data[0].v_pointer = plugins_extension_point_ref (src_value->data[0].v_pointer); +#line 576 "Plugins.c" + } else { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + dest_value->data[0].v_pointer = NULL; +#line 580 "Plugins.c" + } +} + + +static gpointer plugins_value_extension_point_peek_pointer (const GValue* value) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return value->data[0].v_pointer; +#line 588 "Plugins.c" +} + + +static gchar* plugins_value_extension_point_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (collect_values[0].v_pointer) { +#line 595 "Plugins.c" + PluginsExtensionPoint* object; + object = collect_values[0].v_pointer; +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (object->parent_instance.g_class == NULL) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 602 "Plugins.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 606 "Plugins.c" + } +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = plugins_extension_point_ref (object); +#line 610 "Plugins.c" + } else { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 614 "Plugins.c" + } +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return NULL; +#line 618 "Plugins.c" +} + + +static gchar* plugins_value_extension_point_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PluginsExtensionPoint** object_p; + object_p = collect_values[0].v_pointer; +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!object_p) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 629 "Plugins.c" + } +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!value->data[0].v_pointer) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *object_p = NULL; +#line 635 "Plugins.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *object_p = value->data[0].v_pointer; +#line 639 "Plugins.c" + } else { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *object_p = plugins_extension_point_ref (value->data[0].v_pointer); +#line 643 "Plugins.c" + } +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return NULL; +#line 647 "Plugins.c" +} + + +GParamSpec* plugins_param_spec_extension_point (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PluginsParamSpecExtensionPoint* spec; +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (g_type_is_a (object_type, PLUGINS_TYPE_EXTENSION_POINT), NULL); +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return G_PARAM_SPEC (spec); +#line 661 "Plugins.c" +} + + +gpointer plugins_value_get_extension_point (const GValue* value) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_EXTENSION_POINT), NULL); +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return value->data[0].v_pointer; +#line 670 "Plugins.c" +} + + +void plugins_value_set_extension_point (GValue* value, gpointer v_object) { + PluginsExtensionPoint* old; +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_EXTENSION_POINT)); +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + old = value->data[0].v_pointer; +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (v_object) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PLUGINS_TYPE_EXTENSION_POINT)); +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = v_object; +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_extension_point_ref (value->data[0].v_pointer); +#line 690 "Plugins.c" + } else { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 694 "Plugins.c" + } +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (old) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_extension_point_unref (old); +#line 700 "Plugins.c" + } +} + + +void plugins_value_take_extension_point (GValue* value, gpointer v_object) { + PluginsExtensionPoint* old; +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_EXTENSION_POINT)); +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + old = value->data[0].v_pointer; +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (v_object) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PLUGINS_TYPE_EXTENSION_POINT)); +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = v_object; +#line 719 "Plugins.c" + } else { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 723 "Plugins.c" + } +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (old) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_extension_point_unref (old); +#line 729 "Plugins.c" + } +} + + +static void plugins_extension_point_class_init (PluginsExtensionPointClass * klass) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_extension_point_parent_class = g_type_class_peek_parent (klass); +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + ((PluginsExtensionPointClass *) klass)->finalize = plugins_extension_point_finalize; +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_type_class_add_private (klass, sizeof (PluginsExtensionPointPrivate)); +#line 741 "Plugins.c" +} + + +static void plugins_extension_point_instance_init (PluginsExtensionPoint * self) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv = PLUGINS_EXTENSION_POINT_GET_PRIVATE (self); +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->ref_count = 1; +#line 750 "Plugins.c" +} + + +static void plugins_extension_point_finalize (PluginsExtensionPoint* obj) { + PluginsExtensionPoint * self; +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PLUGINS_TYPE_EXTENSION_POINT, PluginsExtensionPoint); +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_signal_handlers_destroy (self); +#line 21 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (self->priv->_name); +#line 22 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (self->priv->_icon_name); +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->_core_ids = (_vala_array_free (self->priv->_core_ids, self->priv->_core_ids_length1, (GDestroyNotify) g_free), NULL); +#line 766 "Plugins.c" +} + + +GType plugins_extension_point_get_type (void) { + static volatile gsize plugins_extension_point_type_id__volatile = 0; + if (g_once_init_enter (&plugins_extension_point_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { plugins_value_extension_point_init, plugins_value_extension_point_free_value, plugins_value_extension_point_copy_value, plugins_value_extension_point_peek_pointer, "p", plugins_value_extension_point_collect_value, "p", plugins_value_extension_point_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PluginsExtensionPointClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) plugins_extension_point_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PluginsExtensionPoint), 0, (GInstanceInitFunc) plugins_extension_point_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType plugins_extension_point_type_id; + plugins_extension_point_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PluginsExtensionPoint", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&plugins_extension_point_type_id__volatile, plugins_extension_point_type_id); + } + return plugins_extension_point_type_id__volatile; +} + + +gpointer plugins_extension_point_ref (gpointer instance) { + PluginsExtensionPoint* self; + self = instance; +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_atomic_int_inc (&self->ref_count); +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return instance; +#line 791 "Plugins.c" +} + + +void plugins_extension_point_unref (gpointer instance) { + PluginsExtensionPoint* self; + self = instance; +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + PLUGINS_EXTENSION_POINT_GET_CLASS (self)->finalize (self); +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 804 "Plugins.c" + } +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 41 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return self ? g_object_ref (self) : NULL; +#line 812 "Plugins.c" +} + + +static PluginsModuleRep* plugins_module_rep_construct (GType object_type, GFile* file) { + PluginsModuleRep* self = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + GModule* _tmp5_ = NULL; +#line 40 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 40 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self = (PluginsModuleRep*) g_type_create_instance (object_type); +#line 41 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = file; +#line 41 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 41 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (self->file); +#line 41 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->file = _tmp1_; +#line 43 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = file; +#line 43 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = g_file_get_path (_tmp2_); +#line 43 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = _tmp3_; +#line 43 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = g_module_open (_tmp4_, G_MODULE_BIND_LAZY); +#line 43 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_module_close0 (self->module); +#line 43 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->module = _tmp5_; +#line 43 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (_tmp4_); +#line 40 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return self; +#line 852 "Plugins.c" +} + + +static PluginsModuleRep* plugins_module_rep_new (GFile* file) { +#line 40 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return plugins_module_rep_construct (PLUGINS_TYPE_MODULE_REP, file); +#line 859 "Plugins.c" +} + + +static gpointer _plugins_module_rep_ref0 (gpointer self) { +#line 57 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return self ? plugins_module_rep_ref (self) : NULL; +#line 866 "Plugins.c" +} + + +PluginsModuleRep* plugins_module_rep_open (GFile* file) { + PluginsModuleRep* result = NULL; + PluginsModuleRep* module_rep = NULL; + GFile* _tmp0_ = NULL; + PluginsModuleRep* _tmp1_ = NULL; + PluginsModuleRep* _tmp2_ = NULL; + PluginsModuleRep* _tmp3_ = NULL; + GModule* _tmp4_ = NULL; + PluginsModuleRep* _tmp6_ = NULL; +#line 54 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 55 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = file; +#line 55 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = plugins_module_rep_new (_tmp0_); +#line 55 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + module_rep = _tmp1_; +#line 57 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = module_rep; +#line 57 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = _tmp3_->module; +#line 57 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp4_ != NULL) { +#line 893 "Plugins.c" + PluginsModuleRep* _tmp5_ = NULL; +#line 57 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = module_rep; +#line 57 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = _tmp5_; +#line 899 "Plugins.c" + } else { +#line 57 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = NULL; +#line 903 "Plugins.c" + } +#line 57 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = _plugins_module_rep_ref0 (_tmp2_); +#line 57 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp6_; +#line 57 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_module_rep_unref0 (module_rep); +#line 57 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 913 "Plugins.c" +} + + +static void plugins_value_module_rep_init (GValue* value) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 920 "Plugins.c" +} + + +static void plugins_value_module_rep_free_value (GValue* value) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (value->data[0].v_pointer) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_module_rep_unref (value->data[0].v_pointer); +#line 929 "Plugins.c" + } +} + + +static void plugins_value_module_rep_copy_value (const GValue* src_value, GValue* dest_value) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (src_value->data[0].v_pointer) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + dest_value->data[0].v_pointer = plugins_module_rep_ref (src_value->data[0].v_pointer); +#line 939 "Plugins.c" + } else { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + dest_value->data[0].v_pointer = NULL; +#line 943 "Plugins.c" + } +} + + +static gpointer plugins_value_module_rep_peek_pointer (const GValue* value) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return value->data[0].v_pointer; +#line 951 "Plugins.c" +} + + +static gchar* plugins_value_module_rep_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (collect_values[0].v_pointer) { +#line 958 "Plugins.c" + PluginsModuleRep* object; + object = collect_values[0].v_pointer; +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (object->parent_instance.g_class == NULL) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 965 "Plugins.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 969 "Plugins.c" + } +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = plugins_module_rep_ref (object); +#line 973 "Plugins.c" + } else { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 977 "Plugins.c" + } +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return NULL; +#line 981 "Plugins.c" +} + + +static gchar* plugins_value_module_rep_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PluginsModuleRep** object_p; + object_p = collect_values[0].v_pointer; +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!object_p) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 992 "Plugins.c" + } +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!value->data[0].v_pointer) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *object_p = NULL; +#line 998 "Plugins.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *object_p = value->data[0].v_pointer; +#line 1002 "Plugins.c" + } else { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *object_p = plugins_module_rep_ref (value->data[0].v_pointer); +#line 1006 "Plugins.c" + } +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return NULL; +#line 1010 "Plugins.c" +} + + +GParamSpec* plugins_param_spec_module_rep (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PluginsParamSpecModuleRep* spec; +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (g_type_is_a (object_type, PLUGINS_TYPE_MODULE_REP), NULL); +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return G_PARAM_SPEC (spec); +#line 1024 "Plugins.c" +} + + +gpointer plugins_value_get_module_rep (const GValue* value) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_MODULE_REP), NULL); +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return value->data[0].v_pointer; +#line 1033 "Plugins.c" +} + + +void plugins_value_set_module_rep (GValue* value, gpointer v_object) { + PluginsModuleRep* old; +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_MODULE_REP)); +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + old = value->data[0].v_pointer; +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (v_object) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PLUGINS_TYPE_MODULE_REP)); +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = v_object; +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_module_rep_ref (value->data[0].v_pointer); +#line 1053 "Plugins.c" + } else { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 1057 "Plugins.c" + } +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (old) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_module_rep_unref (old); +#line 1063 "Plugins.c" + } +} + + +void plugins_value_take_module_rep (GValue* value, gpointer v_object) { + PluginsModuleRep* old; +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_MODULE_REP)); +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + old = value->data[0].v_pointer; +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (v_object) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PLUGINS_TYPE_MODULE_REP)); +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = v_object; +#line 1082 "Plugins.c" + } else { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 1086 "Plugins.c" + } +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (old) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_module_rep_unref (old); +#line 1092 "Plugins.c" + } +} + + +static void plugins_module_rep_class_init (PluginsModuleRepClass * klass) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_module_rep_parent_class = g_type_class_peek_parent (klass); +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + ((PluginsModuleRepClass *) klass)->finalize = plugins_module_rep_finalize; +#line 1102 "Plugins.c" +} + + +static void plugins_module_rep_instance_init (PluginsModuleRep * self) { +#line 36 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->spit_module = NULL; +#line 37 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->spit_interface = SPIT_UNSUPPORTED_INTERFACE; +#line 38 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->id = NULL; +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->ref_count = 1; +#line 1115 "Plugins.c" +} + + +static void plugins_module_rep_finalize (PluginsModuleRep* obj) { + PluginsModuleRep * self; +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PLUGINS_TYPE_MODULE_REP, PluginsModuleRep); +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_signal_handlers_destroy (self); +#line 48 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (self->spit_module); +#line 48 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->spit_module = NULL; +#line 34 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (self->file); +#line 35 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_module_close0 (self->module); +#line 36 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (self->spit_module); +#line 38 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (self->id); +#line 1137 "Plugins.c" +} + + +GType plugins_module_rep_get_type (void) { + static volatile gsize plugins_module_rep_type_id__volatile = 0; + if (g_once_init_enter (&plugins_module_rep_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { plugins_value_module_rep_init, plugins_value_module_rep_free_value, plugins_value_module_rep_copy_value, plugins_value_module_rep_peek_pointer, "p", plugins_value_module_rep_collect_value, "p", plugins_value_module_rep_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PluginsModuleRepClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) plugins_module_rep_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PluginsModuleRep), 0, (GInstanceInitFunc) plugins_module_rep_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType plugins_module_rep_type_id; + plugins_module_rep_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PluginsModuleRep", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&plugins_module_rep_type_id__volatile, plugins_module_rep_type_id); + } + return plugins_module_rep_type_id__volatile; +} + + +gpointer plugins_module_rep_ref (gpointer instance) { + PluginsModuleRep* self; + self = instance; +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_atomic_int_inc (&self->ref_count); +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return instance; +#line 1162 "Plugins.c" +} + + +void plugins_module_rep_unref (gpointer instance) { + PluginsModuleRep* self; + self = instance; +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + PLUGINS_MODULE_REP_GET_CLASS (self)->finalize (self); +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1175 "Plugins.c" + } +} + + +PluginsPluggableRep* plugins_pluggable_rep_construct (GType object_type, SpitPluggable* pluggable) { + PluginsPluggableRep* self = NULL; + SpitPluggable* _tmp0_ = NULL; + SpitPluggable* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; +#line 70 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (SPIT_IS_PLUGGABLE (pluggable), NULL); +#line 70 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self = (PluginsPluggableRep*) g_type_create_instance (object_type); +#line 71 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = pluggable; +#line 71 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_pluggable_rep_set_pluggable (self, _tmp0_); +#line 72 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = pluggable; +#line 72 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = spit_pluggable_get_id (_tmp1_); +#line 72 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_pluggable_rep_set_id (self, _tmp2_); +#line 70 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return self; +#line 1201 "Plugins.c" +} + + +PluginsPluggableRep* plugins_pluggable_rep_new (SpitPluggable* pluggable) { +#line 70 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return plugins_pluggable_rep_construct (PLUGINS_TYPE_PLUGGABLE_REP, pluggable); +#line 1208 "Plugins.c" +} + + +void plugins_pluggable_rep_activate (PluginsPluggableRep* self) { + SpitPluggable* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + FuzzyPropertyState saved_state = 0; + ConfigFacade* _tmp2_ = NULL; + ConfigFacade* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + FuzzyPropertyState _tmp5_ = 0; + FuzzyPropertyState _tmp6_ = 0; + gboolean _tmp7_ = FALSE; + gboolean _tmp8_ = FALSE; + gboolean _tmp9_ = FALSE; + SpitPluggable* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 75 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (PLUGINS_IS_PLUGGABLE_REP (self)); +#line 78 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = self->priv->_pluggable; +#line 78 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = plugins_is_core_pluggable (_tmp0_); +#line 78 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_pluggable_rep_set_is_core (self, _tmp1_); +#line 80 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = config_facade_get_instance (); +#line 80 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = _tmp2_; +#line 80 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = self->priv->_id; +#line 80 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = configuration_facade_is_plugin_enabled (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp4_); +#line 80 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = _tmp5_; +#line 80 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (_tmp3_); +#line 80 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + saved_state = _tmp6_; +#line 81 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp9_ = self->priv->_is_core; +#line 81 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp9_) { +#line 1252 "Plugins.c" + FuzzyPropertyState _tmp10_ = 0; +#line 81 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp10_ = saved_state; +#line 81 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp8_ = _tmp10_ != FUZZY_PROPERTY_STATE_DISABLED; +#line 1258 "Plugins.c" + } else { +#line 81 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp8_ = FALSE; +#line 1262 "Plugins.c" + } +#line 81 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp8_) { +#line 81 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = TRUE; +#line 1268 "Plugins.c" + } else { + gboolean _tmp11_ = FALSE; + gboolean _tmp12_ = FALSE; +#line 82 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp12_ = self->priv->_is_core; +#line 82 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!_tmp12_) { +#line 1276 "Plugins.c" + FuzzyPropertyState _tmp13_ = 0; +#line 82 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp13_ = saved_state; +#line 82 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp11_ = _tmp13_ == FUZZY_PROPERTY_STATE_ENABLED; +#line 1282 "Plugins.c" + } else { +#line 82 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp11_ = FALSE; +#line 1286 "Plugins.c" + } +#line 82 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = _tmp11_; +#line 1290 "Plugins.c" + } +#line 81 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->enabled = _tmp7_; +#line 85 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp14_ = self->priv->_pluggable; +#line 85 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp15_ = self->priv->enabled; +#line 85 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + spit_pluggable_activation (_tmp14_, _tmp15_); +#line 87 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_pluggable_rep_set_activated (self, TRUE); +#line 1302 "Plugins.c" +} + + +gboolean plugins_pluggable_rep_is_enabled (PluginsPluggableRep* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 90 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (PLUGINS_IS_PLUGGABLE_REP (self), FALSE); +#line 91 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = self->priv->enabled; +#line 91 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp0_; +#line 91 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 1317 "Plugins.c" +} + + +gboolean plugins_pluggable_rep_set_enabled (PluginsPluggableRep* self, gboolean enabled) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + ConfigFacade* _tmp3_ = NULL; + ConfigFacade* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + SpitPluggable* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; +#line 95 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (PLUGINS_IS_PLUGGABLE_REP (self), FALSE); +#line 96 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = enabled; +#line 96 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = self->priv->enabled; +#line 96 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp0_ == _tmp1_) { +#line 97 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = FALSE; +#line 97 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 1344 "Plugins.c" + } +#line 99 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = enabled; +#line 99 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->enabled = _tmp2_; +#line 100 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = config_facade_get_instance (); +#line 100 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = _tmp3_; +#line 100 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = self->priv->_id; +#line 100 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = enabled; +#line 100 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + configuration_facade_set_plugin_enabled (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp5_, _tmp6_); +#line 100 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (_tmp4_); +#line 101 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = self->priv->_pluggable; +#line 101 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp8_ = enabled; +#line 101 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + spit_pluggable_activation (_tmp7_, _tmp8_); +#line 103 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = TRUE; +#line 103 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 1372 "Plugins.c" +} + + +SpitPluggable* plugins_pluggable_rep_get_pluggable (PluginsPluggableRep* self) { + SpitPluggable* result; + SpitPluggable* _tmp0_ = NULL; +#line 62 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (PLUGINS_IS_PLUGGABLE_REP (self), NULL); +#line 62 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = self->priv->_pluggable; +#line 62 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp0_; +#line 62 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 1387 "Plugins.c" +} + + +static void plugins_pluggable_rep_set_pluggable (PluginsPluggableRep* self, SpitPluggable* value) { + SpitPluggable* _tmp0_ = NULL; + SpitPluggable* _tmp1_ = NULL; +#line 62 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (PLUGINS_IS_PLUGGABLE_REP (self)); +#line 62 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = value; +#line 62 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 62 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (self->priv->_pluggable); +#line 62 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->_pluggable = _tmp1_; +#line 1404 "Plugins.c" +} + + +const gchar* plugins_pluggable_rep_get_id (PluginsPluggableRep* self) { + const gchar* result; + const gchar* _tmp0_ = NULL; +#line 63 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (PLUGINS_IS_PLUGGABLE_REP (self), NULL); +#line 63 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = self->priv->_id; +#line 63 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp0_; +#line 63 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 1419 "Plugins.c" +} + + +static void plugins_pluggable_rep_set_id (PluginsPluggableRep* self, const gchar* value) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 63 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (PLUGINS_IS_PLUGGABLE_REP (self)); +#line 63 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = value; +#line 63 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 63 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (self->priv->_id); +#line 63 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->_id = _tmp1_; +#line 1436 "Plugins.c" +} + + +gboolean plugins_pluggable_rep_get_is_core (PluginsPluggableRep* self) { + gboolean result; + gboolean _tmp0_ = FALSE; +#line 64 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (PLUGINS_IS_PLUGGABLE_REP (self), FALSE); +#line 64 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = self->priv->_is_core; +#line 64 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp0_; +#line 64 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 1451 "Plugins.c" +} + + +static void plugins_pluggable_rep_set_is_core (PluginsPluggableRep* self, gboolean value) { + gboolean _tmp0_ = FALSE; +#line 64 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (PLUGINS_IS_PLUGGABLE_REP (self)); +#line 64 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = value; +#line 64 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->_is_core = _tmp0_; +#line 1463 "Plugins.c" +} + + +gboolean plugins_pluggable_rep_get_activated (PluginsPluggableRep* self) { + gboolean result; + gboolean _tmp0_ = FALSE; +#line 65 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (PLUGINS_IS_PLUGGABLE_REP (self), FALSE); +#line 65 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = self->priv->_activated; +#line 65 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp0_; +#line 65 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 1478 "Plugins.c" +} + + +static void plugins_pluggable_rep_set_activated (PluginsPluggableRep* self, gboolean value) { + gboolean _tmp0_ = FALSE; +#line 65 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (PLUGINS_IS_PLUGGABLE_REP (self)); +#line 65 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = value; +#line 65 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->_activated = _tmp0_; +#line 1490 "Plugins.c" +} + + +static void plugins_value_pluggable_rep_init (GValue* value) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 1497 "Plugins.c" +} + + +static void plugins_value_pluggable_rep_free_value (GValue* value) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (value->data[0].v_pointer) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_pluggable_rep_unref (value->data[0].v_pointer); +#line 1506 "Plugins.c" + } +} + + +static void plugins_value_pluggable_rep_copy_value (const GValue* src_value, GValue* dest_value) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (src_value->data[0].v_pointer) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + dest_value->data[0].v_pointer = plugins_pluggable_rep_ref (src_value->data[0].v_pointer); +#line 1516 "Plugins.c" + } else { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + dest_value->data[0].v_pointer = NULL; +#line 1520 "Plugins.c" + } +} + + +static gpointer plugins_value_pluggable_rep_peek_pointer (const GValue* value) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return value->data[0].v_pointer; +#line 1528 "Plugins.c" +} + + +static gchar* plugins_value_pluggable_rep_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (collect_values[0].v_pointer) { +#line 1535 "Plugins.c" + PluginsPluggableRep* object; + object = collect_values[0].v_pointer; +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (object->parent_instance.g_class == NULL) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1542 "Plugins.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1546 "Plugins.c" + } +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = plugins_pluggable_rep_ref (object); +#line 1550 "Plugins.c" + } else { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 1554 "Plugins.c" + } +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return NULL; +#line 1558 "Plugins.c" +} + + +static gchar* plugins_value_pluggable_rep_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PluginsPluggableRep** object_p; + object_p = collect_values[0].v_pointer; +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!object_p) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1569 "Plugins.c" + } +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!value->data[0].v_pointer) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *object_p = NULL; +#line 1575 "Plugins.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *object_p = value->data[0].v_pointer; +#line 1579 "Plugins.c" + } else { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *object_p = plugins_pluggable_rep_ref (value->data[0].v_pointer); +#line 1583 "Plugins.c" + } +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return NULL; +#line 1587 "Plugins.c" +} + + +GParamSpec* plugins_param_spec_pluggable_rep (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PluginsParamSpecPluggableRep* spec; +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (g_type_is_a (object_type, PLUGINS_TYPE_PLUGGABLE_REP), NULL); +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return G_PARAM_SPEC (spec); +#line 1601 "Plugins.c" +} + + +gpointer plugins_value_get_pluggable_rep (const GValue* value) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_PLUGGABLE_REP), NULL); +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return value->data[0].v_pointer; +#line 1610 "Plugins.c" +} + + +void plugins_value_set_pluggable_rep (GValue* value, gpointer v_object) { + PluginsPluggableRep* old; +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_PLUGGABLE_REP)); +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + old = value->data[0].v_pointer; +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (v_object) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PLUGINS_TYPE_PLUGGABLE_REP)); +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = v_object; +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_pluggable_rep_ref (value->data[0].v_pointer); +#line 1630 "Plugins.c" + } else { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 1634 "Plugins.c" + } +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (old) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_pluggable_rep_unref (old); +#line 1640 "Plugins.c" + } +} + + +void plugins_value_take_pluggable_rep (GValue* value, gpointer v_object) { + PluginsPluggableRep* old; +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_PLUGGABLE_REP)); +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + old = value->data[0].v_pointer; +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (v_object) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PLUGINS_TYPE_PLUGGABLE_REP)); +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = v_object; +#line 1659 "Plugins.c" + } else { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 1663 "Plugins.c" + } +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (old) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_pluggable_rep_unref (old); +#line 1669 "Plugins.c" + } +} + + +static void plugins_pluggable_rep_class_init (PluginsPluggableRepClass * klass) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_pluggable_rep_parent_class = g_type_class_peek_parent (klass); +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + ((PluginsPluggableRepClass *) klass)->finalize = plugins_pluggable_rep_finalize; +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_type_class_add_private (klass, sizeof (PluginsPluggableRepPrivate)); +#line 1681 "Plugins.c" +} + + +static void plugins_pluggable_rep_instance_init (PluginsPluggableRep * self) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv = PLUGINS_PLUGGABLE_REP_GET_PRIVATE (self); +#line 64 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->_is_core = FALSE; +#line 65 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->_activated = FALSE; +#line 67 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->enabled = FALSE; +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->ref_count = 1; +#line 1696 "Plugins.c" +} + + +static void plugins_pluggable_rep_finalize (PluginsPluggableRep* obj) { + PluginsPluggableRep * self; +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PLUGINS_TYPE_PLUGGABLE_REP, PluginsPluggableRep); +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_signal_handlers_destroy (self); +#line 62 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (self->priv->_pluggable); +#line 63 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (self->priv->_id); +#line 1710 "Plugins.c" +} + + +GType plugins_pluggable_rep_get_type (void) { + static volatile gsize plugins_pluggable_rep_type_id__volatile = 0; + if (g_once_init_enter (&plugins_pluggable_rep_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { plugins_value_pluggable_rep_init, plugins_value_pluggable_rep_free_value, plugins_value_pluggable_rep_copy_value, plugins_value_pluggable_rep_peek_pointer, "p", plugins_value_pluggable_rep_collect_value, "p", plugins_value_pluggable_rep_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PluginsPluggableRepClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) plugins_pluggable_rep_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PluginsPluggableRep), 0, (GInstanceInitFunc) plugins_pluggable_rep_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType plugins_pluggable_rep_type_id; + plugins_pluggable_rep_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PluginsPluggableRep", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&plugins_pluggable_rep_type_id__volatile, plugins_pluggable_rep_type_id); + } + return plugins_pluggable_rep_type_id__volatile; +} + + +gpointer plugins_pluggable_rep_ref (gpointer instance) { + PluginsPluggableRep* self; + self = instance; +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_atomic_int_inc (&self->ref_count); +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return instance; +#line 1735 "Plugins.c" +} + + +void plugins_pluggable_rep_unref (gpointer instance) { + PluginsPluggableRep* self; + self = instance; +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + PLUGINS_PLUGGABLE_REP_GET_CLASS (self)->finalize (self); +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1748 "Plugins.c" + } +} + + +static void _vala_array_add47 (GFile*** array, int* length, int* size, GFile* value) { +#line 115 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if ((*length) == (*size)) { +#line 115 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 115 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *array = g_renew (GFile*, *array, (*size) + 1); +#line 1760 "Plugins.c" + } +#line 115 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + (*array)[(*length)++] = value; +#line 115 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + (*array)[*length] = NULL; +#line 1766 "Plugins.c" +} + + +static void _vala_array_add48 (GFile*** array, int* length, int* size, GFile* value) { +#line 116 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if ((*length) == (*size)) { +#line 116 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 116 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *array = g_renew (GFile*, *array, (*size) + 1); +#line 1777 "Plugins.c" + } +#line 116 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + (*array)[(*length)++] = value; +#line 116 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + (*array)[*length] = NULL; +#line 1783 "Plugins.c" +} + + +void plugins_init (GError** error) { + GFile** _tmp0_ = NULL; + GFile** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + GFile* _tmp2_ = NULL; + GFile** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + GFile* _tmp4_ = NULL; + GeeHashMap* _tmp5_ = NULL; + GeeHashMap* _tmp6_ = NULL; + GeeHashMap* _tmp7_ = NULL; + GeeHashSet* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + GFile** _tmp10_ = NULL; + gint _tmp10__length1 = 0; + GError * _inner_error_ = NULL; +#line 114 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = g_new0 (GFile*, 0 + 1); +#line 114 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_search_dirs = (_vala_array_free (plugins_search_dirs, plugins_search_dirs_length1, (GDestroyNotify) g_object_unref), NULL); +#line 114 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_search_dirs = _tmp0_; +#line 114 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_search_dirs_length1 = 0; +#line 114 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_search_dirs_size_ = plugins_search_dirs_length1; +#line 115 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = plugins_search_dirs; +#line 115 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1__length1 = plugins_search_dirs_length1; +#line 115 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = app_dirs_get_user_plugins_dir (); +#line 115 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _vala_array_add47 (&plugins_search_dirs, &plugins_search_dirs_length1, &_plugins_search_dirs_size_, _tmp2_); +#line 116 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = plugins_search_dirs; +#line 116 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3__length1 = plugins_search_dirs_length1; +#line 116 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = app_dirs_get_system_plugins_dir (); +#line 116 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _vala_array_add48 (&plugins_search_dirs, &plugins_search_dirs_length1, &_plugins_search_dirs_size_, _tmp4_); +#line 118 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, PLUGINS_TYPE_MODULE_REP, (GBoxedCopyFunc) plugins_module_rep_ref, plugins_module_rep_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 118 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (plugins_module_table); +#line 118 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_module_table = _tmp5_; +#line 119 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, PLUGINS_TYPE_PLUGGABLE_REP, (GBoxedCopyFunc) plugins_pluggable_rep_ref, plugins_pluggable_rep_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 119 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (plugins_pluggable_table); +#line 119 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_pluggable_table = _tmp6_; +#line 120 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = gee_hash_map_new (G_TYPE_GTYPE, NULL, NULL, PLUGINS_TYPE_EXTENSION_POINT, (GBoxedCopyFunc) plugins_extension_point_ref, plugins_extension_point_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 120 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (plugins_extension_points); +#line 120 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_extension_points = _tmp7_; +#line 121 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp8_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL, NULL, NULL, NULL); +#line 121 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (plugins_core_ids); +#line 121 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_core_ids = _tmp8_; +#line 125 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp9_ = g_module_supported (); +#line 125 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!_tmp9_) { +#line 126 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_warning ("Plugins.vala:126: Plugins not support: GModule not supported on this p" \ +"latform."); +#line 128 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return; +#line 1861 "Plugins.c" + } +#line 131 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp10_ = plugins_search_dirs; +#line 131 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp10__length1 = plugins_search_dirs_length1; +#line 1867 "Plugins.c" + { + GFile** dir_collection = NULL; + gint dir_collection_length1 = 0; + gint _dir_collection_size_ = 0; + gint dir_it = 0; +#line 131 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + dir_collection = _tmp10_; +#line 131 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + dir_collection_length1 = _tmp10__length1; +#line 131 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + for (dir_it = 0; dir_it < _tmp10__length1; dir_it = dir_it + 1) { +#line 1879 "Plugins.c" + GFile* _tmp11_ = NULL; + GFile* dir = NULL; +#line 131 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp11_ = _g_object_ref0 (dir_collection[dir_it]); +#line 131 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + dir = _tmp11_; +#line 1886 "Plugins.c" + { + { + GFile* _tmp12_ = NULL; +#line 133 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp12_ = dir; +#line 133 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_search_for_plugins (_tmp12_, &_inner_error_); +#line 133 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1896 "Plugins.c" + goto __catch31_g_error; + } + } + goto __finally31; + __catch31_g_error: + { + GError* err = NULL; + GFile* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + GError* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; +#line 132 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + err = _inner_error_; +#line 132 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _inner_error_ = NULL; +#line 135 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp13_ = dir; +#line 135 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp14_ = g_file_get_path (_tmp13_); +#line 135 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp15_ = _tmp14_; +#line 135 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp16_ = err; +#line 135 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp17_ = _tmp16_->message; +#line 135 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_debug ("Plugins.vala:135: Unable to search directory %s for plugins: %s", _tmp15_, _tmp17_); +#line 135 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (_tmp15_); +#line 132 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_error_free0 (err); +#line 1929 "Plugins.c" + } + __finally31: +#line 132 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 132 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_propagate_error (error, _inner_error_); +#line 132 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (dir); +#line 132 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return; +#line 1940 "Plugins.c" + } +#line 131 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (dir); +#line 1944 "Plugins.c" + } + } + } +} + + +void plugins_terminate (void) { +#line 141 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_search_dirs = (_vala_array_free (plugins_search_dirs, plugins_search_dirs_length1, (GDestroyNotify) g_object_unref), NULL); +#line 141 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_search_dirs = NULL; +#line 141 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_search_dirs_length1 = 0; +#line 141 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_search_dirs_size_ = plugins_search_dirs_length1; +#line 142 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (plugins_pluggable_table); +#line 142 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_pluggable_table = NULL; +#line 143 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (plugins_module_table); +#line 143 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_module_table = NULL; +#line 144 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (plugins_extension_points); +#line 144 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_extension_points = NULL; +#line 145 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (plugins_core_ids); +#line 145 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_core_ids = NULL; +#line 1976 "Plugins.c" +} + + +static PluginsNotifier* plugins_notifier_construct (GType object_type) { + PluginsNotifier* self = NULL; +#line 153 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self = (PluginsNotifier*) g_type_create_instance (object_type); +#line 153 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return self; +#line 1986 "Plugins.c" +} + + +static PluginsNotifier* plugins_notifier_new (void) { +#line 153 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return plugins_notifier_construct (PLUGINS_TYPE_NOTIFIER); +#line 1993 "Plugins.c" +} + + +static gpointer _plugins_notifier_ref0 (gpointer self) { +#line 160 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return self ? plugins_notifier_ref (self) : NULL; +#line 2000 "Plugins.c" +} + + +PluginsNotifier* plugins_notifier_get_instance (void) { + PluginsNotifier* result = NULL; + PluginsNotifier* _tmp0_ = NULL; + PluginsNotifier* _tmp2_ = NULL; + PluginsNotifier* _tmp3_ = NULL; +#line 157 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = plugins_notifier_instance; +#line 157 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp0_ == NULL) { +#line 2013 "Plugins.c" + PluginsNotifier* _tmp1_ = NULL; +#line 158 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = plugins_notifier_new (); +#line 158 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_notifier_unref0 (plugins_notifier_instance); +#line 158 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_notifier_instance = _tmp1_; +#line 2021 "Plugins.c" + } +#line 160 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = plugins_notifier_instance; +#line 160 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = _plugins_notifier_ref0 (_tmp2_); +#line 160 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp3_; +#line 160 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 2031 "Plugins.c" +} + + +static void g_cclosure_user_marshal_VOID__OBJECT_BOOLEAN (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__OBJECT_BOOLEAN) (gpointer data1, gpointer arg_1, gboolean arg_2, gpointer data2); + register GMarshalFunc_VOID__OBJECT_BOOLEAN callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (n_param_values == 3); +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + data1 = closure->data; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + data2 = param_values->data[0].v_pointer; +#line 2050 "Plugins.c" + } else { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + data1 = param_values->data[0].v_pointer; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + data2 = closure->data; +#line 2056 "Plugins.c" + } +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + callback = (GMarshalFunc_VOID__OBJECT_BOOLEAN) (marshal_data ? marshal_data : cc->callback); +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + callback (data1, g_value_get_object (param_values + 1), g_value_get_boolean (param_values + 2), data2); +#line 2062 "Plugins.c" +} + + +static void plugins_value_notifier_init (GValue* value) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 2069 "Plugins.c" +} + + +static void plugins_value_notifier_free_value (GValue* value) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (value->data[0].v_pointer) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_notifier_unref (value->data[0].v_pointer); +#line 2078 "Plugins.c" + } +} + + +static void plugins_value_notifier_copy_value (const GValue* src_value, GValue* dest_value) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (src_value->data[0].v_pointer) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + dest_value->data[0].v_pointer = plugins_notifier_ref (src_value->data[0].v_pointer); +#line 2088 "Plugins.c" + } else { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + dest_value->data[0].v_pointer = NULL; +#line 2092 "Plugins.c" + } +} + + +static gpointer plugins_value_notifier_peek_pointer (const GValue* value) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return value->data[0].v_pointer; +#line 2100 "Plugins.c" +} + + +static gchar* plugins_value_notifier_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (collect_values[0].v_pointer) { +#line 2107 "Plugins.c" + PluginsNotifier* object; + object = collect_values[0].v_pointer; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (object->parent_instance.g_class == NULL) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2114 "Plugins.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2118 "Plugins.c" + } +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = plugins_notifier_ref (object); +#line 2122 "Plugins.c" + } else { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 2126 "Plugins.c" + } +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return NULL; +#line 2130 "Plugins.c" +} + + +static gchar* plugins_value_notifier_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PluginsNotifier** object_p; + object_p = collect_values[0].v_pointer; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!object_p) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 2141 "Plugins.c" + } +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!value->data[0].v_pointer) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *object_p = NULL; +#line 2147 "Plugins.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *object_p = value->data[0].v_pointer; +#line 2151 "Plugins.c" + } else { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *object_p = plugins_notifier_ref (value->data[0].v_pointer); +#line 2155 "Plugins.c" + } +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return NULL; +#line 2159 "Plugins.c" +} + + +GParamSpec* plugins_param_spec_notifier (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PluginsParamSpecNotifier* spec; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (g_type_is_a (object_type, PLUGINS_TYPE_NOTIFIER), NULL); +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return G_PARAM_SPEC (spec); +#line 2173 "Plugins.c" +} + + +gpointer plugins_value_get_notifier (const GValue* value) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_NOTIFIER), NULL); +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return value->data[0].v_pointer; +#line 2182 "Plugins.c" +} + + +void plugins_value_set_notifier (GValue* value, gpointer v_object) { + PluginsNotifier* old; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_NOTIFIER)); +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + old = value->data[0].v_pointer; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (v_object) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PLUGINS_TYPE_NOTIFIER)); +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = v_object; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_notifier_ref (value->data[0].v_pointer); +#line 2202 "Plugins.c" + } else { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 2206 "Plugins.c" + } +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (old) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_notifier_unref (old); +#line 2212 "Plugins.c" + } +} + + +void plugins_value_take_notifier (GValue* value, gpointer v_object) { + PluginsNotifier* old; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_NOTIFIER)); +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + old = value->data[0].v_pointer; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (v_object) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PLUGINS_TYPE_NOTIFIER)); +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = v_object; +#line 2231 "Plugins.c" + } else { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 2235 "Plugins.c" + } +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (old) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_notifier_unref (old); +#line 2241 "Plugins.c" + } +} + + +static void plugins_notifier_class_init (PluginsNotifierClass * klass) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_notifier_parent_class = g_type_class_peek_parent (klass); +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + ((PluginsNotifierClass *) klass)->finalize = plugins_notifier_finalize; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_signal_new ("pluggable_activation", PLUGINS_TYPE_NOTIFIER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_BOOLEAN, G_TYPE_NONE, 2, SPIT_TYPE_PLUGGABLE, G_TYPE_BOOLEAN); +#line 2253 "Plugins.c" +} + + +static void plugins_notifier_instance_init (PluginsNotifier * self) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->ref_count = 1; +#line 2260 "Plugins.c" +} + + +static void plugins_notifier_finalize (PluginsNotifier* obj) { + PluginsNotifier * self; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PLUGINS_TYPE_NOTIFIER, PluginsNotifier); +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_signal_handlers_destroy (self); +#line 2270 "Plugins.c" +} + + +GType plugins_notifier_get_type (void) { + static volatile gsize plugins_notifier_type_id__volatile = 0; + if (g_once_init_enter (&plugins_notifier_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { plugins_value_notifier_init, plugins_value_notifier_free_value, plugins_value_notifier_copy_value, plugins_value_notifier_peek_pointer, "p", plugins_value_notifier_collect_value, "p", plugins_value_notifier_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PluginsNotifierClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) plugins_notifier_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PluginsNotifier), 0, (GInstanceInitFunc) plugins_notifier_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType plugins_notifier_type_id; + plugins_notifier_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PluginsNotifier", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&plugins_notifier_type_id__volatile, plugins_notifier_type_id); + } + return plugins_notifier_type_id__volatile; +} + + +gpointer plugins_notifier_ref (gpointer instance) { + PluginsNotifier* self; + self = instance; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_atomic_int_inc (&self->ref_count); +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return instance; +#line 2295 "Plugins.c" +} + + +void plugins_notifier_unref (gpointer instance) { + PluginsNotifier* self; + self = instance; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + PLUGINS_NOTIFIER_GET_CLASS (self)->finalize (self); +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 2308 "Plugins.c" + } +} + + +void plugins_register_extension_point (GType type, const gchar* name, const gchar* icon_name, gchar** core_ids, int core_ids_length1) { + GeeHashMap* _tmp0_ = NULL; + GType _tmp1_ = 0UL; + gboolean _tmp2_ = FALSE; + GeeHashMap* _tmp3_ = NULL; + GType _tmp4_ = 0UL; + GType _tmp5_ = 0UL; + const gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gchar** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + PluginsExtensionPoint* _tmp9_ = NULL; + PluginsExtensionPoint* _tmp10_ = NULL; + gchar** _tmp11_ = NULL; + gint _tmp11__length1 = 0; +#line 164 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (name != NULL); +#line 166 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = plugins_extension_points; +#line 166 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = type; +#line 166 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp1_)); +#line 166 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _vala_assert (!_tmp2_, "!extension_points.has_key(type)"); +#line 168 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = plugins_extension_points; +#line 168 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = type; +#line 168 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = type; +#line 168 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = name; +#line 168 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = icon_name; +#line 168 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp8_ = core_ids; +#line 168 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp8__length1 = core_ids_length1; +#line 168 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp9_ = plugins_extension_point_new (_tmp5_, _tmp6_, _tmp7_, _tmp8_, _tmp8__length1); +#line 168 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp10_ = _tmp9_; +#line 168 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp4_), _tmp10_); +#line 168 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_extension_point_unref0 (_tmp10_); +#line 171 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp11_ = core_ids; +#line 171 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp11__length1 = core_ids_length1; +#line 171 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp11_ != NULL) { +#line 2366 "Plugins.c" + gchar** _tmp12_ = NULL; + gint _tmp12__length1 = 0; +#line 172 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp12_ = core_ids; +#line 172 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp12__length1 = core_ids_length1; +#line 2373 "Plugins.c" + { + gchar** core_id_collection = NULL; + gint core_id_collection_length1 = 0; + gint _core_id_collection_size_ = 0; + gint core_id_it = 0; +#line 172 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + core_id_collection = _tmp12_; +#line 172 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + core_id_collection_length1 = _tmp12__length1; +#line 172 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + for (core_id_it = 0; core_id_it < _tmp12__length1; core_id_it = core_id_it + 1) { +#line 2385 "Plugins.c" + gchar* _tmp13_ = NULL; + gchar* core_id = NULL; +#line 172 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp13_ = g_strdup (core_id_collection[core_id_it]); +#line 172 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + core_id = _tmp13_; +#line 2392 "Plugins.c" + { + GeeHashSet* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; +#line 173 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp14_ = plugins_core_ids; +#line 173 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp15_ = core_id; +#line 173 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp15_); +#line 172 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (core_id); +#line 2404 "Plugins.c" + } + } + } + } + { + GeeIterator* _pluggable_rep_it = NULL; + GeeHashMap* _tmp16_ = NULL; + GeeCollection* _tmp17_ = NULL; + GeeCollection* _tmp18_ = NULL; + GeeCollection* _tmp19_ = NULL; + GeeIterator* _tmp20_ = NULL; + GeeIterator* _tmp21_ = NULL; +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp16_ = plugins_pluggable_table; +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp17_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_MAP, GeeMap)); +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp18_ = _tmp17_; +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp19_ = _tmp18_; +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp20_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp21_ = _tmp20_; +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (_tmp19_); +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _pluggable_rep_it = _tmp21_; +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + while (TRUE) { +#line 2435 "Plugins.c" + GeeIterator* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; + PluginsPluggableRep* pluggable_rep = NULL; + GeeIterator* _tmp24_ = NULL; + gpointer _tmp25_ = NULL; + PluginsPluggableRep* _tmp26_ = NULL; + SpitPluggable* _tmp27_ = NULL; + SpitPluggable* _tmp28_ = NULL; + GType _tmp29_ = 0UL; + GType _tmp30_ = 0UL; + gboolean _tmp31_ = FALSE; + PluginsPluggableRep* _tmp32_ = NULL; + PluginsNotifier* _tmp33_ = NULL; + PluginsNotifier* _tmp34_ = NULL; + PluginsPluggableRep* _tmp35_ = NULL; + SpitPluggable* _tmp36_ = NULL; + SpitPluggable* _tmp37_ = NULL; + PluginsPluggableRep* _tmp38_ = NULL; + gboolean _tmp39_ = FALSE; +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp22_ = _pluggable_rep_it; +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp23_ = gee_iterator_next (_tmp22_); +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!_tmp23_) { +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + break; +#line 2463 "Plugins.c" + } +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp24_ = _pluggable_rep_it; +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp25_ = gee_iterator_get (_tmp24_); +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggable_rep = (PluginsPluggableRep*) _tmp25_; +#line 178 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp26_ = pluggable_rep; +#line 178 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp27_ = plugins_pluggable_rep_get_pluggable (_tmp26_); +#line 178 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp28_ = _tmp27_; +#line 178 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp29_ = G_TYPE_FROM_INSTANCE (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, G_TYPE_OBJECT, GObject)); +#line 178 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp30_ = type; +#line 178 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp31_ = g_type_is_a (_tmp29_, _tmp30_); +#line 178 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!_tmp31_) { +#line 179 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_pluggable_rep_unref0 (pluggable_rep); +#line 179 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + continue; +#line 2489 "Plugins.c" + } +#line 181 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp32_ = pluggable_rep; +#line 181 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_pluggable_rep_activate (_tmp32_); +#line 182 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp33_ = plugins_notifier_get_instance (); +#line 182 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp34_ = _tmp33_; +#line 182 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp35_ = pluggable_rep; +#line 182 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp36_ = plugins_pluggable_rep_get_pluggable (_tmp35_); +#line 182 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp37_ = _tmp36_; +#line 182 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp38_ = pluggable_rep; +#line 182 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp39_ = plugins_pluggable_rep_is_enabled (_tmp38_); +#line 182 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_signal_emit_by_name (_tmp34_, "pluggable-activation", _tmp37_, _tmp39_); +#line 182 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_notifier_unref0 (_tmp34_); +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_pluggable_rep_unref0 (pluggable_rep); +#line 2515 "Plugins.c" + } +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (_pluggable_rep_it); +#line 2519 "Plugins.c" + } +} + + +GeeCollection* plugins_get_pluggables (gboolean include_disabled) { + GeeCollection* result = NULL; + GeeCollection* all = NULL; + GeeHashSet* _tmp0_ = NULL; +#line 187 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = gee_hash_set_new (SPIT_TYPE_PLUGGABLE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 187 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + all = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection); +#line 2532 "Plugins.c" + { + GeeIterator* _pluggable_rep_it = NULL; + GeeHashMap* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; + GeeIterator* _tmp6_ = NULL; +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = plugins_pluggable_table; +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_MAP, GeeMap)); +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = _tmp2_; +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = _tmp3_; +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = _tmp5_; +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (_tmp4_); +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _pluggable_rep_it = _tmp6_; +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + while (TRUE) { +#line 2559 "Plugins.c" + GeeIterator* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + PluginsPluggableRep* pluggable_rep = NULL; + GeeIterator* _tmp9_ = NULL; + gpointer _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + PluginsPluggableRep* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + gboolean _tmp14_ = FALSE; +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = _pluggable_rep_it; +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp8_ = gee_iterator_next (_tmp7_); +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!_tmp8_) { +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + break; +#line 2577 "Plugins.c" + } +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp9_ = _pluggable_rep_it; +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp10_ = gee_iterator_get (_tmp9_); +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggable_rep = (PluginsPluggableRep*) _tmp10_; +#line 189 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp12_ = pluggable_rep; +#line 189 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp13_ = plugins_pluggable_rep_get_activated (_tmp12_); +#line 189 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp14_ = _tmp13_; +#line 189 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp14_) { +#line 2593 "Plugins.c" + gboolean _tmp15_ = FALSE; + gboolean _tmp16_ = FALSE; +#line 189 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp16_ = include_disabled; +#line 189 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp16_) { +#line 189 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp15_ = TRUE; +#line 2602 "Plugins.c" + } else { + PluginsPluggableRep* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; +#line 189 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp17_ = pluggable_rep; +#line 189 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp18_ = plugins_pluggable_rep_is_enabled (_tmp17_); +#line 189 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp15_ = _tmp18_; +#line 2612 "Plugins.c" + } +#line 189 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp11_ = _tmp15_; +#line 2616 "Plugins.c" + } else { +#line 189 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp11_ = FALSE; +#line 2620 "Plugins.c" + } +#line 189 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp11_) { +#line 2624 "Plugins.c" + GeeCollection* _tmp19_ = NULL; + PluginsPluggableRep* _tmp20_ = NULL; + SpitPluggable* _tmp21_ = NULL; + SpitPluggable* _tmp22_ = NULL; +#line 190 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp19_ = all; +#line 190 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp20_ = pluggable_rep; +#line 190 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp21_ = plugins_pluggable_rep_get_pluggable (_tmp20_); +#line 190 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp22_ = _tmp21_; +#line 190 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + gee_collection_add (_tmp19_, _tmp22_); +#line 2639 "Plugins.c" + } +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_pluggable_rep_unref0 (pluggable_rep); +#line 2643 "Plugins.c" + } +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (_pluggable_rep_it); +#line 2647 "Plugins.c" + } +#line 193 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = all; +#line 193 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 2653 "Plugins.c" +} + + +gboolean plugins_is_core_pluggable (SpitPluggable* pluggable) { + gboolean result = FALSE; + GeeHashSet* _tmp0_ = NULL; + SpitPluggable* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 196 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (SPIT_IS_PLUGGABLE (pluggable), FALSE); +#line 197 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = plugins_core_ids; +#line 197 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = pluggable; +#line 197 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = spit_pluggable_get_id (_tmp1_); +#line 197 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp2_); +#line 197 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp3_; +#line 197 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 2677 "Plugins.c" +} + + +static SpitPluggable** _vala_array_dup19 (SpitPluggable** self, int length) { + SpitPluggable** result; + int i; +#line 202 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = g_new0 (SpitPluggable*, length + 1); +#line 202 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + for (i = 0; i < length; i++) { +#line 2688 "Plugins.c" + SpitPluggable* _tmp0_ = NULL; +#line 202 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = _g_object_ref0 (self[i]); +#line 202 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result[i] = _tmp0_; +#line 2694 "Plugins.c" + } +#line 202 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 2698 "Plugins.c" +} + + +PluginsModuleRep* plugins_get_module_for_pluggable (SpitPluggable* needle) { + PluginsModuleRep* result = NULL; +#line 200 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (SPIT_IS_PLUGGABLE (needle), NULL); +#line 2706 "Plugins.c" + { + GeeIterator* _module_rep_it = NULL; + GeeHashMap* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = plugins_module_table; +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap)); +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = _tmp1_; +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = _tmp2_; +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = _tmp4_; +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (_tmp3_); +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _module_rep_it = _tmp5_; +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + while (TRUE) { +#line 2733 "Plugins.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + PluginsModuleRep* module_rep = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + SpitPluggable** pluggables = NULL; + PluginsModuleRep* _tmp10_ = NULL; + SpitModule* _tmp11_ = NULL; + gint _tmp12_ = 0; + SpitPluggable** _tmp13_ = NULL; + SpitPluggable** _tmp14_ = NULL; + gint _tmp14__length1 = 0; + gint pluggables_length1 = 0; + gint _pluggables_size_ = 0; + SpitPluggable** _tmp15_ = NULL; + gint _tmp15__length1 = 0; +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = _module_rep_it; +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!_tmp7_) { +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + break; +#line 2758 "Plugins.c" + } +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp8_ = _module_rep_it; +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + module_rep = (PluginsModuleRep*) _tmp9_; +#line 202 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp10_ = module_rep; +#line 202 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp11_ = _tmp10_->spit_module; +#line 202 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp13_ = spit_module_get_pluggables (_tmp11_, &_tmp12_); +#line 202 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp14_ = (_tmp13_ != NULL) ? _vala_array_dup19 (_tmp13_, _tmp12_) : ((gpointer) _tmp13_); +#line 202 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp14__length1 = _tmp12_; +#line 202 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggables = _tmp14_; +#line 202 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggables_length1 = _tmp14__length1; +#line 202 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _pluggables_size_ = pluggables_length1; +#line 203 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp15_ = pluggables; +#line 203 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp15__length1 = pluggables_length1; +#line 203 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp15_ != NULL) { +#line 2788 "Plugins.c" + SpitPluggable** _tmp16_ = NULL; + gint _tmp16__length1 = 0; +#line 204 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp16_ = pluggables; +#line 204 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp16__length1 = pluggables_length1; +#line 2795 "Plugins.c" + { + SpitPluggable** pluggable_collection = NULL; + gint pluggable_collection_length1 = 0; + gint _pluggable_collection_size_ = 0; + gint pluggable_it = 0; +#line 204 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggable_collection = _tmp16_; +#line 204 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggable_collection_length1 = _tmp16__length1; +#line 204 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + for (pluggable_it = 0; pluggable_it < _tmp16__length1; pluggable_it = pluggable_it + 1) { +#line 2807 "Plugins.c" + SpitPluggable* _tmp17_ = NULL; + SpitPluggable* pluggable = NULL; +#line 204 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp17_ = _g_object_ref0 (pluggable_collection[pluggable_it]); +#line 204 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggable = _tmp17_; +#line 2814 "Plugins.c" + { + SpitPluggable* _tmp18_ = NULL; + SpitPluggable* _tmp19_ = NULL; +#line 205 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp18_ = pluggable; +#line 205 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp19_ = needle; +#line 205 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp18_ == _tmp19_) { +#line 206 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = module_rep; +#line 206 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (pluggable); +#line 206 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggables = (_vala_array_free (pluggables, pluggables_length1, (GDestroyNotify) g_object_unref), NULL); +#line 206 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (_module_rep_it); +#line 206 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 2834 "Plugins.c" + } +#line 204 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (pluggable); +#line 2838 "Plugins.c" + } + } + } + } +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggables = (_vala_array_free (pluggables, pluggables_length1, (GDestroyNotify) g_object_unref), NULL); +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_module_rep_unref0 (module_rep); +#line 2847 "Plugins.c" + } +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (_module_rep_it); +#line 2851 "Plugins.c" + } +#line 211 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = NULL; +#line 211 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 2857 "Plugins.c" +} + + +gchar* plugins_get_pluggable_module_id (SpitPluggable* needle) { + gchar* result = NULL; + PluginsModuleRep* module_rep = NULL; + SpitPluggable* _tmp0_ = NULL; + PluginsModuleRep* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PluginsModuleRep* _tmp3_ = NULL; + gchar* _tmp7_ = NULL; +#line 214 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (SPIT_IS_PLUGGABLE (needle), NULL); +#line 215 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = needle; +#line 215 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = plugins_get_module_for_pluggable (_tmp0_); +#line 215 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + module_rep = _tmp1_; +#line 217 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = module_rep; +#line 217 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp3_ != NULL) { +#line 2881 "Plugins.c" + PluginsModuleRep* _tmp4_ = NULL; + SpitModule* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; +#line 217 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = module_rep; +#line 217 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = _tmp4_->spit_module; +#line 217 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = spit_module_get_id (_tmp5_); +#line 217 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = _tmp6_; +#line 2893 "Plugins.c" + } else { +#line 217 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = NULL; +#line 2897 "Plugins.c" + } +#line 217 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = g_strdup (_tmp2_); +#line 217 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp7_; +#line 217 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_module_rep_unref0 (module_rep); +#line 217 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 2907 "Plugins.c" +} + + +GeeCollection* plugins_get_extension_points (GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify) { + GeeCollection* result = NULL; + GeeCollection* sorted = NULL; + GCompareDataFunc _tmp0_ = NULL; + void* _tmp0__target = NULL; + GDestroyNotify _tmp0__target_destroy_notify = NULL; + GeeTreeSet* _tmp1_ = NULL; + GeeHashMap* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + GeeCollection* _tmp5_ = NULL; +#line 221 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = compare_func; +#line 221 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0__target = compare_func_target; +#line 221 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0__target_destroy_notify = compare_func_target_destroy_notify; +#line 221 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + compare_func_target_destroy_notify = NULL; +#line 221 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = gee_tree_set_new (PLUGINS_TYPE_EXTENSION_POINT, (GBoxedCopyFunc) plugins_extension_point_ref, plugins_extension_point_unref, _tmp0_, _tmp0__target, _tmp0__target_destroy_notify); +#line 221 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + sorted = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection); +#line 222 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = plugins_extension_points; +#line 222 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_MAP, GeeMap)); +#line 222 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = _tmp3_; +#line 222 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = _tmp4_; +#line 222 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + gee_collection_add_all (sorted, _tmp5_); +#line 222 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (_tmp5_); +#line 224 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = sorted; +#line 224 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + (compare_func_target_destroy_notify == NULL) ? NULL : (compare_func_target_destroy_notify (compare_func_target), NULL); +#line 224 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + compare_func = NULL; +#line 224 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + compare_func_target = NULL; +#line 224 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + compare_func_target_destroy_notify = NULL; +#line 224 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 2958 "Plugins.c" +} + + +GeeCollection* plugins_get_pluggables_for_type (GType type, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify, gboolean include_disabled) { + GeeCollection* result = NULL; + GeeHashMap* _tmp0_ = NULL; + GType _tmp1_ = 0UL; + gboolean _tmp2_ = FALSE; + GeeCollection* for_type = NULL; + GCompareDataFunc _tmp3_ = NULL; + void* _tmp3__target = NULL; + GDestroyNotify _tmp3__target_destroy_notify = NULL; + GeeTreeSet* _tmp4_ = NULL; +#line 230 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = plugins_extension_points; +#line 230 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = type; +#line 230 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp1_)); +#line 230 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _vala_assert (_tmp2_, "extension_points.has_key(type)"); +#line 232 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = compare_func; +#line 232 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3__target = compare_func_target; +#line 232 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3__target_destroy_notify = compare_func_target_destroy_notify; +#line 232 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + compare_func_target_destroy_notify = NULL; +#line 232 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = gee_tree_set_new (SPIT_TYPE_PLUGGABLE, (GBoxedCopyFunc) g_object_ref, g_object_unref, _tmp3_, _tmp3__target, _tmp3__target_destroy_notify); +#line 232 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + for_type = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection); +#line 2992 "Plugins.c" + { + GeeIterator* _pluggable_rep_it = NULL; + GeeHashMap* _tmp5_ = NULL; + GeeCollection* _tmp6_ = NULL; + GeeCollection* _tmp7_ = NULL; + GeeCollection* _tmp8_ = NULL; + GeeIterator* _tmp9_ = NULL; + GeeIterator* _tmp10_ = NULL; +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = plugins_pluggable_table; +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_MAP, GeeMap)); +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = _tmp6_; +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp8_ = _tmp7_; +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp9_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp10_ = _tmp9_; +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (_tmp8_); +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _pluggable_rep_it = _tmp10_; +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + while (TRUE) { +#line 3019 "Plugins.c" + GeeIterator* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + PluginsPluggableRep* pluggable_rep = NULL; + GeeIterator* _tmp13_ = NULL; + gpointer _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + gboolean _tmp16_ = FALSE; + PluginsPluggableRep* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + gboolean _tmp19_ = FALSE; +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp11_ = _pluggable_rep_it; +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp12_ = gee_iterator_next (_tmp11_); +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!_tmp12_) { +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + break; +#line 3038 "Plugins.c" + } +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp13_ = _pluggable_rep_it; +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp14_ = gee_iterator_get (_tmp13_); +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggable_rep = (PluginsPluggableRep*) _tmp14_; +#line 234 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp17_ = pluggable_rep; +#line 234 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp18_ = plugins_pluggable_rep_get_activated (_tmp17_); +#line 234 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp19_ = _tmp18_; +#line 234 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp19_) { +#line 3054 "Plugins.c" + PluginsPluggableRep* _tmp20_ = NULL; + SpitPluggable* _tmp21_ = NULL; + SpitPluggable* _tmp22_ = NULL; + GType _tmp23_ = 0UL; + GType _tmp24_ = 0UL; + gboolean _tmp25_ = FALSE; +#line 235 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp20_ = pluggable_rep; +#line 235 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp21_ = plugins_pluggable_rep_get_pluggable (_tmp20_); +#line 235 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp22_ = _tmp21_; +#line 235 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp23_ = G_TYPE_FROM_INSTANCE (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, G_TYPE_OBJECT, GObject)); +#line 235 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp24_ = type; +#line 235 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp25_ = g_type_is_a (_tmp23_, _tmp24_); +#line 235 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp16_ = _tmp25_; +#line 3075 "Plugins.c" + } else { +#line 234 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp16_ = FALSE; +#line 3079 "Plugins.c" + } +#line 234 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp16_) { +#line 3083 "Plugins.c" + gboolean _tmp26_ = FALSE; + gboolean _tmp27_ = FALSE; +#line 236 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp27_ = include_disabled; +#line 236 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp27_) { +#line 236 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp26_ = TRUE; +#line 3092 "Plugins.c" + } else { + PluginsPluggableRep* _tmp28_ = NULL; + gboolean _tmp29_ = FALSE; +#line 236 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp28_ = pluggable_rep; +#line 236 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp29_ = plugins_pluggable_rep_is_enabled (_tmp28_); +#line 236 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp26_ = _tmp29_; +#line 3102 "Plugins.c" + } +#line 236 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp15_ = _tmp26_; +#line 3106 "Plugins.c" + } else { +#line 234 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp15_ = FALSE; +#line 3110 "Plugins.c" + } +#line 234 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp15_) { +#line 3114 "Plugins.c" + GeeCollection* _tmp30_ = NULL; + PluginsPluggableRep* _tmp31_ = NULL; + SpitPluggable* _tmp32_ = NULL; + SpitPluggable* _tmp33_ = NULL; +#line 237 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp30_ = for_type; +#line 237 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp31_ = pluggable_rep; +#line 237 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp32_ = plugins_pluggable_rep_get_pluggable (_tmp31_); +#line 237 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp33_ = _tmp32_; +#line 237 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + gee_collection_add (_tmp30_, _tmp33_); +#line 3129 "Plugins.c" + } +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_pluggable_rep_unref0 (pluggable_rep); +#line 3133 "Plugins.c" + } +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (_pluggable_rep_it); +#line 3137 "Plugins.c" + } +#line 241 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = for_type; +#line 241 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + (compare_func_target_destroy_notify == NULL) ? NULL : (compare_func_target_destroy_notify (compare_func_target), NULL); +#line 241 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + compare_func = NULL; +#line 241 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + compare_func_target = NULL; +#line 241 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + compare_func_target_destroy_notify = NULL; +#line 241 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 3151 "Plugins.c" +} + + +gchar* plugins_get_pluggable_name (const gchar* id) { + gchar* result = NULL; + PluginsPluggableRep* pluggable_rep = NULL; + GeeHashMap* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + PluginsPluggableRep* _tmp5_ = NULL; + gchar* _tmp13_ = NULL; +#line 244 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (id != NULL, NULL); +#line 245 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = plugins_pluggable_table; +#line 245 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = id; +#line 245 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 245 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggable_rep = (PluginsPluggableRep*) _tmp2_; +#line 247 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = pluggable_rep; +#line 247 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp5_ != NULL) { +#line 3179 "Plugins.c" + PluginsPluggableRep* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + gboolean _tmp8_ = FALSE; +#line 247 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = pluggable_rep; +#line 247 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = plugins_pluggable_rep_get_activated (_tmp6_); +#line 247 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp8_ = _tmp7_; +#line 247 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = _tmp8_; +#line 3191 "Plugins.c" + } else { +#line 247 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = FALSE; +#line 3195 "Plugins.c" + } +#line 247 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp4_) { +#line 3199 "Plugins.c" + PluginsPluggableRep* _tmp9_ = NULL; + SpitPluggable* _tmp10_ = NULL; + SpitPluggable* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; +#line 248 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp9_ = pluggable_rep; +#line 248 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp10_ = plugins_pluggable_rep_get_pluggable (_tmp9_); +#line 248 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp11_ = _tmp10_; +#line 248 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp12_ = spit_pluggable_get_pluggable_name (_tmp11_); +#line 248 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = _tmp12_; +#line 3214 "Plugins.c" + } else { +#line 248 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = NULL; +#line 3218 "Plugins.c" + } +#line 247 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp13_ = g_strdup (_tmp3_); +#line 247 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp13_; +#line 247 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_pluggable_rep_unref0 (pluggable_rep); +#line 247 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 3228 "Plugins.c" +} + + +gboolean plugins_get_pluggable_info (const gchar* id, SpitPluggableInfo* info) { + gboolean result = FALSE; + PluginsPluggableRep* pluggable_rep = NULL; + GeeHashMap* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + PluginsPluggableRep* _tmp4_ = NULL; + PluginsPluggableRep* _tmp8_ = NULL; + SpitPluggable* _tmp9_ = NULL; + SpitPluggable* _tmp10_ = NULL; +#line 251 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (id != NULL, FALSE); +#line 251 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (info != NULL, FALSE); +#line 252 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = plugins_pluggable_table; +#line 252 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = id; +#line 252 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 252 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggable_rep = (PluginsPluggableRep*) _tmp2_; +#line 253 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = pluggable_rep; +#line 253 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp4_ == NULL) { +#line 253 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = TRUE; +#line 3261 "Plugins.c" + } else { + PluginsPluggableRep* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; +#line 253 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = pluggable_rep; +#line 253 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = plugins_pluggable_rep_get_activated (_tmp5_); +#line 253 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = _tmp6_; +#line 253 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = !_tmp7_; +#line 3274 "Plugins.c" + } +#line 253 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp3_) { +#line 254 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = FALSE; +#line 254 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_pluggable_rep_unref0 (pluggable_rep); +#line 254 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 3284 "Plugins.c" + } +#line 256 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp8_ = pluggable_rep; +#line 256 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp9_ = plugins_pluggable_rep_get_pluggable (_tmp8_); +#line 256 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp10_ = _tmp9_; +#line 256 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + spit_pluggable_get_info (_tmp10_, info); +#line 258 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = TRUE; +#line 258 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_pluggable_rep_unref0 (pluggable_rep); +#line 258 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 3300 "Plugins.c" +} + + +gboolean plugins_get_pluggable_enabled (const gchar* id, gboolean* enabled) { + gboolean _vala_enabled = FALSE; + gboolean result = FALSE; + PluginsPluggableRep* pluggable_rep = NULL; + GeeHashMap* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + PluginsPluggableRep* _tmp4_ = NULL; + PluginsPluggableRep* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 261 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (id != NULL, FALSE); +#line 262 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = plugins_pluggable_table; +#line 262 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = id; +#line 262 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 262 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggable_rep = (PluginsPluggableRep*) _tmp2_; +#line 263 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = pluggable_rep; +#line 263 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp4_ == NULL) { +#line 263 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = TRUE; +#line 3331 "Plugins.c" + } else { + PluginsPluggableRep* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; +#line 263 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = pluggable_rep; +#line 263 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = plugins_pluggable_rep_get_activated (_tmp5_); +#line 263 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = _tmp6_; +#line 263 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = !_tmp7_; +#line 3344 "Plugins.c" + } +#line 263 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp3_) { +#line 264 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _vala_enabled = FALSE; +#line 266 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = FALSE; +#line 266 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_pluggable_rep_unref0 (pluggable_rep); +#line 266 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (enabled) { +#line 266 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *enabled = _vala_enabled; +#line 3358 "Plugins.c" + } +#line 266 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 3362 "Plugins.c" + } +#line 269 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp8_ = pluggable_rep; +#line 269 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp9_ = plugins_pluggable_rep_is_enabled (_tmp8_); +#line 269 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _vala_enabled = _tmp9_; +#line 271 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = TRUE; +#line 271 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_pluggable_rep_unref0 (pluggable_rep); +#line 271 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (enabled) { +#line 271 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *enabled = _vala_enabled; +#line 3378 "Plugins.c" + } +#line 271 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 3382 "Plugins.c" +} + + +void plugins_set_pluggable_enabled (const gchar* id, gboolean enabled) { + PluginsPluggableRep* pluggable_rep = NULL; + GeeHashMap* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + PluginsPluggableRep* _tmp4_ = NULL; + PluginsPluggableRep* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + gboolean _tmp10_ = FALSE; +#line 274 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (id != NULL); +#line 275 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = plugins_pluggable_table; +#line 275 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = id; +#line 275 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 275 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggable_rep = (PluginsPluggableRep*) _tmp2_; +#line 276 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = pluggable_rep; +#line 276 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp4_ == NULL) { +#line 276 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = TRUE; +#line 3412 "Plugins.c" + } else { + PluginsPluggableRep* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; +#line 276 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = pluggable_rep; +#line 276 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = plugins_pluggable_rep_get_activated (_tmp5_); +#line 276 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = _tmp6_; +#line 276 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = !_tmp7_; +#line 3425 "Plugins.c" + } +#line 276 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp3_) { +#line 277 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_pluggable_rep_unref0 (pluggable_rep); +#line 277 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return; +#line 3433 "Plugins.c" + } +#line 279 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp8_ = pluggable_rep; +#line 279 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp9_ = enabled; +#line 279 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp10_ = plugins_pluggable_rep_set_enabled (_tmp8_, _tmp9_); +#line 279 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp10_) { +#line 3443 "Plugins.c" + PluginsNotifier* _tmp11_ = NULL; + PluginsNotifier* _tmp12_ = NULL; + PluginsPluggableRep* _tmp13_ = NULL; + SpitPluggable* _tmp14_ = NULL; + SpitPluggable* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; +#line 280 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp11_ = plugins_notifier_get_instance (); +#line 280 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp12_ = _tmp11_; +#line 280 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp13_ = pluggable_rep; +#line 280 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp14_ = plugins_pluggable_rep_get_pluggable (_tmp13_); +#line 280 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp15_ = _tmp14_; +#line 280 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp16_ = enabled; +#line 280 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_signal_emit_by_name (_tmp12_, "pluggable-activation", _tmp15_, _tmp16_); +#line 280 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_notifier_unref0 (_tmp12_); +#line 3466 "Plugins.c" + } +#line 274 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_pluggable_rep_unref0 (pluggable_rep); +#line 3470 "Plugins.c" +} + + +GFile* plugins_get_pluggable_module_file (SpitPluggable* pluggable) { + GFile* result = NULL; + PluginsModuleRep* module_rep = NULL; + SpitPluggable* _tmp0_ = NULL; + PluginsModuleRep* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + PluginsModuleRep* _tmp3_ = NULL; + GFile* _tmp6_ = NULL; +#line 283 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (SPIT_IS_PLUGGABLE (pluggable), NULL); +#line 284 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = pluggable; +#line 284 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = plugins_get_module_for_pluggable (_tmp0_); +#line 284 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + module_rep = _tmp1_; +#line 286 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = module_rep; +#line 286 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp3_ != NULL) { +#line 3494 "Plugins.c" + PluginsModuleRep* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; +#line 286 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = module_rep; +#line 286 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = _tmp4_->file; +#line 286 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = _tmp5_; +#line 3503 "Plugins.c" + } else { +#line 286 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = NULL; +#line 3507 "Plugins.c" + } +#line 286 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = _g_object_ref0 (_tmp2_); +#line 286 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp6_; +#line 286 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_module_rep_unref0 (module_rep); +#line 286 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 3517 "Plugins.c" +} + + +gint plugins_compare_pluggable_names (void* a, void* b) { + gint result = 0; + SpitPluggable* apluggable = NULL; + void* _tmp0_ = NULL; + SpitPluggable* bpluggable = NULL; + void* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gint _tmp4_ = 0; +#line 290 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = a; +#line 290 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + apluggable = (SpitPluggable*) _tmp0_; +#line 291 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = b; +#line 291 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + bpluggable = (SpitPluggable*) _tmp1_; +#line 293 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = spit_pluggable_get_pluggable_name (G_TYPE_CHECK_INSTANCE_CAST (apluggable, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 293 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = spit_pluggable_get_pluggable_name (G_TYPE_CHECK_INSTANCE_CAST (bpluggable, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 293 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = g_utf8_collate (_tmp2_, _tmp3_); +#line 293 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp4_; +#line 293 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 3548 "Plugins.c" +} + + +gint plugins_compare_extension_point_names (void* a, void* b) { + gint result = 0; + PluginsExtensionPoint* apoint = NULL; + void* _tmp0_ = NULL; + PluginsExtensionPoint* bpoint = NULL; + void* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gint _tmp6_ = 0; +#line 297 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = a; +#line 297 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + apoint = (PluginsExtensionPoint*) _tmp0_; +#line 298 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = b; +#line 298 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + bpoint = (PluginsExtensionPoint*) _tmp1_; +#line 300 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = plugins_extension_point_get_name (G_TYPE_CHECK_INSTANCE_CAST (apoint, PLUGINS_TYPE_EXTENSION_POINT, PluginsExtensionPoint)); +#line 300 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = _tmp2_; +#line 300 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = plugins_extension_point_get_name (G_TYPE_CHECK_INSTANCE_CAST (bpoint, PLUGINS_TYPE_EXTENSION_POINT, PluginsExtensionPoint)); +#line 300 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = _tmp4_; +#line 300 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = g_utf8_collate (_tmp3_, _tmp5_); +#line 300 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp6_; +#line 300 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 3585 "Plugins.c" +} + + +gboolean plugins_is_shared_library (GFile* file) { + gboolean result = FALSE; + gchar* name = NULL; + gchar* ext = NULL; + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 303 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 305 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = file; +#line 305 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = g_file_get_basename (_tmp0_); +#line 305 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = _tmp1_; +#line 305 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + disassemble_filename (_tmp2_, &_tmp3_, &_tmp4_); +#line 305 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (name); +#line 305 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + name = _tmp3_; +#line 305 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (ext); +#line 305 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + ext = _tmp4_; +#line 305 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (_tmp2_); +#line 3618 "Plugins.c" + { + const gchar** shared_ext_collection = NULL; + gint shared_ext_collection_length1 = 0; + gint _shared_ext_collection_size_ = 0; + gint shared_ext_it = 0; +#line 307 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + shared_ext_collection = PLUGINS_SHARED_LIB_EXTS; +#line 307 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + shared_ext_collection_length1 = G_N_ELEMENTS (PLUGINS_SHARED_LIB_EXTS); +#line 307 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + for (shared_ext_it = 0; shared_ext_it < G_N_ELEMENTS (PLUGINS_SHARED_LIB_EXTS); shared_ext_it = shared_ext_it + 1) { +#line 3630 "Plugins.c" + gchar* _tmp5_ = NULL; + gchar* shared_ext = NULL; +#line 307 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = g_strdup (shared_ext_collection[shared_ext_it]); +#line 307 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + shared_ext = _tmp5_; +#line 3637 "Plugins.c" + { + const gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; +#line 308 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = ext; +#line 308 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = shared_ext; +#line 308 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (g_strcmp0 (_tmp6_, _tmp7_) == 0) { +#line 309 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = TRUE; +#line 309 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (shared_ext); +#line 309 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (ext); +#line 309 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (name); +#line 309 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 3657 "Plugins.c" + } +#line 307 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (shared_ext); +#line 3661 "Plugins.c" + } + } + } +#line 312 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = FALSE; +#line 312 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (ext); +#line 312 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (name); +#line 312 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 3673 "Plugins.c" +} + + +void plugins_search_for_plugins (GFile* dir, GError** error) { + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GFileEnumerator* enumerator = NULL; + GFile* _tmp3_ = NULL; + GFileEnumerator* _tmp4_ = NULL; + GError * _inner_error_ = NULL; +#line 315 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_IS_FILE (dir)); +#line 316 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = dir; +#line 316 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = g_file_get_path (_tmp0_); +#line 316 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = _tmp1_; +#line 316 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_debug ("Plugins.vala:316: Searching %s for plugins ...", _tmp2_); +#line 316 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (_tmp2_); +#line 320 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = dir; +#line 320 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = g_file_enumerate_children (_tmp3_, UTIL_FILE_ATTRIBUTES, G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL, &_inner_error_); +#line 320 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + enumerator = _tmp4_; +#line 320 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 320 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_propagate_error (error, _inner_error_); +#line 320 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return; +#line 3709 "Plugins.c" + } + { + gboolean _tmp5_ = FALSE; +#line 322 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = TRUE; +#line 322 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + while (TRUE) { +#line 3717 "Plugins.c" + GFileInfo* info = NULL; + GFileEnumerator* _tmp6_ = NULL; + GFileInfo* _tmp7_ = NULL; + GFileInfo* _tmp8_ = NULL; + GFileInfo* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + GFile* file = NULL; + GFile* _tmp11_ = NULL; + GFileInfo* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; + GFileInfo* _tmp15_ = NULL; + GFileType _tmp16_ = 0; +#line 322 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!_tmp5_) { +#line 3733 "Plugins.c" + } +#line 322 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = FALSE; +#line 323 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = enumerator; +#line 323 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = g_file_enumerator_next_file (_tmp6_, NULL, &_inner_error_); +#line 323 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + info = _tmp7_; +#line 323 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 323 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_propagate_error (error, _inner_error_); +#line 323 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (enumerator); +#line 323 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return; +#line 3751 "Plugins.c" + } +#line 324 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp8_ = info; +#line 324 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp8_ == NULL) { +#line 325 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (info); +#line 325 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + break; +#line 3761 "Plugins.c" + } +#line 327 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp9_ = info; +#line 327 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp10_ = g_file_info_get_is_hidden (_tmp9_); +#line 327 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp10_) { +#line 328 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (info); +#line 328 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + continue; +#line 3773 "Plugins.c" + } +#line 330 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp11_ = dir; +#line 330 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp12_ = info; +#line 330 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp13_ = g_file_info_get_name (_tmp12_); +#line 330 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp14_ = g_file_get_child (_tmp11_, _tmp13_); +#line 330 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + file = _tmp14_; +#line 332 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp15_ = info; +#line 332 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp16_ = g_file_info_get_file_type (_tmp15_); +#line 332 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + switch (_tmp16_) { +#line 332 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + case G_FILE_TYPE_DIRECTORY: +#line 3793 "Plugins.c" + { + { + GFile* _tmp17_ = NULL; +#line 335 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp17_ = file; +#line 335 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_search_for_plugins (_tmp17_, &_inner_error_); +#line 335 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3803 "Plugins.c" + goto __catch32_g_error; + } + } + goto __finally32; + __catch32_g_error: + { + GError* err = NULL; + GFile* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + GError* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; +#line 334 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + err = _inner_error_; +#line 334 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _inner_error_ = NULL; +#line 337 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp18_ = file; +#line 337 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp19_ = g_file_get_path (_tmp18_); +#line 337 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp20_ = _tmp19_; +#line 337 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp21_ = err; +#line 337 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp22_ = _tmp21_->message; +#line 337 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_warning ("Plugins.vala:337: Unable to search directory %s for plugins: %s", _tmp20_, _tmp22_); +#line 337 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (_tmp20_); +#line 334 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_error_free0 (err); +#line 3836 "Plugins.c" + } + __finally32: +#line 334 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 334 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_propagate_error (error, _inner_error_); +#line 334 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (file); +#line 334 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (info); +#line 334 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (enumerator); +#line 334 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return; +#line 3851 "Plugins.c" + } +#line 339 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + break; +#line 3855 "Plugins.c" + } +#line 332 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + case G_FILE_TYPE_REGULAR: +#line 3859 "Plugins.c" + { + GFile* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; +#line 342 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp23_ = file; +#line 342 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp24_ = plugins_is_shared_library (_tmp23_); +#line 342 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp24_) { +#line 3869 "Plugins.c" + GFile* _tmp25_ = NULL; +#line 343 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp25_ = file; +#line 343 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_load_module (_tmp25_); +#line 3875 "Plugins.c" + } +#line 344 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + break; +#line 3879 "Plugins.c" + } + default: + { +#line 348 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + break; +#line 3885 "Plugins.c" + } + } +#line 322 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (file); +#line 322 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (info); +#line 3892 "Plugins.c" + } + } +#line 315 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (enumerator); +#line 3897 "Plugins.c" +} + + +void plugins_load_module (GFile* file) { + PluginsModuleRep* module_rep = NULL; + GFile* _tmp0_ = NULL; + PluginsModuleRep* _tmp1_ = NULL; + PluginsModuleRep* _tmp2_ = NULL; + void* entry = NULL; + PluginsModuleRep* _tmp7_ = NULL; + GModule* _tmp8_ = NULL; + void* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + SpitEntryPoint spit_entry_point = NULL; + void* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + SpitEntryPointParams params = {0}; + GFile* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; + PluginsModuleRep* _tmp18_ = NULL; + SpitEntryPoint _tmp19_ = NULL; + SpitModule* _tmp20_ = NULL; + SpitEntryPointParams _tmp21_ = {0}; + gint _tmp22_ = 0; + gboolean _tmp26_ = FALSE; + SpitEntryPointParams _tmp27_ = {0}; + gint _tmp28_ = 0; + PluginsModuleRep* _tmp36_ = NULL; + SpitEntryPointParams _tmp37_ = {0}; + gint _tmp38_ = 0; + PluginsModuleRep* _tmp39_ = NULL; + SpitModule* _tmp40_ = NULL; + PluginsModuleRep* _tmp42_ = NULL; + SpitModule* _tmp43_ = NULL; + PluginsModuleRep* _tmp49_ = NULL; + PluginsModuleRep* _tmp50_ = NULL; + SpitModule* _tmp51_ = NULL; + const gchar* _tmp52_ = NULL; + gchar* _tmp53_ = NULL; + PluginsModuleRep* _tmp54_ = NULL; + const gchar* _tmp55_ = NULL; + GeeHashMap* _tmp61_ = NULL; + PluginsModuleRep* _tmp62_ = NULL; + const gchar* _tmp63_ = NULL; + gboolean _tmp64_ = FALSE; + PluginsModuleRep* _tmp72_ = NULL; + SpitModule* _tmp73_ = NULL; + const gchar* _tmp74_ = NULL; + PluginsModuleRep* _tmp75_ = NULL; + SpitModule* _tmp76_ = NULL; + const gchar* _tmp77_ = NULL; + PluginsModuleRep* _tmp78_ = NULL; + const gchar* _tmp79_ = NULL; + GFile* _tmp80_ = NULL; + gchar* _tmp81_ = NULL; + gchar* _tmp82_ = NULL; + GeeHashMap* _tmp83_ = NULL; + PluginsModuleRep* _tmp84_ = NULL; + const gchar* _tmp85_ = NULL; + PluginsModuleRep* _tmp86_ = NULL; + PluginsModuleRep* _tmp87_ = NULL; + SpitModule* _tmp88_ = NULL; + gint _tmp89_ = 0; + SpitPluggable** _tmp90_ = NULL; +#line 353 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 354 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = file; +#line 354 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = plugins_module_rep_open (_tmp0_); +#line 354 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + module_rep = _tmp1_; +#line 355 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = module_rep; +#line 355 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp2_ == NULL) { +#line 3974 "Plugins.c" + GFile* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; +#line 356 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = file; +#line 356 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = g_file_get_path (_tmp3_); +#line 356 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = _tmp4_; +#line 356 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = g_module_error (); +#line 356 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_critical ("Plugins.vala:356: Unable to load module %s: %s", _tmp5_, _tmp6_); +#line 356 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (_tmp5_); +#line 358 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_module_rep_unref0 (module_rep); +#line 358 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return; +#line 3995 "Plugins.c" + } +#line 363 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = module_rep; +#line 363 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp8_ = _tmp7_->module; +#line 363 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp10_ = g_module_symbol (_tmp8_, SPIT_ENTRY_POINT_NAME, &_tmp9_); +#line 363 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + entry = _tmp9_; +#line 363 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!_tmp10_) { +#line 4007 "Plugins.c" + GFile* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; +#line 364 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp11_ = file; +#line 364 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp12_ = g_file_get_path (_tmp11_); +#line 364 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp13_ = _tmp12_; +#line 364 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_critical ("Plugins.vala:364: Unable to load module %s: well-known entry point %s " \ +"not found", _tmp13_, SPIT_ENTRY_POINT_NAME); +#line 364 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (_tmp13_); +#line 367 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_module_rep_unref0 (module_rep); +#line 367 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return; +#line 4025 "Plugins.c" + } +#line 370 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp14_ = entry; +#line 370 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + spit_entry_point = (SpitEntryPoint) _tmp14_; +#line 372 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (PLUGINS_MIN_SPIT_INTERFACE <= SPIT_CURRENT_INTERFACE) { +#line 372 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp15_ = SPIT_CURRENT_INTERFACE <= PLUGINS_MAX_SPIT_INTERFACE; +#line 4035 "Plugins.c" + } else { +#line 372 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp15_ = FALSE; +#line 4039 "Plugins.c" + } +#line 372 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _vala_assert (_tmp15_, "MIN_SPIT_INTERFACE <= Spit.CURRENT_INTERFACE && Spit.CURRENT_INTERFACE <= MAX_SPIT_INTERFACE"); +#line 373 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + memset (¶ms, 0, sizeof (SpitEntryPointParams)); +#line 374 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + params.host_min_spit_interface = PLUGINS_MIN_SPIT_INTERFACE; +#line 375 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + params.host_max_spit_interface = PLUGINS_MAX_SPIT_INTERFACE; +#line 376 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + params.module_spit_interface = SPIT_UNSUPPORTED_INTERFACE; +#line 377 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp16_ = file; +#line 377 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp17_ = _g_object_ref0 (_tmp16_); +#line 377 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (params.module_file); +#line 377 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + params.module_file = _tmp17_; +#line 379 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp18_ = module_rep; +#line 379 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp19_ = spit_entry_point; +#line 379 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp20_ = _tmp19_ (¶ms); +#line 379 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (_tmp18_->spit_module); +#line 379 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp18_->spit_module = _tmp20_; +#line 380 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp21_ = params; +#line 380 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp22_ = _tmp21_.module_spit_interface; +#line 380 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp22_ == SPIT_UNSUPPORTED_INTERFACE) { +#line 4075 "Plugins.c" + GFile* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; +#line 381 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp23_ = file; +#line 381 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp24_ = g_file_get_path (_tmp23_); +#line 381 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp25_ = _tmp24_; +#line 381 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_critical ("Plugins.vala:381: Unable to load module %s: module reports no support " \ +"for SPIT interfaces %d to %d", _tmp25_, PLUGINS_MIN_SPIT_INTERFACE, PLUGINS_MAX_SPIT_INTERFACE); +#line 381 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (_tmp25_); +#line 384 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + spit_entry_point_params_destroy (¶ms); +#line 384 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_module_rep_unref0 (module_rep); +#line 384 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return; +#line 4095 "Plugins.c" + } +#line 387 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp27_ = params; +#line 387 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp28_ = _tmp27_.module_spit_interface; +#line 387 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp28_ < PLUGINS_MIN_SPIT_INTERFACE) { +#line 387 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp26_ = TRUE; +#line 4105 "Plugins.c" + } else { + SpitEntryPointParams _tmp29_ = {0}; + gint _tmp30_ = 0; +#line 387 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp29_ = params; +#line 387 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp30_ = _tmp29_.module_spit_interface; +#line 387 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp26_ = _tmp30_ > PLUGINS_MAX_SPIT_INTERFACE; +#line 4115 "Plugins.c" + } +#line 387 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp26_) { +#line 4119 "Plugins.c" + GFile* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + PluginsModuleRep* _tmp34_ = NULL; + gint _tmp35_ = 0; +#line 388 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp31_ = file; +#line 388 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp32_ = g_file_get_path (_tmp31_); +#line 388 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp33_ = _tmp32_; +#line 388 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp34_ = module_rep; +#line 388 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp35_ = _tmp34_->spit_interface; +#line 388 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_critical ("Plugins.vala:388: Unable to load module %s: module reports unsupported" \ +" SPIT version %d (out of range %d to %d)", _tmp33_, _tmp35_, PLUGINS_MIN_SPIT_INTERFACE, PLUGINS_MAX_SPIT_INTERFACE); +#line 388 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (_tmp33_); +#line 391 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + spit_entry_point_params_destroy (¶ms); +#line 391 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_module_rep_unref0 (module_rep); +#line 391 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return; +#line 4145 "Plugins.c" + } +#line 394 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp36_ = module_rep; +#line 394 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp37_ = params; +#line 394 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp38_ = _tmp37_.module_spit_interface; +#line 394 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp36_->spit_interface = _tmp38_; +#line 397 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp39_ = module_rep; +#line 397 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp40_ = _tmp39_->spit_module; +#line 397 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!G_TYPE_CHECK_INSTANCE_TYPE (_tmp40_, SPIT_TYPE_MODULE)) { +#line 4161 "Plugins.c" + PluginsModuleRep* _tmp41_ = NULL; +#line 398 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp41_ = module_rep; +#line 398 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (_tmp41_->spit_module); +#line 398 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp41_->spit_module = NULL; +#line 4169 "Plugins.c" + } +#line 400 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp42_ = module_rep; +#line 400 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp43_ = _tmp42_->spit_module; +#line 400 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp43_ == NULL) { +#line 4177 "Plugins.c" + GFile* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + gchar* _tmp46_ = NULL; + PluginsModuleRep* _tmp47_ = NULL; + gint _tmp48_ = 0; +#line 401 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp44_ = file; +#line 401 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp45_ = g_file_get_path (_tmp44_); +#line 401 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp46_ = _tmp45_; +#line 401 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp47_ = module_rep; +#line 401 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp48_ = _tmp47_->spit_interface; +#line 401 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_critical ("Plugins.vala:401: Unable to load module %s (SPIT %d): no spit module r" \ +"eturned", _tmp46_, _tmp48_); +#line 401 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (_tmp46_); +#line 404 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + spit_entry_point_params_destroy (¶ms); +#line 404 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_module_rep_unref0 (module_rep); +#line 404 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return; +#line 4203 "Plugins.c" + } +#line 409 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp49_ = module_rep; +#line 409 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp50_ = module_rep; +#line 409 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp51_ = _tmp50_->spit_module; +#line 409 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp52_ = spit_module_get_id (_tmp51_); +#line 409 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp53_ = prepare_input_text (_tmp52_, PREPARE_INPUT_TEXT_OPTIONS_DEFAULT, -1); +#line 409 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (_tmp49_->id); +#line 409 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp49_->id = _tmp53_; +#line 410 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp54_ = module_rep; +#line 410 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp55_ = _tmp54_->id; +#line 410 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp55_ == NULL) { +#line 4225 "Plugins.c" + GFile* _tmp56_ = NULL; + gchar* _tmp57_ = NULL; + gchar* _tmp58_ = NULL; + PluginsModuleRep* _tmp59_ = NULL; + gint _tmp60_ = 0; +#line 411 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp56_ = file; +#line 411 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp57_ = g_file_get_path (_tmp56_); +#line 411 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp58_ = _tmp57_; +#line 411 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp59_ = module_rep; +#line 411 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp60_ = _tmp59_->spit_interface; +#line 411 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_critical ("Plugins.vala:411: Unable to load module %s (SPIT %d): invalid or empty" \ +" module name", _tmp58_, _tmp60_); +#line 411 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (_tmp58_); +#line 414 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + spit_entry_point_params_destroy (¶ms); +#line 414 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_module_rep_unref0 (module_rep); +#line 414 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return; +#line 4251 "Plugins.c" + } +#line 417 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp61_ = plugins_module_table; +#line 417 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp62_ = module_rep; +#line 417 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp63_ = _tmp62_->id; +#line 417 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp64_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp63_); +#line 417 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp64_) { +#line 4263 "Plugins.c" + GFile* _tmp65_ = NULL; + gchar* _tmp66_ = NULL; + gchar* _tmp67_ = NULL; + PluginsModuleRep* _tmp68_ = NULL; + gint _tmp69_ = 0; + PluginsModuleRep* _tmp70_ = NULL; + const gchar* _tmp71_ = NULL; +#line 418 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp65_ = file; +#line 418 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp66_ = g_file_get_path (_tmp65_); +#line 418 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp67_ = _tmp66_; +#line 418 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp68_ = module_rep; +#line 418 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp69_ = _tmp68_->spit_interface; +#line 418 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp70_ = module_rep; +#line 418 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp71_ = _tmp70_->id; +#line 418 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_critical ("Plugins.vala:418: Not loading module %s (SPIT %d): module with name \"" \ +"%s\" already loaded", _tmp67_, _tmp69_, _tmp71_); +#line 418 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (_tmp67_); +#line 421 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + spit_entry_point_params_destroy (¶ms); +#line 421 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_module_rep_unref0 (module_rep); +#line 421 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return; +#line 4295 "Plugins.c" + } +#line 424 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp72_ = module_rep; +#line 424 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp73_ = _tmp72_->spit_module; +#line 424 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp74_ = spit_module_get_module_name (_tmp73_); +#line 424 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp75_ = module_rep; +#line 424 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp76_ = _tmp75_->spit_module; +#line 424 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp77_ = spit_module_get_version (_tmp76_); +#line 424 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp78_ = module_rep; +#line 424 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp79_ = _tmp78_->id; +#line 424 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp80_ = file; +#line 424 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp81_ = g_file_get_path (_tmp80_); +#line 424 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp82_ = _tmp81_; +#line 424 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_debug ("Plugins.vala:424: Loaded SPIT module \"%s %s\" (%s) [%s]", _tmp74_, _tmp77_, _tmp79_, _tmp82_); +#line 424 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (_tmp82_); +#line 428 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp83_ = plugins_module_table; +#line 428 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp84_ = module_rep; +#line 428 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp85_ = _tmp84_->id; +#line 428 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp86_ = module_rep; +#line 428 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp83_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp85_, _tmp86_); +#line 431 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp87_ = module_rep; +#line 431 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp88_ = _tmp87_->spit_module; +#line 431 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp90_ = spit_module_get_pluggables (_tmp88_, &_tmp89_); +#line 4339 "Plugins.c" + { + SpitPluggable** pluggable_collection = NULL; + gint pluggable_collection_length1 = 0; + gint _pluggable_collection_size_ = 0; + gint pluggable_it = 0; +#line 431 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggable_collection = _tmp90_; +#line 431 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggable_collection_length1 = _tmp89_; +#line 431 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + for (pluggable_it = 0; pluggable_it < _tmp89_; pluggable_it = pluggable_it + 1) { +#line 4351 "Plugins.c" + SpitPluggable* _tmp91_ = NULL; + SpitPluggable* pluggable = NULL; +#line 431 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp91_ = _g_object_ref0 (pluggable_collection[pluggable_it]); +#line 431 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggable = _tmp91_; +#line 4358 "Plugins.c" + { + GeeHashMap* _tmp92_ = NULL; + SpitPluggable* _tmp93_ = NULL; + const gchar* _tmp94_ = NULL; + SpitPluggable* _tmp95_ = NULL; + PluginsPluggableRep* _tmp96_ = NULL; + PluginsPluggableRep* _tmp97_ = NULL; +#line 432 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp92_ = plugins_pluggable_table; +#line 432 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp93_ = pluggable; +#line 432 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp94_ = spit_pluggable_get_id (_tmp93_); +#line 432 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp95_ = pluggable; +#line 432 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp96_ = plugins_pluggable_rep_new (_tmp95_); +#line 432 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp97_ = _tmp96_; +#line 432 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp92_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp94_, _tmp97_); +#line 432 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_pluggable_rep_unref0 (_tmp97_); +#line 431 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (pluggable); +#line 4384 "Plugins.c" + } + } + } +#line 353 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + spit_entry_point_params_destroy (¶ms); +#line 353 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_module_rep_unref0 (module_rep); +#line 4392 "Plugins.c" +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/plugins/PublishingInterfaces.c b/src/plugins/PublishingInterfaces.c new file mode 100644 index 0000000..e2e22cb --- /dev/null +++ b/src/plugins/PublishingInterfaces.c @@ -0,0 +1,1760 @@ +/* PublishingInterfaces.c generated by valac 0.32.1, the Vala compiler + * generated from PublishingInterfaces.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include <glib.h> +#include <glib-object.h> +#include <stdlib.h> +#include <string.h> +#include <gdk-pixbuf/gdk-pixbuf.h> +#include <gio/gio.h> +#include <float.h> +#include <math.h> +#include <gtk/gtk.h> + + +#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_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_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_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_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 ()) + +/** + * Defines different kinds of errors that can occur during publishing. + */ +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 () +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 _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_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); +}; + + + +#define SPIT_PUBLISHING_CURRENT_INTERFACE 0 +GQuark spit_publishing_publishing_error_quark (void); +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_host_interface_get_type (void) G_GNUC_CONST; +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); +static void spit_publishing_publisher_real_reserved0 (SpitPublishingPublisher* self); +void spit_publishing_publisher_reserved1 (SpitPublishingPublisher* self); +static void spit_publishing_publisher_real_reserved1 (SpitPublishingPublisher* self); +void spit_publishing_publisher_reserved2 (SpitPublishingPublisher* self); +static void spit_publishing_publisher_real_reserved2 (SpitPublishingPublisher* self); +void spit_publishing_publisher_reserved3 (SpitPublishingPublisher* self); +static void spit_publishing_publisher_real_reserved3 (SpitPublishingPublisher* self); +void spit_publishing_publisher_reserved4 (SpitPublishingPublisher* self); +static void spit_publishing_publisher_real_reserved4 (SpitPublishingPublisher* self); +void spit_publishing_publisher_reserved5 (SpitPublishingPublisher* self); +static void spit_publishing_publisher_real_reserved5 (SpitPublishingPublisher* self); +void spit_publishing_publisher_reserved6 (SpitPublishingPublisher* self); +static void spit_publishing_publisher_real_reserved6 (SpitPublishingPublisher* self); +void spit_publishing_publisher_reserved7 (SpitPublishingPublisher* self); +static void spit_publishing_publisher_real_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); +static void spit_publishing_dialog_pane_real_reserved0 (SpitPublishingDialogPane* self); +void spit_publishing_dialog_pane_reserved1 (SpitPublishingDialogPane* self); +static void spit_publishing_dialog_pane_real_reserved1 (SpitPublishingDialogPane* self); +void spit_publishing_dialog_pane_reserved2 (SpitPublishingDialogPane* self); +static void spit_publishing_dialog_pane_real_reserved2 (SpitPublishingDialogPane* self); +void spit_publishing_dialog_pane_reserved3 (SpitPublishingDialogPane* self); +static void spit_publishing_dialog_pane_real_reserved3 (SpitPublishingDialogPane* self); +void spit_publishing_dialog_pane_reserved4 (SpitPublishingDialogPane* self); +static void spit_publishing_dialog_pane_real_reserved4 (SpitPublishingDialogPane* self); +void spit_publishing_dialog_pane_reserved5 (SpitPublishingDialogPane* self); +static void spit_publishing_dialog_pane_real_reserved5 (SpitPublishingDialogPane* self); +void spit_publishing_dialog_pane_reserved6 (SpitPublishingDialogPane* self); +static void spit_publishing_dialog_pane_real_reserved6 (SpitPublishingDialogPane* self); +void spit_publishing_dialog_pane_reserved7 (SpitPublishingDialogPane* self); +static void spit_publishing_dialog_pane_real_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); +static void spit_publishing_plugin_host_real_reserved0 (SpitPublishingPluginHost* self); +void spit_publishing_plugin_host_reserved1 (SpitPublishingPluginHost* self); +static void spit_publishing_plugin_host_real_reserved1 (SpitPublishingPluginHost* self); +void spit_publishing_plugin_host_reserved2 (SpitPublishingPluginHost* self); +static void spit_publishing_plugin_host_real_reserved2 (SpitPublishingPluginHost* self); +void spit_publishing_plugin_host_reserved3 (SpitPublishingPluginHost* self); +static void spit_publishing_plugin_host_real_reserved3 (SpitPublishingPluginHost* self); +void spit_publishing_plugin_host_reserved4 (SpitPublishingPluginHost* self); +static void spit_publishing_plugin_host_real_reserved4 (SpitPublishingPluginHost* self); +void spit_publishing_plugin_host_reserved5 (SpitPublishingPluginHost* self); +static void spit_publishing_plugin_host_real_reserved5 (SpitPublishingPluginHost* self); +void spit_publishing_plugin_host_reserved6 (SpitPublishingPluginHost* self); +static void spit_publishing_plugin_host_real_reserved6 (SpitPublishingPluginHost* self); +void spit_publishing_plugin_host_reserved7 (SpitPublishingPluginHost* self); +static void spit_publishing_plugin_host_real_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); +static void spit_publishing_publishable_real_reserved0 (SpitPublishingPublishable* self); +void spit_publishing_publishable_reserved1 (SpitPublishingPublishable* self); +static void spit_publishing_publishable_real_reserved1 (SpitPublishingPublishable* self); +void spit_publishing_publishable_reserved2 (SpitPublishingPublishable* self); +static void spit_publishing_publishable_real_reserved2 (SpitPublishingPublishable* self); +void spit_publishing_publishable_reserved3 (SpitPublishingPublishable* self); +static void spit_publishing_publishable_real_reserved3 (SpitPublishingPublishable* self); +void spit_publishing_publishable_reserved4 (SpitPublishingPublishable* self); +static void spit_publishing_publishable_real_reserved4 (SpitPublishingPublishable* self); +void spit_publishing_publishable_reserved5 (SpitPublishingPublishable* self); +static void spit_publishing_publishable_real_reserved5 (SpitPublishingPublishable* self); +void spit_publishing_publishable_reserved6 (SpitPublishingPublishable* self); +static void spit_publishing_publishable_real_reserved6 (SpitPublishingPublishable* self); +void spit_publishing_publishable_reserved7 (SpitPublishingPublishable* self); +static void spit_publishing_publishable_real_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); +static void spit_publishing_service_real_reserved0 (SpitPublishingService* self); +void spit_publishing_service_reserved1 (SpitPublishingService* self); +static void spit_publishing_service_real_reserved1 (SpitPublishingService* self); +void spit_publishing_service_reserved2 (SpitPublishingService* self); +static void spit_publishing_service_real_reserved2 (SpitPublishingService* self); +void spit_publishing_service_reserved3 (SpitPublishingService* self); +static void spit_publishing_service_real_reserved3 (SpitPublishingService* self); +void spit_publishing_service_reserved4 (SpitPublishingService* self); +static void spit_publishing_service_real_reserved4 (SpitPublishingService* self); +void spit_publishing_service_reserved5 (SpitPublishingService* self); +static void spit_publishing_service_real_reserved5 (SpitPublishingService* self); +void spit_publishing_service_reserved6 (SpitPublishingService* self); +static void spit_publishing_service_real_reserved6 (SpitPublishingService* self); +void spit_publishing_service_reserved7 (SpitPublishingService* self); +static void spit_publishing_service_real_reserved7 (SpitPublishingService* self); + + +GQuark spit_publishing_publishing_error_quark (void) { + return g_quark_from_static_string ("spit_publishing_publishing_error-quark"); +} + + +/** + * Describes the kinds of media a publishing service supports. + * + * Values can be masked together, for example: {{{(MediaType.PHOTO | MediaType.VIDEO)}}} + * indicates that a publishing service supports the upload of both photos and videos. + */ +GType spit_publishing_publisher_media_type_get_type (void) { + static volatile gsize spit_publishing_publisher_media_type_type_id__volatile = 0; + if (g_once_init_enter (&spit_publishing_publisher_media_type_type_id__volatile)) { + static const GEnumValue values[] = {{SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_NONE, "SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_NONE", "none"}, {SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO, "SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO", "photo"}, {SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO, "SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO", "video"}, {0, NULL, NULL}}; + GType spit_publishing_publisher_media_type_type_id; + spit_publishing_publisher_media_type_type_id = g_enum_register_static ("SpitPublishingPublisherMediaType", values); + g_once_init_leave (&spit_publishing_publisher_media_type_type_id__volatile, spit_publishing_publisher_media_type_type_id); + } + return spit_publishing_publisher_media_type_type_id__volatile; +} + + +/** + * Returns a {@link Service} object describing the service to which this connects. + */ +SpitPublishingService* spit_publishing_publisher_get_service (SpitPublishingPublisher* self) { +#line 121 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHER (self), NULL); +#line 121 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_PUBLISHER_GET_INTERFACE (self)->get_service (self); +#line 432 "PublishingInterfaces.c" +} + + +/** + * Makes this publisher enter the running state and endows it with exclusive access + * to the shared services provided by the {@link PluginHost}. Through the host’s interface, + * this publisher can install user interface panes and query configuration information. + * Only running services should perform network operations. + */ +void spit_publishing_publisher_start (SpitPublishingPublisher* self) { +#line 129 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHER (self)); +#line 129 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHER_GET_INTERFACE (self)->start (self); +#line 447 "PublishingInterfaces.c" +} + + +/** + * Returns true if this publisher is in the running state; false otherwise. + */ +gboolean spit_publishing_publisher_is_running (SpitPublishingPublisher* self) { +#line 134 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHER (self), FALSE); +#line 134 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_PUBLISHER_GET_INTERFACE (self)->is_running (self); +#line 459 "PublishingInterfaces.c" +} + + +/** + * Causes this publisher to enter a non-running state. This publisher should stop all + * network operations and cease use of the shared services provided by the {@link PluginHost}. + */ +void spit_publishing_publisher_stop (SpitPublishingPublisher* self) { +#line 140 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHER (self)); +#line 140 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHER_GET_INTERFACE (self)->stop (self); +#line 472 "PublishingInterfaces.c" +} + + +static void spit_publishing_publisher_real_reserved0 (SpitPublishingPublisher* self) { +} + + +void spit_publishing_publisher_reserved0 (SpitPublishingPublisher* self) { +#line 145 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHER (self)); +#line 145 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHER_GET_INTERFACE (self)->reserved0 (self); +#line 485 "PublishingInterfaces.c" +} + + +static void spit_publishing_publisher_real_reserved1 (SpitPublishingPublisher* self) { +} + + +void spit_publishing_publisher_reserved1 (SpitPublishingPublisher* self) { +#line 146 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHER (self)); +#line 146 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHER_GET_INTERFACE (self)->reserved1 (self); +#line 498 "PublishingInterfaces.c" +} + + +static void spit_publishing_publisher_real_reserved2 (SpitPublishingPublisher* self) { +} + + +void spit_publishing_publisher_reserved2 (SpitPublishingPublisher* self) { +#line 147 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHER (self)); +#line 147 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHER_GET_INTERFACE (self)->reserved2 (self); +#line 511 "PublishingInterfaces.c" +} + + +static void spit_publishing_publisher_real_reserved3 (SpitPublishingPublisher* self) { +} + + +void spit_publishing_publisher_reserved3 (SpitPublishingPublisher* self) { +#line 148 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHER (self)); +#line 148 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHER_GET_INTERFACE (self)->reserved3 (self); +#line 524 "PublishingInterfaces.c" +} + + +static void spit_publishing_publisher_real_reserved4 (SpitPublishingPublisher* self) { +} + + +void spit_publishing_publisher_reserved4 (SpitPublishingPublisher* self) { +#line 149 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHER (self)); +#line 149 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHER_GET_INTERFACE (self)->reserved4 (self); +#line 537 "PublishingInterfaces.c" +} + + +static void spit_publishing_publisher_real_reserved5 (SpitPublishingPublisher* self) { +} + + +void spit_publishing_publisher_reserved5 (SpitPublishingPublisher* self) { +#line 150 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHER (self)); +#line 150 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHER_GET_INTERFACE (self)->reserved5 (self); +#line 550 "PublishingInterfaces.c" +} + + +static void spit_publishing_publisher_real_reserved6 (SpitPublishingPublisher* self) { +} + + +void spit_publishing_publisher_reserved6 (SpitPublishingPublisher* self) { +#line 151 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHER (self)); +#line 151 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHER_GET_INTERFACE (self)->reserved6 (self); +#line 563 "PublishingInterfaces.c" +} + + +static void spit_publishing_publisher_real_reserved7 (SpitPublishingPublisher* self) { +} + + +void spit_publishing_publisher_reserved7 (SpitPublishingPublisher* self) { +#line 152 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHER (self)); +#line 152 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHER_GET_INTERFACE (self)->reserved7 (self); +#line 576 "PublishingInterfaces.c" +} + + +static void spit_publishing_publisher_base_init (SpitPublishingPublisherIface * iface) { +#line 105 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + static gboolean initialized = FALSE; +#line 105 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + if (!initialized) { +#line 105 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + initialized = TRUE; +#line 105 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved0 = spit_publishing_publisher_real_reserved0; +#line 105 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved1 = spit_publishing_publisher_real_reserved1; +#line 105 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved2 = spit_publishing_publisher_real_reserved2; +#line 105 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved3 = spit_publishing_publisher_real_reserved3; +#line 105 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved4 = spit_publishing_publisher_real_reserved4; +#line 105 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved5 = spit_publishing_publisher_real_reserved5; +#line 105 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved6 = spit_publishing_publisher_real_reserved6; +#line 105 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved7 = spit_publishing_publisher_real_reserved7; +#line 603 "PublishingInterfaces.c" + } +} + + +/** + * Represents a connection to a publishing service. + * + * Developers of publishing plugins provide a class that implements this interface. At + * any given time, only one Publisher can be running. When a publisher is running, it is + * allowed to access the network and has exclusive use of the shared user-interface and + * configuration services provided by the {@link PluginHost}. Publishers are created in + * a non-running state and do not begin running until start( ) is invoked. Publishers + * run until stop( ) is invoked. + */ +GType spit_publishing_publisher_get_type (void) { + static volatile gsize spit_publishing_publisher_type_id__volatile = 0; + if (g_once_init_enter (&spit_publishing_publisher_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitPublishingPublisherIface), (GBaseInitFunc) spit_publishing_publisher_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_publishing_publisher_type_id; + spit_publishing_publisher_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitPublishingPublisher", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_publishing_publisher_type_id, G_TYPE_OBJECT); + g_once_init_leave (&spit_publishing_publisher_type_id__volatile, spit_publishing_publisher_type_id); + } + return spit_publishing_publisher_type_id__volatile; +} + + +/** + * Describes how the on-screen publishing dialog box should look and behave when an associated + * pane is installed in the on-screen publishing dialog box. + */ +GType spit_publishing_dialog_pane_geometry_options_get_type (void) { + static volatile gsize spit_publishing_dialog_pane_geometry_options_type_id__volatile = 0; + if (g_once_init_enter (&spit_publishing_dialog_pane_geometry_options_type_id__volatile)) { + static const GEnumValue values[] = {{SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_NONE, "SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_NONE", "none"}, {SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_EXTENDED_SIZE, "SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_EXTENDED_SIZE", "extended-size"}, {SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_RESIZABLE, "SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_RESIZABLE", "resizable"}, {SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_COLOSSAL_SIZE, "SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_COLOSSAL_SIZE", "colossal-size"}, {0, NULL, NULL}}; + GType spit_publishing_dialog_pane_geometry_options_type_id; + spit_publishing_dialog_pane_geometry_options_type_id = g_enum_register_static ("SpitPublishingDialogPaneGeometryOptions", values); + g_once_init_leave (&spit_publishing_dialog_pane_geometry_options_type_id__volatile, spit_publishing_dialog_pane_geometry_options_type_id); + } + return spit_publishing_dialog_pane_geometry_options_type_id__volatile; +} + + +/** + * Returns the Gtk.Widget that is this pane's on-screen representation. + */ +GtkWidget* spit_publishing_dialog_pane_get_widget (SpitPublishingDialogPane* self) { +#line 197 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_DIALOG_PANE (self), NULL); +#line 197 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_DIALOG_PANE_GET_INTERFACE (self)->get_widget (self); +#line 655 "PublishingInterfaces.c" +} + + +/** + * Returns a {@link GeometryOptions} bitfield describing how the on-screen publishing dialog + * box should look and behave when this pane is installed. + */ +SpitPublishingDialogPaneGeometryOptions spit_publishing_dialog_pane_get_preferred_geometry (SpitPublishingDialogPane* self) { +#line 203 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_DIALOG_PANE (self), 0); +#line 203 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_DIALOG_PANE_GET_INTERFACE (self)->get_preferred_geometry (self); +#line 668 "PublishingInterfaces.c" +} + + +/** + * Invoked automatically by Shotwell when this pane has been installed into the on-screen + * publishing dialog box and become visible to the user. + */ +void spit_publishing_dialog_pane_on_pane_installed (SpitPublishingDialogPane* self) { +#line 209 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_DIALOG_PANE (self)); +#line 209 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_DIALOG_PANE_GET_INTERFACE (self)->on_pane_installed (self); +#line 681 "PublishingInterfaces.c" +} + + +/** + * Invoked automatically by Shotwell when this pane has been removed from the on-screen + * publishing dialog box and is no longer visible to the user. + */ +void spit_publishing_dialog_pane_on_pane_uninstalled (SpitPublishingDialogPane* self) { +#line 215 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_DIALOG_PANE (self)); +#line 215 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_DIALOG_PANE_GET_INTERFACE (self)->on_pane_uninstalled (self); +#line 694 "PublishingInterfaces.c" +} + + +static void spit_publishing_dialog_pane_real_reserved0 (SpitPublishingDialogPane* self) { +} + + +void spit_publishing_dialog_pane_reserved0 (SpitPublishingDialogPane* self) { +#line 220 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_DIALOG_PANE (self)); +#line 220 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_DIALOG_PANE_GET_INTERFACE (self)->reserved0 (self); +#line 707 "PublishingInterfaces.c" +} + + +static void spit_publishing_dialog_pane_real_reserved1 (SpitPublishingDialogPane* self) { +} + + +void spit_publishing_dialog_pane_reserved1 (SpitPublishingDialogPane* self) { +#line 221 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_DIALOG_PANE (self)); +#line 221 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_DIALOG_PANE_GET_INTERFACE (self)->reserved1 (self); +#line 720 "PublishingInterfaces.c" +} + + +static void spit_publishing_dialog_pane_real_reserved2 (SpitPublishingDialogPane* self) { +} + + +void spit_publishing_dialog_pane_reserved2 (SpitPublishingDialogPane* self) { +#line 222 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_DIALOG_PANE (self)); +#line 222 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_DIALOG_PANE_GET_INTERFACE (self)->reserved2 (self); +#line 733 "PublishingInterfaces.c" +} + + +static void spit_publishing_dialog_pane_real_reserved3 (SpitPublishingDialogPane* self) { +} + + +void spit_publishing_dialog_pane_reserved3 (SpitPublishingDialogPane* self) { +#line 223 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_DIALOG_PANE (self)); +#line 223 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_DIALOG_PANE_GET_INTERFACE (self)->reserved3 (self); +#line 746 "PublishingInterfaces.c" +} + + +static void spit_publishing_dialog_pane_real_reserved4 (SpitPublishingDialogPane* self) { +} + + +void spit_publishing_dialog_pane_reserved4 (SpitPublishingDialogPane* self) { +#line 224 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_DIALOG_PANE (self)); +#line 224 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_DIALOG_PANE_GET_INTERFACE (self)->reserved4 (self); +#line 759 "PublishingInterfaces.c" +} + + +static void spit_publishing_dialog_pane_real_reserved5 (SpitPublishingDialogPane* self) { +} + + +void spit_publishing_dialog_pane_reserved5 (SpitPublishingDialogPane* self) { +#line 225 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_DIALOG_PANE (self)); +#line 225 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_DIALOG_PANE_GET_INTERFACE (self)->reserved5 (self); +#line 772 "PublishingInterfaces.c" +} + + +static void spit_publishing_dialog_pane_real_reserved6 (SpitPublishingDialogPane* self) { +} + + +void spit_publishing_dialog_pane_reserved6 (SpitPublishingDialogPane* self) { +#line 226 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_DIALOG_PANE (self)); +#line 226 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_DIALOG_PANE_GET_INTERFACE (self)->reserved6 (self); +#line 785 "PublishingInterfaces.c" +} + + +static void spit_publishing_dialog_pane_real_reserved7 (SpitPublishingDialogPane* self) { +} + + +void spit_publishing_dialog_pane_reserved7 (SpitPublishingDialogPane* self) { +#line 227 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_DIALOG_PANE (self)); +#line 227 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_DIALOG_PANE_GET_INTERFACE (self)->reserved7 (self); +#line 798 "PublishingInterfaces.c" +} + + +static void spit_publishing_dialog_pane_base_init (SpitPublishingDialogPaneIface * iface) { +#line 160 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + static gboolean initialized = FALSE; +#line 160 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + if (!initialized) { +#line 160 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + initialized = TRUE; +#line 160 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved0 = spit_publishing_dialog_pane_real_reserved0; +#line 160 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved1 = spit_publishing_dialog_pane_real_reserved1; +#line 160 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved2 = spit_publishing_dialog_pane_real_reserved2; +#line 160 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved3 = spit_publishing_dialog_pane_real_reserved3; +#line 160 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved4 = spit_publishing_dialog_pane_real_reserved4; +#line 160 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved5 = spit_publishing_dialog_pane_real_reserved5; +#line 160 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved6 = spit_publishing_dialog_pane_real_reserved6; +#line 160 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved7 = spit_publishing_dialog_pane_real_reserved7; +#line 825 "PublishingInterfaces.c" + } +} + + +/** + * Encapsulates a pane that can be installed in the on-screen publishing dialog box to + * communicate status to and to get information from the user. + * + */ +GType spit_publishing_dialog_pane_get_type (void) { + static volatile gsize spit_publishing_dialog_pane_type_id__volatile = 0; + if (g_once_init_enter (&spit_publishing_dialog_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitPublishingDialogPaneIface), (GBaseInitFunc) spit_publishing_dialog_pane_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_publishing_dialog_pane_type_id; + spit_publishing_dialog_pane_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitPublishingDialogPane", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_publishing_dialog_pane_type_id, G_TYPE_OBJECT); + g_once_init_leave (&spit_publishing_dialog_pane_type_id__volatile, spit_publishing_dialog_pane_type_id); + } + return spit_publishing_dialog_pane_type_id__volatile; +} + + +/** + * Specifies the label text on the push button control that appears in the + * lower-right-hand corner of the on-screen publishing dialog box. + */ +GType spit_publishing_plugin_host_button_mode_get_type (void) { + static volatile gsize spit_publishing_plugin_host_button_mode_type_id__volatile = 0; + if (g_once_init_enter (&spit_publishing_plugin_host_button_mode_type_id__volatile)) { + static const GEnumValue values[] = {{SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CLOSE, "SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CLOSE", "close"}, {SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL, "SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL", "cancel"}, {0, NULL, NULL}}; + GType spit_publishing_plugin_host_button_mode_type_id; + spit_publishing_plugin_host_button_mode_type_id = g_enum_register_static ("SpitPublishingPluginHostButtonMode", values); + g_once_init_leave (&spit_publishing_plugin_host_button_mode_type_id__volatile, spit_publishing_plugin_host_button_mode_type_id); + } + return spit_publishing_plugin_host_button_mode_type_id__volatile; +} + + +/** + * Notifies the user that an unrecoverable publishing error has occurred and halts + * the publishing process. + * + * @param err An error object that describes the kind of error that occurred. + */ +void spit_publishing_plugin_host_post_error (SpitPublishingPluginHost* self, GError* err) { +#line 277 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 277 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->post_error (self, err); +#line 875 "PublishingInterfaces.c" +} + + +/** + * Halts the publishing process. + * + * Calling this method stops all network activity and hides the on-screen publishing + * dialog box. + */ +void spit_publishing_plugin_host_stop_publishing (SpitPublishingPluginHost* self) { +#line 285 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 285 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->stop_publishing (self); +#line 890 "PublishingInterfaces.c" +} + + +/** + * Returns a reference to the {@link Publisher} object that this is currently hosting. + */ +SpitPublishingPublisher* spit_publishing_plugin_host_get_publisher (SpitPublishingPluginHost* self) { +#line 290 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self), NULL); +#line 290 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->get_publisher (self); +#line 902 "PublishingInterfaces.c" +} + + +/** + * Attempts to install a pane in the on-screen publishing dialog box, making the pane visible + * and allowing it to interact with the user. + * + * If an error has posted, the {@link PluginHost} will not honor this request. + * + * @param pane the pane to install + * + * @param mode allows you to set the text displayed on the close/cancel button in the + * lower-right-hand corner of the on-screen publishing dialog box when pane is installed. + * If mode is ButtonMode.CLOSE, the button will have the title "Close." If mode is + * ButtonMode.CANCEL, the button will be titled "Cancel." You should set mode depending on + * whether a cancellable action is in progress. For example, if your publisher is in the + * middle of uploading 3 of 8 videos, then mode should be ButtonMode.CANCEL. However, if + * the publishing operation has completed and the success pane is displayed, then mode + * should be ButtonMode.CLOSE, because all cancellable publishing actions have already + * occurred. + */ +void spit_publishing_plugin_host_install_dialog_pane (SpitPublishingPluginHost* self, SpitPublishingDialogPane* pane, SpitPublishingPluginHostButtonMode mode) { +#line 310 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 310 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->install_dialog_pane (self, pane, mode); +#line 929 "PublishingInterfaces.c" +} + + +/** + * Attempts to install a pane in the on-screen publishing dialog box that contains + * static text. + * + * The text appears centered in the publishing dialog box and is drawn in + * the system font. This is a convenience method only; similar results could be + * achieved by manually constructing a Gtk.Label widget, wrapping it inside a + * {@link DialogPane}, and installing it manually with a call to + * install_dialog_pane( ). To provide visual consistency across publishing services, + * however, always use this convenience method instead of constructing label panes when + * you need to display static text to the user. + * + * If an error has posted, the {@link PluginHost} will not honor this request. + * + * @param message the text to show in the pane + * + * @param mode allows you to set the text displayed on the close/cancel button in the + * lower-right-hand corner of the on-screen publishing dialog box when pane is installed. + * If mode is ButtonMode.CLOSE, the button will have the title "Close." If mode is + * ButtonMode.CANCEL, the button will be titled "Cancel." You should set mode depending on + * whether a cancellable action is in progress. For example, if your publisher is in the + * middle of uploading 3 of 8 videos, then mode should be ButtonMode.CANCEL. However, if + * the publishing operation has completed and the success pane is displayed, then mode + * should be ButtonMode.CLOSE, because all cancellable publishing actions have already + * occurred. + */ +void spit_publishing_plugin_host_install_static_message_pane (SpitPublishingPluginHost* self, const gchar* message, SpitPublishingPluginHostButtonMode mode) { +#line 339 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 339 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->install_static_message_pane (self, message, mode); +#line 964 "PublishingInterfaces.c" +} + + +/** + * Works just like {@link install_static_message_pane} but allows markup to contain + * Pango text formatting tags as well as unstyled text. + * + * If an error has posted, the {@link PluginHost} will not honor this request. + * + * @param markup the text to show in the pane, marked up with Pango formatting tags. + * + * @param mode allows you to set the text displayed on the close/cancel button in the + * lower-right-hand corner of the on-screen publishing dialog box when pane is installed. + * If mode is ButtonMode.CLOSE, the button will have the title "Close." If mode is + * ButtonMode.CANCEL, the button will be titled "Cancel." You should set mode depending on + * whether a cancellable action is in progress. For example, if your publisher is in the + * middle of uploading 3 of 8 videos, then mode should be ButtonMode.CANCEL. However, if + * the publishing operation has completed and the success pane is displayed, then mode + * should be ButtonMode.CLOSE, because all cancellable publishing actions have already + * occurred. + */ +void spit_publishing_plugin_host_install_pango_message_pane (SpitPublishingPluginHost* self, const gchar* markup, SpitPublishingPluginHostButtonMode mode) { +#line 360 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 360 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->install_pango_message_pane (self, markup, mode); +#line 991 "PublishingInterfaces.c" +} + + +/** + * Attempts to install a pane in the on-screen publishing dialog box notifying the user + * that his or her publishing operation completed successfully. + * + * The text displayed depends on the type of media the current publishing service + * supports. To provide visual consistency across publishing services and to allow + * Shotwell to handle internationalization, always use this convenience method; don’t + * contruct and install success panes manually. + * + * If an error has posted, the {@link PluginHost} will not honor + * this request. + */ +void spit_publishing_plugin_host_install_success_pane (SpitPublishingPluginHost* self) { +#line 375 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 375 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->install_success_pane (self); +#line 1012 "PublishingInterfaces.c" +} + + +/** + * Attempts to install a pane displaying the static text “Fetching account information...” + * in the on-screen publishing dialog box, making it visible to the user. + * + * This is a convenience method only; similar results could be achieved by calling + * {@link install_static_message_pane} with an appropriate text argument. To provide + * visual consistency across publishing services and to allow Shotwell to handle + * internationalization, however, you should always use this convenience method whenever + * you need to tell the user that you’re querying account information over the network. + * Queries such as this are almost always performed immediately after the user has logged + * in to the remote service. + * + * If an error has posted, the {@link PluginHost} will not honor this request. + */ +void spit_publishing_plugin_host_install_account_fetch_wait_pane (SpitPublishingPluginHost* self) { +#line 391 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 391 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->install_account_fetch_wait_pane (self); +#line 1035 "PublishingInterfaces.c" +} + + +/** + * Works just like {@link install_account_fetch_wait_pane} but displays the static text + * “Logging in...“ + * + * As with {@link install_account_fetch_wait_pane}, this is a convenience method, but + * you should you use it provide to visual consistency and to let Shotwell handle + * internationalization. See the description of {@link install_account_fetch_wait_pane} + * for more information. + * + * If an error has posted, the {@link PluginHost} will not honor this request. + */ +void spit_publishing_plugin_host_install_login_wait_pane (SpitPublishingPluginHost* self) { +#line 405 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 405 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->install_login_wait_pane (self); +#line 1055 "PublishingInterfaces.c" +} + + +/** + * Attempts to install a pane displaying the text 'welcome_message' above a push + * button labeled “Login” in the on-screen publishing dialog box, making it visible to the + * user. + * + * When the user clicks the “Login” button, you’ll be notified of the user’s action through + * the callback 'on_login_clicked'. Every Publisher should provide a welcome pane to + * introduce the service and explain service-specific features or restrictions. To provide + * visual consistency across publishing services and to allow Shotwell to handle + * internationalization, always use this convenience method; don’t contruct and install + * welcome panes manually. + * + * If an error has posted, the {@link PluginHost} will not honor this request. + * + * @param welcome_message the text to be displayed above a push button labeled “Login” + * in the on-screen publishing dialog box. + * + * @param on_login_clicked specifies the callback that is invoked when the user clicks + * the “Login” button. + */ +void spit_publishing_plugin_host_install_welcome_pane (SpitPublishingPluginHost* self, const gchar* welcome_message, SpitPublishingLoginCallback on_login_clicked, void* on_login_clicked_target) { +#line 427 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 427 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->install_welcome_pane (self, welcome_message, on_login_clicked, on_login_clicked_target); +#line 1084 "PublishingInterfaces.c" +} + + +/** + * Toggles whether the service selector combo box in the upper-right-hand corner of the + * on-screen publishing dialog box is sensitive to input. + * + * Publishers should make the service selector box insensitive to input when they are performing + * non-interruptible file or network operations, since switching to another publishing + * service will halt whatever service is currently running. Under certain circumstances, + * the {@link PluginHost} may not honor this request. + * + * @param is_locked when is_locked is true, the service selector combo box is made insensitive. + * It appears greyed out and the user is prevented from switching to another publishing service. + * When is_locked is false, the combo box is sensitive, allowing the user to freely switch + * from the current service to another service. + */ +void spit_publishing_plugin_host_set_service_locked (SpitPublishingPluginHost* self, gboolean is_locked) { +#line 444 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 444 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->set_service_locked (self, is_locked); +#line 1107 "PublishingInterfaces.c" +} + + +/** + * Makes the designated widget the default widget for the publishing dialog. + * + * After a call to this method, the designated widget will be activated whenever the user + * presses the [ENTER] key anywhere in the on-screen publishing dialog box. Under certain + * circumstances, the {@link PluginHost} may not honor this request. + * + * @param widget a reference to the widget to designate as the default widget for the + * publishing dialog. + */ +void spit_publishing_plugin_host_set_dialog_default_widget (SpitPublishingPluginHost* self, GtkWidget* widget) { +#line 456 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 456 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->set_dialog_default_widget (self, widget); +#line 1126 "PublishingInterfaces.c" +} + + +/** + * Returns an array of the publishable media items that the user has selected for upload to the + * remote service. + */ +SpitPublishingPublishable** spit_publishing_plugin_host_get_publishables (SpitPublishingPluginHost* self, int* result_length1) { +#line 462 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self), NULL); +#line 462 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->get_publishables (self, result_length1); +#line 1139 "PublishingInterfaces.c" +} + + +/** + * Writes all of the publishable media items that the user has selected for upload to the + * remote service to a temporary directory on a local disk. + * + * You should call this method immediately before sending the publishable media items to the + * remote service over the network. Because serializing several megabytes of data is a + * potentially lengthy operation, calling this method installs an activity status pane in + * the on-screen publishing dialog box. The activity status pane displays a progress bar along + * with a string of informational text. + * + * Because sending items over the network to the remote service is also a potentially lengthy + * operation, you should leave the activity status pane installed in the on-screen publishing + * dialog box until this task is finished. Periodically during the sending process, you should + * report to the user on the progress of his or her upload. You can do this by invoking the + * returned {@link ProgressCallback} delegate. + * + * After calling this method, the activity status pane that this method installs remains + * displayed in the on-screen publishing dialog box until you install a new pane. + * + * @param content_major_axis when serializing publishable media items that are photos, + * ensure that neither the width nor the height of the serialized + * photo is greater than content_major_axis pixels. The value of + * this parameter has no effect on video publishables. + * + * @param strip_metadata when serializing publishable media items that are photos, if + * strip_metadata is true, all EXIF, IPTC, and XMP metadata will be + * removed from the serialized file. If strip_metadata is false, all + * metadata will be left intact. The value of this parameter has no + * effect on video publishables. + */ +SpitPublishingProgressCallback spit_publishing_plugin_host_serialize_publishables (SpitPublishingPluginHost* self, gint content_major_axis, gboolean strip_metadata, void** result_target, GDestroyNotify* result_target_destroy_notify) { +#line 494 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self), NULL); +#line 494 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->serialize_publishables (self, content_major_axis, strip_metadata, result_target, result_target_destroy_notify); +#line 1178 "PublishingInterfaces.c" +} + + +/** + * Returns a {@link Publisher.MediaType} bitfield describing which kinds of media are present + * in the set of publishable media items that the user has selected for upload to the remote + * service. + */ +SpitPublishingPublisherMediaType spit_publishing_plugin_host_get_publishable_media_type (SpitPublishingPluginHost* self) { +#line 502 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self), 0); +#line 502 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->get_publishable_media_type (self); +#line 1192 "PublishingInterfaces.c" +} + + +static void spit_publishing_plugin_host_real_reserved0 (SpitPublishingPluginHost* self) { +} + + +void spit_publishing_plugin_host_reserved0 (SpitPublishingPluginHost* self) { +#line 507 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 507 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->reserved0 (self); +#line 1205 "PublishingInterfaces.c" +} + + +static void spit_publishing_plugin_host_real_reserved1 (SpitPublishingPluginHost* self) { +} + + +void spit_publishing_plugin_host_reserved1 (SpitPublishingPluginHost* self) { +#line 508 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 508 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->reserved1 (self); +#line 1218 "PublishingInterfaces.c" +} + + +static void spit_publishing_plugin_host_real_reserved2 (SpitPublishingPluginHost* self) { +} + + +void spit_publishing_plugin_host_reserved2 (SpitPublishingPluginHost* self) { +#line 509 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 509 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->reserved2 (self); +#line 1231 "PublishingInterfaces.c" +} + + +static void spit_publishing_plugin_host_real_reserved3 (SpitPublishingPluginHost* self) { +} + + +void spit_publishing_plugin_host_reserved3 (SpitPublishingPluginHost* self) { +#line 510 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 510 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->reserved3 (self); +#line 1244 "PublishingInterfaces.c" +} + + +static void spit_publishing_plugin_host_real_reserved4 (SpitPublishingPluginHost* self) { +} + + +void spit_publishing_plugin_host_reserved4 (SpitPublishingPluginHost* self) { +#line 511 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 511 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->reserved4 (self); +#line 1257 "PublishingInterfaces.c" +} + + +static void spit_publishing_plugin_host_real_reserved5 (SpitPublishingPluginHost* self) { +} + + +void spit_publishing_plugin_host_reserved5 (SpitPublishingPluginHost* self) { +#line 512 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 512 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->reserved5 (self); +#line 1270 "PublishingInterfaces.c" +} + + +static void spit_publishing_plugin_host_real_reserved6 (SpitPublishingPluginHost* self) { +} + + +void spit_publishing_plugin_host_reserved6 (SpitPublishingPluginHost* self) { +#line 513 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 513 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->reserved6 (self); +#line 1283 "PublishingInterfaces.c" +} + + +static void spit_publishing_plugin_host_real_reserved7 (SpitPublishingPluginHost* self) { +} + + +void spit_publishing_plugin_host_reserved7 (SpitPublishingPluginHost* self) { +#line 514 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 514 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->reserved7 (self); +#line 1296 "PublishingInterfaces.c" +} + + +static void spit_publishing_plugin_host_base_init (SpitPublishingPluginHostIface * iface) { +#line 260 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + static gboolean initialized = FALSE; +#line 260 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + if (!initialized) { +#line 260 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + initialized = TRUE; +#line 260 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved0 = spit_publishing_plugin_host_real_reserved0; +#line 260 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved1 = spit_publishing_plugin_host_real_reserved1; +#line 260 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved2 = spit_publishing_plugin_host_real_reserved2; +#line 260 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved3 = spit_publishing_plugin_host_real_reserved3; +#line 260 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved4 = spit_publishing_plugin_host_real_reserved4; +#line 260 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved5 = spit_publishing_plugin_host_real_reserved5; +#line 260 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved6 = spit_publishing_plugin_host_real_reserved6; +#line 260 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved7 = spit_publishing_plugin_host_real_reserved7; +#line 1323 "PublishingInterfaces.c" + } +} + + +/** + * Manages and provides services for publishing plugins. + * + * Implemented inside Shotwell, the PluginHost provides an interface through which the + * developers of publishing plugins can query and make changes to the publishing + * environment. For example, through the PluginHost, plugins can get a list of the photos + * and videos to be published, install and remove user-interface panes in the publishing + * dialog box, and request that the items to be uploaded be serialized to a temporary + * directory on disk. Plugins can use the services of the PluginHost only when their + * {@link Publisher} is in the running state. This ensures that non-running publishers + * don’t destructively interfere with the actively running publisher. + */ +GType spit_publishing_plugin_host_get_type (void) { + static volatile gsize spit_publishing_plugin_host_type_id__volatile = 0; + if (g_once_init_enter (&spit_publishing_plugin_host_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitPublishingPluginHostIface), (GBaseInitFunc) spit_publishing_plugin_host_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_publishing_plugin_host_type_id; + spit_publishing_plugin_host_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitPublishingPluginHost", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_publishing_plugin_host_type_id, G_TYPE_OBJECT); + g_type_interface_add_prerequisite (spit_publishing_plugin_host_type_id, SPIT_TYPE_HOST_INTERFACE); + g_once_init_leave (&spit_publishing_plugin_host_type_id__volatile, spit_publishing_plugin_host_type_id); + } + return spit_publishing_plugin_host_type_id__volatile; +} + + +/** + * Returns a handle to the file on disk to which this publishable's data has been + * serialized. + * + * You should use this file handle to read into memory the binary data you will send over + * the network to the remote publishing service when this publishable is uploaded. + */ +GFile* spit_publishing_publishable_get_serialized_file (SpitPublishingPublishable* self) { +#line 535 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (self), NULL); +#line 535 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_PUBLISHABLE_GET_INTERFACE (self)->get_serialized_file (self); +#line 1366 "PublishingInterfaces.c" +} + + +/** + * Returns a name that can be used to identify this publishable to the remote service. + * If the publishing host cannot derive a sensible name, this method will + * return an empty string. Plugins should be able to handle that situation + * and provide a fallback value. One possible option for a fallback is: + * get_param_string(Spit.Publishing.Publishable.PARAM_STRING_BASENAME) + */ +gchar* spit_publishing_publishable_get_publishing_name (SpitPublishingPublishable* self) { +#line 544 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (self), NULL); +#line 544 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_PUBLISHABLE_GET_INTERFACE (self)->get_publishing_name (self); +#line 1382 "PublishingInterfaces.c" +} + + +/** + * Returns a string value from the publishable corresponding with the parameter name + * provided, or null if there is no value for this name. + */ +gchar* spit_publishing_publishable_get_param_string (SpitPublishingPublishable* self, const gchar* name) { +#line 550 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (self), NULL); +#line 550 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_PUBLISHABLE_GET_INTERFACE (self)->get_param_string (self, name); +#line 1395 "PublishingInterfaces.c" +} + + +/** + * Returns an array of strings that should be used to tag or mark this publishable on the + * remote service, or null if this publishable has no tags or markings. + */ +gchar** spit_publishing_publishable_get_publishing_keywords (SpitPublishingPublishable* self, int* result_length1) { +#line 556 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (self), NULL); +#line 556 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_PUBLISHABLE_GET_INTERFACE (self)->get_publishing_keywords (self, result_length1); +#line 1408 "PublishingInterfaces.c" +} + + +/** + * Returns the kind of media item this publishable encapsulates. + */ +SpitPublishingPublisherMediaType spit_publishing_publishable_get_media_type (SpitPublishingPublishable* self) { +#line 561 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (self), 0); +#line 561 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_PUBLISHABLE_GET_INTERFACE (self)->get_media_type (self); +#line 1420 "PublishingInterfaces.c" +} + + +/** + * Returns the creation timestamp on the file. + */ +GDateTime* spit_publishing_publishable_get_exposure_date_time (SpitPublishingPublishable* self) { +#line 566 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (self), NULL); +#line 566 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_PUBLISHABLE_GET_INTERFACE (self)->get_exposure_date_time (self); +#line 1432 "PublishingInterfaces.c" +} + + +static void spit_publishing_publishable_real_reserved0 (SpitPublishingPublishable* self) { +} + + +void spit_publishing_publishable_reserved0 (SpitPublishingPublishable* self) { +#line 571 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (self)); +#line 571 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHABLE_GET_INTERFACE (self)->reserved0 (self); +#line 1445 "PublishingInterfaces.c" +} + + +static void spit_publishing_publishable_real_reserved1 (SpitPublishingPublishable* self) { +} + + +void spit_publishing_publishable_reserved1 (SpitPublishingPublishable* self) { +#line 572 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (self)); +#line 572 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHABLE_GET_INTERFACE (self)->reserved1 (self); +#line 1458 "PublishingInterfaces.c" +} + + +static void spit_publishing_publishable_real_reserved2 (SpitPublishingPublishable* self) { +} + + +void spit_publishing_publishable_reserved2 (SpitPublishingPublishable* self) { +#line 573 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (self)); +#line 573 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHABLE_GET_INTERFACE (self)->reserved2 (self); +#line 1471 "PublishingInterfaces.c" +} + + +static void spit_publishing_publishable_real_reserved3 (SpitPublishingPublishable* self) { +} + + +void spit_publishing_publishable_reserved3 (SpitPublishingPublishable* self) { +#line 574 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (self)); +#line 574 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHABLE_GET_INTERFACE (self)->reserved3 (self); +#line 1484 "PublishingInterfaces.c" +} + + +static void spit_publishing_publishable_real_reserved4 (SpitPublishingPublishable* self) { +} + + +void spit_publishing_publishable_reserved4 (SpitPublishingPublishable* self) { +#line 575 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (self)); +#line 575 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHABLE_GET_INTERFACE (self)->reserved4 (self); +#line 1497 "PublishingInterfaces.c" +} + + +static void spit_publishing_publishable_real_reserved5 (SpitPublishingPublishable* self) { +} + + +void spit_publishing_publishable_reserved5 (SpitPublishingPublishable* self) { +#line 576 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (self)); +#line 576 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHABLE_GET_INTERFACE (self)->reserved5 (self); +#line 1510 "PublishingInterfaces.c" +} + + +static void spit_publishing_publishable_real_reserved6 (SpitPublishingPublishable* self) { +} + + +void spit_publishing_publishable_reserved6 (SpitPublishingPublishable* self) { +#line 577 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (self)); +#line 577 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHABLE_GET_INTERFACE (self)->reserved6 (self); +#line 1523 "PublishingInterfaces.c" +} + + +static void spit_publishing_publishable_real_reserved7 (SpitPublishingPublishable* self) { +} + + +void spit_publishing_publishable_reserved7 (SpitPublishingPublishable* self) { +#line 578 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (self)); +#line 578 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHABLE_GET_INTERFACE (self)->reserved7 (self); +#line 1536 "PublishingInterfaces.c" +} + + +static void spit_publishing_publishable_base_init (SpitPublishingPublishableIface * iface) { +#line 521 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + static gboolean initialized = FALSE; +#line 521 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + if (!initialized) { +#line 521 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + initialized = TRUE; +#line 521 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved0 = spit_publishing_publishable_real_reserved0; +#line 521 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved1 = spit_publishing_publishable_real_reserved1; +#line 521 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved2 = spit_publishing_publishable_real_reserved2; +#line 521 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved3 = spit_publishing_publishable_real_reserved3; +#line 521 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved4 = spit_publishing_publishable_real_reserved4; +#line 521 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved5 = spit_publishing_publishable_real_reserved5; +#line 521 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved6 = spit_publishing_publishable_real_reserved6; +#line 521 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved7 = spit_publishing_publishable_real_reserved7; +#line 1563 "PublishingInterfaces.c" + } +} + + +/** + * Describes an underlying media item (such as a photo or a video) that your plugin + * uploads to a remote publishing service. + */ +GType spit_publishing_publishable_get_type (void) { + static volatile gsize spit_publishing_publishable_type_id__volatile = 0; + if (g_once_init_enter (&spit_publishing_publishable_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitPublishingPublishableIface), (GBaseInitFunc) spit_publishing_publishable_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_publishing_publishable_type_id; + spit_publishing_publishable_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitPublishingPublishable", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_publishing_publishable_type_id, G_TYPE_OBJECT); + g_once_init_leave (&spit_publishing_publishable_type_id__volatile, spit_publishing_publishable_type_id); + } + return spit_publishing_publishable_type_id__volatile; +} + + +/** + * A factory method that instantiates and returns a new {@link Publisher} object that + * encapsulates a connection to the remote publishing service that this Service describes. + */ +SpitPublishingPublisher* spit_publishing_service_create_publisher (SpitPublishingService* self, SpitPublishingPluginHost* host) { +#line 591 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_SERVICE (self), NULL); +#line 591 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_SERVICE_GET_INTERFACE (self)->create_publisher (self, host); +#line 1594 "PublishingInterfaces.c" +} + + +/** + * Returns the kinds of media that this service can work with. + */ +SpitPublishingPublisherMediaType spit_publishing_service_get_supported_media (SpitPublishingService* self) { +#line 596 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_SERVICE (self), 0); +#line 596 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_SERVICE_GET_INTERFACE (self)->get_supported_media (self); +#line 1606 "PublishingInterfaces.c" +} + + +static void spit_publishing_service_real_reserved0 (SpitPublishingService* self) { +} + + +void spit_publishing_service_reserved0 (SpitPublishingService* self) { +#line 601 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_SERVICE (self)); +#line 601 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_SERVICE_GET_INTERFACE (self)->reserved0 (self); +#line 1619 "PublishingInterfaces.c" +} + + +static void spit_publishing_service_real_reserved1 (SpitPublishingService* self) { +} + + +void spit_publishing_service_reserved1 (SpitPublishingService* self) { +#line 602 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_SERVICE (self)); +#line 602 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_SERVICE_GET_INTERFACE (self)->reserved1 (self); +#line 1632 "PublishingInterfaces.c" +} + + +static void spit_publishing_service_real_reserved2 (SpitPublishingService* self) { +} + + +void spit_publishing_service_reserved2 (SpitPublishingService* self) { +#line 603 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_SERVICE (self)); +#line 603 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_SERVICE_GET_INTERFACE (self)->reserved2 (self); +#line 1645 "PublishingInterfaces.c" +} + + +static void spit_publishing_service_real_reserved3 (SpitPublishingService* self) { +} + + +void spit_publishing_service_reserved3 (SpitPublishingService* self) { +#line 604 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_SERVICE (self)); +#line 604 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_SERVICE_GET_INTERFACE (self)->reserved3 (self); +#line 1658 "PublishingInterfaces.c" +} + + +static void spit_publishing_service_real_reserved4 (SpitPublishingService* self) { +} + + +void spit_publishing_service_reserved4 (SpitPublishingService* self) { +#line 605 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_SERVICE (self)); +#line 605 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_SERVICE_GET_INTERFACE (self)->reserved4 (self); +#line 1671 "PublishingInterfaces.c" +} + + +static void spit_publishing_service_real_reserved5 (SpitPublishingService* self) { +} + + +void spit_publishing_service_reserved5 (SpitPublishingService* self) { +#line 606 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_SERVICE (self)); +#line 606 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_SERVICE_GET_INTERFACE (self)->reserved5 (self); +#line 1684 "PublishingInterfaces.c" +} + + +static void spit_publishing_service_real_reserved6 (SpitPublishingService* self) { +} + + +void spit_publishing_service_reserved6 (SpitPublishingService* self) { +#line 607 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_SERVICE (self)); +#line 607 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_SERVICE_GET_INTERFACE (self)->reserved6 (self); +#line 1697 "PublishingInterfaces.c" +} + + +static void spit_publishing_service_real_reserved7 (SpitPublishingService* self) { +} + + +void spit_publishing_service_reserved7 (SpitPublishingService* self) { +#line 608 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_SERVICE (self)); +#line 608 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_SERVICE_GET_INTERFACE (self)->reserved7 (self); +#line 1710 "PublishingInterfaces.c" +} + + +static void spit_publishing_service_base_init (SpitPublishingServiceIface * iface) { +#line 586 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + static gboolean initialized = FALSE; +#line 586 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + if (!initialized) { +#line 586 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + initialized = TRUE; +#line 586 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved0 = spit_publishing_service_real_reserved0; +#line 586 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved1 = spit_publishing_service_real_reserved1; +#line 586 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved2 = spit_publishing_service_real_reserved2; +#line 586 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved3 = spit_publishing_service_real_reserved3; +#line 586 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved4 = spit_publishing_service_real_reserved4; +#line 586 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved5 = spit_publishing_service_real_reserved5; +#line 586 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved6 = spit_publishing_service_real_reserved6; +#line 586 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved7 = spit_publishing_service_real_reserved7; +#line 1737 "PublishingInterfaces.c" + } +} + + +/** + * Describes the features and capabilities of a remote publishing service. + * + * Developers of publishing plugins provide a class that implements this interface. + */ +GType spit_publishing_service_get_type (void) { + static volatile gsize spit_publishing_service_type_id__volatile = 0; + if (g_once_init_enter (&spit_publishing_service_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitPublishingServiceIface), (GBaseInitFunc) spit_publishing_service_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_publishing_service_type_id; + spit_publishing_service_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitPublishingService", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_publishing_service_type_id, G_TYPE_OBJECT); + g_type_interface_add_prerequisite (spit_publishing_service_type_id, SPIT_TYPE_PLUGGABLE); + g_once_init_leave (&spit_publishing_service_type_id__volatile, spit_publishing_service_type_id); + } + return spit_publishing_service_type_id__volatile; +} + + + diff --git a/src/plugins/PublishingInterfaces.vala b/src/plugins/PublishingInterfaces.vala index 6f06cba..7a8ac40 100644 --- a/src/plugins/PublishingInterfaces.vala +++ b/src/plugins/PublishingInterfaces.vala @@ -82,7 +82,14 @@ public errordomain PublishingError { * Indicates that the remote host has rejected the session identifier used by the local * client as out-of-date. The local client should acquire a new session identifier. */ - EXPIRED_SESSION + EXPIRED_SESSION, + + /** + * Indicates that a secure connection to the remote host cannot be + * established. This might have various reasons such as expired + * certificats, invalid certificates, self-signed certificates... + */ + SSL_FAILED } /** @@ -513,10 +520,10 @@ public interface PluginHost : GLib.Object, Spit.HostInterface { */ public interface Publishable : GLib.Object { - public static const string PARAM_STRING_BASENAME = "basename"; - public static const string PARAM_STRING_TITLE = "title"; - public static const string PARAM_STRING_COMMENT = "comment"; - public static const string PARAM_STRING_EVENTCOMMENT= "eventcomment"; + public const string PARAM_STRING_BASENAME = "basename"; + public const string PARAM_STRING_TITLE = "title"; + public const string PARAM_STRING_COMMENT = "comment"; + public const string PARAM_STRING_EVENTCOMMENT= "eventcomment"; /** * Returns a handle to the file on disk to which this publishable's data has been diff --git a/src/plugins/SpitInterfaces.c b/src/plugins/SpitInterfaces.c new file mode 100644 index 0000000..9357a68 --- /dev/null +++ b/src/plugins/SpitInterfaces.c @@ -0,0 +1,1324 @@ +/* SpitInterfaces.c generated by valac 0.32.1, the Vala compiler + * generated from SpitInterfaces.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include <glib.h> +#include <glib-object.h> +#include <gio/gio.h> +#include <stdlib.h> +#include <string.h> +#include <gdk-pixbuf/gdk-pixbuf.h> +#include <float.h> +#include <math.h> + + +#define SPIT_TYPE_ENTRY_POINT_PARAMS (spit_entry_point_params_get_type ()) +typedef struct _SpitEntryPointParams SpitEntryPointParams; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#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 _g_free0(var) (var = (g_free (var), NULL)) + +#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; + +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); +}; + + + +#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); +static void spit_module_real_reserved0 (SpitModule* self); +void spit_module_reserved1 (SpitModule* self); +static void spit_module_real_reserved1 (SpitModule* self); +void spit_module_reserved2 (SpitModule* self); +static void spit_module_real_reserved2 (SpitModule* self); +void spit_module_reserved3 (SpitModule* self); +static void spit_module_real_reserved3 (SpitModule* self); +void spit_module_reserved4 (SpitModule* self); +static void spit_module_real_reserved4 (SpitModule* self); +void spit_module_reserved5 (SpitModule* self); +static void spit_module_real_reserved5 (SpitModule* self); +void spit_module_reserved6 (SpitModule* self); +static void spit_module_real_reserved6 (SpitModule* self); +void spit_module_reserved7 (SpitModule* self); +static void spit_module_real_reserved7 (SpitModule* self); +static GdkPixbuf** _vala_array_dup1 (GdkPixbuf** self, int length); +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); +static void spit_pluggable_real_reserved0 (SpitPluggable* self); +void spit_pluggable_reserved1 (SpitPluggable* self); +static void spit_pluggable_real_reserved1 (SpitPluggable* self); +void spit_pluggable_reserved2 (SpitPluggable* self); +static void spit_pluggable_real_reserved2 (SpitPluggable* self); +void spit_pluggable_reserved3 (SpitPluggable* self); +static void spit_pluggable_real_reserved3 (SpitPluggable* self); +void spit_pluggable_reserved4 (SpitPluggable* self); +static void spit_pluggable_real_reserved4 (SpitPluggable* self); +void spit_pluggable_reserved5 (SpitPluggable* self); +static void spit_pluggable_real_reserved5 (SpitPluggable* self); +void spit_pluggable_reserved6 (SpitPluggable* self); +static void spit_pluggable_real_reserved6 (SpitPluggable* self); +void spit_pluggable_reserved7 (SpitPluggable* self); +static void spit_pluggable_real_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); +static void spit_host_interface_real_reserved0 (SpitHostInterface* self); +void spit_host_interface_reserved1 (SpitHostInterface* self); +static void spit_host_interface_real_reserved1 (SpitHostInterface* self); +void spit_host_interface_reserved2 (SpitHostInterface* self); +static void spit_host_interface_real_reserved2 (SpitHostInterface* self); +void spit_host_interface_reserved3 (SpitHostInterface* self); +static void spit_host_interface_real_reserved3 (SpitHostInterface* self); +void spit_host_interface_reserved4 (SpitHostInterface* self); +static void spit_host_interface_real_reserved4 (SpitHostInterface* self); +void spit_host_interface_reserved5 (SpitHostInterface* self); +static void spit_host_interface_real_reserved5 (SpitHostInterface* self); +void spit_host_interface_reserved6 (SpitHostInterface* self); +static void spit_host_interface_real_reserved6 (SpitHostInterface* self); +void spit_host_interface_reserved7 (SpitHostInterface* self); +static void spit_host_interface_real_reserved7 (SpitHostInterface* self); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +/** + * A utility function for checking host interfaces against one's own and returning the right value. + * + * Note that this only works if the caller operates on only one interface version (and cannot mutate + * between multiple ones). + * + * @param min_host_interface The minimum supported host interface version. + * @param max_host_interface The maximum supported host interface version. + * @param plugin_interface The interface version supported by the Pluggable. + * + * @return The plugin's interface version if supported, {@link UNSUPPORTED_INTERFACE} otherwise. + */ +gint spit_negotiate_interfaces (gint min_host_interface, gint max_host_interface, gint plugin_interface) { + gint result = 0; + gint _tmp0_ = 0; + gboolean _tmp1_ = FALSE; + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 47 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp2_ = min_host_interface; +#line 47 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp3_ = plugin_interface; +#line 47 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + if (_tmp2_ > _tmp3_) { +#line 47 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp1_ = TRUE; +#line 247 "SpitInterfaces.c" + } else { + gint _tmp4_ = 0; + gint _tmp5_ = 0; +#line 47 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp4_ = max_host_interface; +#line 47 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp5_ = plugin_interface; +#line 47 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp1_ = _tmp4_ < _tmp5_; +#line 257 "SpitInterfaces.c" + } +#line 47 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + if (_tmp1_) { +#line 48 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp0_ = SPIT_UNSUPPORTED_INTERFACE; +#line 263 "SpitInterfaces.c" + } else { + gint _tmp6_ = 0; +#line 48 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp6_ = plugin_interface; +#line 48 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp0_ = _tmp6_; +#line 270 "SpitInterfaces.c" + } +#line 47 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + result = _tmp0_; +#line 47 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return result; +#line 276 "SpitInterfaces.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return self ? g_object_ref (self) : NULL; +#line 283 "SpitInterfaces.c" +} + + +void spit_entry_point_params_copy (const SpitEntryPointParams* self, SpitEntryPointParams* dest) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp0_ = (*self).host_min_spit_interface; +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).host_min_spit_interface = _tmp0_; +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp1_ = (*self).host_max_spit_interface; +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).host_max_spit_interface = _tmp1_; +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp2_ = (*self).module_spit_interface; +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).module_spit_interface = _tmp2_; +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp3_ = (*self).module_file; +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_object_unref0 ((*dest).module_file); +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).module_file = _tmp4_; +#line 313 "SpitInterfaces.c" +} + + +void spit_entry_point_params_destroy (SpitEntryPointParams* self) { +#line 79 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_object_unref0 ((*self).module_file); +#line 320 "SpitInterfaces.c" +} + + +SpitEntryPointParams* spit_entry_point_params_dup (const SpitEntryPointParams* self) { + SpitEntryPointParams* dup; +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + dup = g_new0 (SpitEntryPointParams, 1); +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + spit_entry_point_params_copy (self, dup); +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return dup; +#line 332 "SpitInterfaces.c" +} + + +void spit_entry_point_params_free (SpitEntryPointParams* self) { +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + spit_entry_point_params_destroy (self); +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_free (self); +#line 341 "SpitInterfaces.c" +} + + +GType spit_entry_point_params_get_type (void) { + static volatile gsize spit_entry_point_params_type_id__volatile = 0; + if (g_once_init_enter (&spit_entry_point_params_type_id__volatile)) { + GType spit_entry_point_params_type_id; + spit_entry_point_params_type_id = g_boxed_type_register_static ("SpitEntryPointParams", (GBoxedCopyFunc) spit_entry_point_params_dup, (GBoxedFreeFunc) spit_entry_point_params_free); + g_once_init_leave (&spit_entry_point_params_type_id__volatile, spit_entry_point_params_type_id); + } + return spit_entry_point_params_type_id__volatile; +} + + +/** + * Returns a user-visible string describing the module. + */ +const gchar* spit_module_get_module_name (SpitModule* self) { +#line 117 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_val_if_fail (SPIT_IS_MODULE (self), NULL); +#line 117 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return SPIT_MODULE_GET_INTERFACE (self)->get_module_name (self); +#line 364 "SpitInterfaces.c" +} + + +/** + * Returns a user-visible string describing the module version. + * + * Note that this may be programmatically interpreted at some point, so use a widespread + * versioning scheme. + */ +const gchar* spit_module_get_version (SpitModule* self) { +#line 125 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_val_if_fail (SPIT_IS_MODULE (self), NULL); +#line 125 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return SPIT_MODULE_GET_INTERFACE (self)->get_version (self); +#line 379 "SpitInterfaces.c" +} + + +/** + * Returns a unique identifier for this module. + * + * This is used to differentiate between multiple + * installed versions and to determine which one should be used (i.e. if a module is available + * in a system directory and a user directory). This name is case-sensitive. + * + * Best practice: use a reverse-DNS-order scheme, a la Java's packages + * (i.e. "org.yorba.shotwell.frotz"). + */ +const gchar* spit_module_get_id (SpitModule* self) { +#line 137 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_val_if_fail (SPIT_IS_MODULE (self), NULL); +#line 137 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return SPIT_MODULE_GET_INTERFACE (self)->get_id (self); +#line 398 "SpitInterfaces.c" +} + + +/** + * Returns an array of {@link Pluggable} that represent each plugin available in the module. + * + * May return NULL or an empty array. + */ +SpitPluggable** spit_module_get_pluggables (SpitModule* self, int* result_length1) { +#line 144 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_val_if_fail (SPIT_IS_MODULE (self), NULL); +#line 144 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return SPIT_MODULE_GET_INTERFACE (self)->get_pluggables (self, result_length1); +#line 412 "SpitInterfaces.c" +} + + +static void spit_module_real_reserved0 (SpitModule* self) { +} + + +void spit_module_reserved0 (SpitModule* self) { +#line 149 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_MODULE (self)); +#line 149 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_MODULE_GET_INTERFACE (self)->reserved0 (self); +#line 425 "SpitInterfaces.c" +} + + +static void spit_module_real_reserved1 (SpitModule* self) { +} + + +void spit_module_reserved1 (SpitModule* self) { +#line 150 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_MODULE (self)); +#line 150 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_MODULE_GET_INTERFACE (self)->reserved1 (self); +#line 438 "SpitInterfaces.c" +} + + +static void spit_module_real_reserved2 (SpitModule* self) { +} + + +void spit_module_reserved2 (SpitModule* self) { +#line 151 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_MODULE (self)); +#line 151 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_MODULE_GET_INTERFACE (self)->reserved2 (self); +#line 451 "SpitInterfaces.c" +} + + +static void spit_module_real_reserved3 (SpitModule* self) { +} + + +void spit_module_reserved3 (SpitModule* self) { +#line 152 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_MODULE (self)); +#line 152 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_MODULE_GET_INTERFACE (self)->reserved3 (self); +#line 464 "SpitInterfaces.c" +} + + +static void spit_module_real_reserved4 (SpitModule* self) { +} + + +void spit_module_reserved4 (SpitModule* self) { +#line 153 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_MODULE (self)); +#line 153 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_MODULE_GET_INTERFACE (self)->reserved4 (self); +#line 477 "SpitInterfaces.c" +} + + +static void spit_module_real_reserved5 (SpitModule* self) { +} + + +void spit_module_reserved5 (SpitModule* self) { +#line 154 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_MODULE (self)); +#line 154 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_MODULE_GET_INTERFACE (self)->reserved5 (self); +#line 490 "SpitInterfaces.c" +} + + +static void spit_module_real_reserved6 (SpitModule* self) { +} + + +void spit_module_reserved6 (SpitModule* self) { +#line 155 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_MODULE (self)); +#line 155 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_MODULE_GET_INTERFACE (self)->reserved6 (self); +#line 503 "SpitInterfaces.c" +} + + +static void spit_module_real_reserved7 (SpitModule* self) { +} + + +void spit_module_reserved7 (SpitModule* self) { +#line 156 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_MODULE (self)); +#line 156 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_MODULE_GET_INTERFACE (self)->reserved7 (self); +#line 516 "SpitInterfaces.c" +} + + +static void spit_module_base_init (SpitModuleIface * iface) { +#line 113 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + static gboolean initialized = FALSE; +#line 113 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + if (!initialized) { +#line 113 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + initialized = TRUE; +#line 113 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved0 = spit_module_real_reserved0; +#line 113 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved1 = spit_module_real_reserved1; +#line 113 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved2 = spit_module_real_reserved2; +#line 113 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved3 = spit_module_real_reserved3; +#line 113 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved4 = spit_module_real_reserved4; +#line 113 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved5 = spit_module_real_reserved5; +#line 113 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved6 = spit_module_real_reserved6; +#line 113 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved7 = spit_module_real_reserved7; +#line 543 "SpitInterfaces.c" + } +} + + +/** + * A Module represents the resources of an entire dynamically-linked module (i.e. a .so/.la). + * + * A module holds zero or more Shotwell plugins ({@link Pluggable}). Once the module has been + * loaded into process space this object is retrieved by Shotwell. All calls to the module and + * its plugins are resolved through this interface. + * + * Note: The module is responsible for holding the reference to the Module object, of which there + * should be only one in the library file. The module should implement a g_module_unload method + * and drop the reference there. + */ +GType spit_module_get_type (void) { + static volatile gsize spit_module_type_id__volatile = 0; + if (g_once_init_enter (&spit_module_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitModuleIface), (GBaseInitFunc) spit_module_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_module_type_id; + spit_module_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitModule", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_module_type_id, G_TYPE_OBJECT); + g_once_init_leave (&spit_module_type_id__volatile, spit_module_type_id); + } + return spit_module_type_id__volatile; +} + + +static GdkPixbuf** _vala_array_dup1 (GdkPixbuf** self, int length) { + GdkPixbuf** result; + int i; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + result = g_new0 (GdkPixbuf*, length + 1); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + for (i = 0; i < length; i++) { +#line 579 "SpitInterfaces.c" + GdkPixbuf* _tmp0_ = NULL; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp0_ = _g_object_ref0 (self[i]); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + result[i] = _tmp0_; +#line 585 "SpitInterfaces.c" + } +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return result; +#line 589 "SpitInterfaces.c" +} + + +void spit_pluggable_info_copy (const SpitPluggableInfo* self, SpitPluggableInfo* dest) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + GdkPixbuf** _tmp17_ = NULL; + gint _tmp17__length1 = 0; + GdkPixbuf** _tmp18_ = NULL; + gint _tmp18__length1 = 0; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp0_ = (*self).version; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*dest).version); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).version = _tmp1_; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp2_ = (*self).brief_description; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*dest).brief_description); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).brief_description = _tmp3_; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp4_ = (*self).authors; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*dest).authors); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).authors = _tmp5_; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp6_ = (*self).copyright; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*dest).copyright); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).copyright = _tmp7_; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp8_ = (*self).license; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp9_ = g_strdup (_tmp8_); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*dest).license); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).license = _tmp9_; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp10_ = (*self).is_license_wordwrapped; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).is_license_wordwrapped = _tmp10_; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp11_ = (*self).website_url; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp12_ = g_strdup (_tmp11_); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*dest).website_url); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).website_url = _tmp12_; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp13_ = (*self).website_name; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp14_ = g_strdup (_tmp13_); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*dest).website_name); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).website_name = _tmp14_; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp15_ = (*self).translators; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp16_ = g_strdup (_tmp15_); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*dest).translators); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).translators = _tmp16_; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp17_ = (*self).icons; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp17__length1 = (*self).icons_length1; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp18_ = (_tmp17_ != NULL) ? _vala_array_dup1 (_tmp17_, _tmp17__length1) : ((gpointer) _tmp17_); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp18__length1 = _tmp17__length1; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).icons = (_vala_array_free ((*dest).icons, (*dest).icons_length1, (GDestroyNotify) g_object_unref), NULL); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).icons = _tmp18_; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).icons_length1 = _tmp18__length1; +#line 697 "SpitInterfaces.c" +} + + +void spit_pluggable_info_destroy (SpitPluggableInfo* self) { +#line 163 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*self).version); +#line 164 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*self).brief_description); +#line 168 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*self).authors); +#line 169 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*self).copyright); +#line 170 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*self).license); +#line 172 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*self).website_url); +#line 173 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*self).website_name); +#line 174 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*self).translators); +#line 179 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*self).icons = (_vala_array_free ((*self).icons, (*self).icons_length1, (GDestroyNotify) g_object_unref), NULL); +#line 720 "SpitInterfaces.c" +} + + +SpitPluggableInfo* spit_pluggable_info_dup (const SpitPluggableInfo* self) { + SpitPluggableInfo* dup; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + dup = g_new0 (SpitPluggableInfo, 1); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + spit_pluggable_info_copy (self, dup); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return dup; +#line 732 "SpitInterfaces.c" +} + + +void spit_pluggable_info_free (SpitPluggableInfo* self) { +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + spit_pluggable_info_destroy (self); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_free (self); +#line 741 "SpitInterfaces.c" +} + + +GType spit_pluggable_info_get_type (void) { + static volatile gsize spit_pluggable_info_type_id__volatile = 0; + if (g_once_init_enter (&spit_pluggable_info_type_id__volatile)) { + GType spit_pluggable_info_type_id; + spit_pluggable_info_type_id = g_boxed_type_register_static ("SpitPluggableInfo", (GBoxedCopyFunc) spit_pluggable_info_dup, (GBoxedFreeFunc) spit_pluggable_info_free); + g_once_init_leave (&spit_pluggable_info_type_id__volatile, spit_pluggable_info_type_id); + } + return spit_pluggable_info_type_id__volatile; +} + + +/** + * Pluggable interface version negotiation. + * + * Like the {@link EntryPoint}, this mechanism allows for the host to negotiate with the Pluggable + * for its interface version. If the pluggable does not support an interface between the + * two ranges (inclusive), it should return {@link UNSUPPORTED_INTERFACE}. + * + * Note that this is ''not'' a negotiation of the SPIT interface versions (which is the + * responsibility of {@link EntryPoint}. Rather, each extension point is expected to version + * its own cluster of interfaces. It is that interface version that is being negotiated here. + * + * {@link negotiate_interfaces} can be used to implement this method. + * + * @param min_host_interface The host's minimum supported interface version number + * //for this Pluggable's intended extension point//. + * @param max_host_interface The host's maximum supported interface version number + * //for this Pluggable's intended extension point//. + * + * @return The version number supported by the host and the Pluggable or + * {@link UNSUPPORTED_INTERFACE}. + */ +gint spit_pluggable_get_pluggable_interface (SpitPluggable* self, gint min_host_interface, gint max_host_interface) { +#line 210 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_val_if_fail (SPIT_IS_PLUGGABLE (self), 0); +#line 210 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return SPIT_PLUGGABLE_GET_INTERFACE (self)->get_pluggable_interface (self, min_host_interface, max_host_interface); +#line 782 "SpitInterfaces.c" +} + + +/** + * Returns a unique identifier for this Pluggable. + * + * Like {@link Module.get_id}, best practice is to use a reverse-DNS-order scheme to avoid + * conflicts. + */ +const gchar* spit_pluggable_get_id (SpitPluggable* self) { +#line 218 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_val_if_fail (SPIT_IS_PLUGGABLE (self), NULL); +#line 218 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return SPIT_PLUGGABLE_GET_INTERFACE (self)->get_id (self); +#line 797 "SpitInterfaces.c" +} + + +/** + * Returns a user-visible name for the Pluggable. + */ +const gchar* spit_pluggable_get_pluggable_name (SpitPluggable* self) { +#line 223 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_val_if_fail (SPIT_IS_PLUGGABLE (self), NULL); +#line 223 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return SPIT_PLUGGABLE_GET_INTERFACE (self)->get_pluggable_name (self); +#line 809 "SpitInterfaces.c" +} + + +/** + * Returns extra information about the Pluggable that is used to identify it to the user. + */ +void spit_pluggable_get_info (SpitPluggable* self, SpitPluggableInfo* info) { +#line 228 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_PLUGGABLE (self)); +#line 228 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_PLUGGABLE_GET_INTERFACE (self)->get_info (self, info); +#line 821 "SpitInterfaces.c" +} + + +/** + * Called when the Pluggable is enabled (activated) or disabled (deactivated). + * + * activation will be called at the start of the program if the user previously + * enabled/disabled it as well as during program execution if the user changes its state. Note + * that disabling a Pluggable does not require destroying existing resources or objects + * the Pluggable has previously handed off to the host. + * + * This is purely informational. The Pluggable should acquire any long-term resources + * it may be holding onto here, or wait until an extension-specific call is made to it. + * + * @param enabled ``true`` if the Pluggable has been enabled, ``false`` otherwise. + */ +void spit_pluggable_activation (SpitPluggable* self, gboolean enabled) { +#line 243 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_PLUGGABLE (self)); +#line 243 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_PLUGGABLE_GET_INTERFACE (self)->activation (self, enabled); +#line 843 "SpitInterfaces.c" +} + + +static void spit_pluggable_real_reserved0 (SpitPluggable* self) { +} + + +void spit_pluggable_reserved0 (SpitPluggable* self) { +#line 248 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_PLUGGABLE (self)); +#line 248 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_PLUGGABLE_GET_INTERFACE (self)->reserved0 (self); +#line 856 "SpitInterfaces.c" +} + + +static void spit_pluggable_real_reserved1 (SpitPluggable* self) { +} + + +void spit_pluggable_reserved1 (SpitPluggable* self) { +#line 249 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_PLUGGABLE (self)); +#line 249 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_PLUGGABLE_GET_INTERFACE (self)->reserved1 (self); +#line 869 "SpitInterfaces.c" +} + + +static void spit_pluggable_real_reserved2 (SpitPluggable* self) { +} + + +void spit_pluggable_reserved2 (SpitPluggable* self) { +#line 250 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_PLUGGABLE (self)); +#line 250 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_PLUGGABLE_GET_INTERFACE (self)->reserved2 (self); +#line 882 "SpitInterfaces.c" +} + + +static void spit_pluggable_real_reserved3 (SpitPluggable* self) { +} + + +void spit_pluggable_reserved3 (SpitPluggable* self) { +#line 251 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_PLUGGABLE (self)); +#line 251 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_PLUGGABLE_GET_INTERFACE (self)->reserved3 (self); +#line 895 "SpitInterfaces.c" +} + + +static void spit_pluggable_real_reserved4 (SpitPluggable* self) { +} + + +void spit_pluggable_reserved4 (SpitPluggable* self) { +#line 252 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_PLUGGABLE (self)); +#line 252 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_PLUGGABLE_GET_INTERFACE (self)->reserved4 (self); +#line 908 "SpitInterfaces.c" +} + + +static void spit_pluggable_real_reserved5 (SpitPluggable* self) { +} + + +void spit_pluggable_reserved5 (SpitPluggable* self) { +#line 253 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_PLUGGABLE (self)); +#line 253 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_PLUGGABLE_GET_INTERFACE (self)->reserved5 (self); +#line 921 "SpitInterfaces.c" +} + + +static void spit_pluggable_real_reserved6 (SpitPluggable* self) { +} + + +void spit_pluggable_reserved6 (SpitPluggable* self) { +#line 254 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_PLUGGABLE (self)); +#line 254 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_PLUGGABLE_GET_INTERFACE (self)->reserved6 (self); +#line 934 "SpitInterfaces.c" +} + + +static void spit_pluggable_real_reserved7 (SpitPluggable* self) { +} + + +void spit_pluggable_reserved7 (SpitPluggable* self) { +#line 255 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_PLUGGABLE (self)); +#line 255 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_PLUGGABLE_GET_INTERFACE (self)->reserved7 (self); +#line 947 "SpitInterfaces.c" +} + + +static void spit_pluggable_base_init (SpitPluggableIface * iface) { +#line 188 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + static gboolean initialized = FALSE; +#line 188 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + if (!initialized) { +#line 188 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + initialized = TRUE; +#line 188 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved0 = spit_pluggable_real_reserved0; +#line 188 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved1 = spit_pluggable_real_reserved1; +#line 188 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved2 = spit_pluggable_real_reserved2; +#line 188 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved3 = spit_pluggable_real_reserved3; +#line 188 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved4 = spit_pluggable_real_reserved4; +#line 188 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved5 = spit_pluggable_real_reserved5; +#line 188 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved6 = spit_pluggable_real_reserved6; +#line 188 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved7 = spit_pluggable_real_reserved7; +#line 974 "SpitInterfaces.c" + } +} + + +/** + * A generic interface to all Shotwell plugins. + * + * Each plugin in a module needs to implement this interface at a minimum. Extension + * points may have (and probably will have) specific interface requirements as well. + */ +GType spit_pluggable_get_type (void) { + static volatile gsize spit_pluggable_type_id__volatile = 0; + if (g_once_init_enter (&spit_pluggable_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitPluggableIface), (GBaseInitFunc) spit_pluggable_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_pluggable_type_id; + spit_pluggable_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitPluggable", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_pluggable_type_id, G_TYPE_OBJECT); + g_once_init_leave (&spit_pluggable_type_id__volatile, spit_pluggable_type_id); + } + return spit_pluggable_type_id__volatile; +} + + +/** + * Returns a File object representing the library file (.so/la.) that the plugin was loaded + * from. + */ +GFile* spit_host_interface_get_module_file (SpitHostInterface* self) { +#line 274 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_val_if_fail (SPIT_IS_HOST_INTERFACE (self), NULL); +#line 274 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return SPIT_HOST_INTERFACE_GET_INTERFACE (self)->get_module_file (self); +#line 1007 "SpitInterfaces.c" +} + + +/** + * Get a boolean from a persistent configuration store. + * + * @param key The name of the value to be retrieved. + * @param def The default value (returned if the key has not been previously set). + * + * @return The value associated with key, def if not set. + */ +gboolean spit_host_interface_get_config_bool (SpitHostInterface* self, const gchar* key, gboolean def) { +#line 284 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_val_if_fail (SPIT_IS_HOST_INTERFACE (self), FALSE); +#line 284 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return SPIT_HOST_INTERFACE_GET_INTERFACE (self)->get_config_bool (self, key, def); +#line 1024 "SpitInterfaces.c" +} + + +/** + * Store a boolean in a persistent configuration store. + * + * @param key The name of the value to be stored. + * @param val The value to be stored. + */ +void spit_host_interface_set_config_bool (SpitHostInterface* self, const gchar* key, gboolean val) { +#line 292 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_HOST_INTERFACE (self)); +#line 292 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_HOST_INTERFACE_GET_INTERFACE (self)->set_config_bool (self, key, val); +#line 1039 "SpitInterfaces.c" +} + + +/** + * Get an integer from a persistent configuration store. + * + * @param key The name of the value to be retrieved. + * @param def The default value (returned if the key has not been previously set). + * + * @return The value associated with key, def if not set. + */ +gint spit_host_interface_get_config_int (SpitHostInterface* self, const gchar* key, gint def) { +#line 302 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_val_if_fail (SPIT_IS_HOST_INTERFACE (self), 0); +#line 302 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return SPIT_HOST_INTERFACE_GET_INTERFACE (self)->get_config_int (self, key, def); +#line 1056 "SpitInterfaces.c" +} + + +/** + * Store an integer in a persistent configuration store. + * + * @param key The name of the value to be stored. + * @param val The value to be stored. + */ +void spit_host_interface_set_config_int (SpitHostInterface* self, const gchar* key, gint val) { +#line 310 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_HOST_INTERFACE (self)); +#line 310 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_HOST_INTERFACE_GET_INTERFACE (self)->set_config_int (self, key, val); +#line 1071 "SpitInterfaces.c" +} + + +/** + * Get a string from a persistent configuration store. + * + * @param key The name of the value to be retrieved. + * @param def The default value (returned if the key has not been previously set). + * + * @return The value associated with key, def if not set. + */ +gchar* spit_host_interface_get_config_string (SpitHostInterface* self, const gchar* key, const gchar* def) { +#line 320 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_val_if_fail (SPIT_IS_HOST_INTERFACE (self), NULL); +#line 320 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return SPIT_HOST_INTERFACE_GET_INTERFACE (self)->get_config_string (self, key, def); +#line 1088 "SpitInterfaces.c" +} + + +/** + * Store a string in a persistent configuration store. + * + * @param key The name of the value to be stored. + * @param val The value to be stored. + */ +void spit_host_interface_set_config_string (SpitHostInterface* self, const gchar* key, const gchar* val) { +#line 328 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_HOST_INTERFACE (self)); +#line 328 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_HOST_INTERFACE_GET_INTERFACE (self)->set_config_string (self, key, val); +#line 1103 "SpitInterfaces.c" +} + + +/** + * Get a double from a persistent configuration store. + * + * @param key The name of the value to be retrieved. + * @param def The default value (returned if the key has not been previously set). + * + * @return The value associated with key, def if not set. + */ +gdouble spit_host_interface_get_config_double (SpitHostInterface* self, const gchar* key, gdouble def) { +#line 338 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_val_if_fail (SPIT_IS_HOST_INTERFACE (self), 0.0); +#line 338 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return SPIT_HOST_INTERFACE_GET_INTERFACE (self)->get_config_double (self, key, def); +#line 1120 "SpitInterfaces.c" +} + + +/** + * Store a double in a persistent configuration store. + * + * @param key The name of the value to be stored. + * @param val The value to be stored. + */ +void spit_host_interface_set_config_double (SpitHostInterface* self, const gchar* key, gdouble val) { +#line 346 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_HOST_INTERFACE (self)); +#line 346 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_HOST_INTERFACE_GET_INTERFACE (self)->set_config_double (self, key, val); +#line 1135 "SpitInterfaces.c" +} + + +/** + * Delete the value from the persistent configuration store. + */ +void spit_host_interface_unset_config_key (SpitHostInterface* self, const gchar* key) { +#line 351 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_HOST_INTERFACE (self)); +#line 351 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_HOST_INTERFACE_GET_INTERFACE (self)->unset_config_key (self, key); +#line 1147 "SpitInterfaces.c" +} + + +static void spit_host_interface_real_reserved0 (SpitHostInterface* self) { +} + + +void spit_host_interface_reserved0 (SpitHostInterface* self) { +#line 356 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_HOST_INTERFACE (self)); +#line 356 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_HOST_INTERFACE_GET_INTERFACE (self)->reserved0 (self); +#line 1160 "SpitInterfaces.c" +} + + +static void spit_host_interface_real_reserved1 (SpitHostInterface* self) { +} + + +void spit_host_interface_reserved1 (SpitHostInterface* self) { +#line 357 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_HOST_INTERFACE (self)); +#line 357 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_HOST_INTERFACE_GET_INTERFACE (self)->reserved1 (self); +#line 1173 "SpitInterfaces.c" +} + + +static void spit_host_interface_real_reserved2 (SpitHostInterface* self) { +} + + +void spit_host_interface_reserved2 (SpitHostInterface* self) { +#line 358 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_HOST_INTERFACE (self)); +#line 358 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_HOST_INTERFACE_GET_INTERFACE (self)->reserved2 (self); +#line 1186 "SpitInterfaces.c" +} + + +static void spit_host_interface_real_reserved3 (SpitHostInterface* self) { +} + + +void spit_host_interface_reserved3 (SpitHostInterface* self) { +#line 359 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_HOST_INTERFACE (self)); +#line 359 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_HOST_INTERFACE_GET_INTERFACE (self)->reserved3 (self); +#line 1199 "SpitInterfaces.c" +} + + +static void spit_host_interface_real_reserved4 (SpitHostInterface* self) { +} + + +void spit_host_interface_reserved4 (SpitHostInterface* self) { +#line 360 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_HOST_INTERFACE (self)); +#line 360 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_HOST_INTERFACE_GET_INTERFACE (self)->reserved4 (self); +#line 1212 "SpitInterfaces.c" +} + + +static void spit_host_interface_real_reserved5 (SpitHostInterface* self) { +} + + +void spit_host_interface_reserved5 (SpitHostInterface* self) { +#line 361 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_HOST_INTERFACE (self)); +#line 361 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_HOST_INTERFACE_GET_INTERFACE (self)->reserved5 (self); +#line 1225 "SpitInterfaces.c" +} + + +static void spit_host_interface_real_reserved6 (SpitHostInterface* self) { +} + + +void spit_host_interface_reserved6 (SpitHostInterface* self) { +#line 362 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_HOST_INTERFACE (self)); +#line 362 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_HOST_INTERFACE_GET_INTERFACE (self)->reserved6 (self); +#line 1238 "SpitInterfaces.c" +} + + +static void spit_host_interface_real_reserved7 (SpitHostInterface* self) { +} + + +void spit_host_interface_reserved7 (SpitHostInterface* self) { +#line 363 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_HOST_INTERFACE (self)); +#line 363 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_HOST_INTERFACE_GET_INTERFACE (self)->reserved7 (self); +#line 1251 "SpitInterfaces.c" +} + + +static void spit_host_interface_base_init (SpitHostInterfaceIface * iface) { +#line 269 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + static gboolean initialized = FALSE; +#line 269 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + if (!initialized) { +#line 269 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + initialized = TRUE; +#line 269 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved0 = spit_host_interface_real_reserved0; +#line 269 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved1 = spit_host_interface_real_reserved1; +#line 269 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved2 = spit_host_interface_real_reserved2; +#line 269 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved3 = spit_host_interface_real_reserved3; +#line 269 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved4 = spit_host_interface_real_reserved4; +#line 269 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved5 = spit_host_interface_real_reserved5; +#line 269 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved6 = spit_host_interface_real_reserved6; +#line 269 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved7 = spit_host_interface_real_reserved7; +#line 1278 "SpitInterfaces.c" + } +} + + +/** + * An interface to common services supplied by the host (Shotwell). + * + * Each {@link Pluggable} is offered a HostInterface for needs common to most plugins. + * + * Note that + * a HostInterface is not explicitly handed to the Pluggable through the SPIT interface, but is expected + * to be offered to the Pluggable through an interface applicable to the extension point. This + * also allows the extension point to extend HostInterface to offer other services applicable to the + * type of plugin. + */ +GType spit_host_interface_get_type (void) { + static volatile gsize spit_host_interface_type_id__volatile = 0; + if (g_once_init_enter (&spit_host_interface_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitHostInterfaceIface), (GBaseInitFunc) spit_host_interface_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_host_interface_type_id; + spit_host_interface_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitHostInterface", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_host_interface_type_id, G_TYPE_OBJECT); + g_once_init_leave (&spit_host_interface_type_id__volatile, spit_host_interface_type_id); + } + return spit_host_interface_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/plugins/StandardHostInterface.c b/src/plugins/StandardHostInterface.c new file mode 100644 index 0000000..3465427 --- /dev/null +++ b/src/plugins/StandardHostInterface.c @@ -0,0 +1,699 @@ +/* StandardHostInterface.c generated by valac 0.32.1, the Vala compiler + * generated from StandardHostInterface.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include <glib.h> +#include <glib-object.h> +#include "shotwell-plugin-dev-1.0.h" +#include <stdlib.h> +#include <string.h> +#include <gio/gio.h> +#include <float.h> +#include <math.h> + + +#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 _g_free0(var) (var = (g_free (var), NULL)) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#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; + +#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; + +struct _PluginsStandardHostInterface { + GObject parent_instance; + PluginsStandardHostInterfacePrivate * priv; +}; + +struct _PluginsStandardHostInterfaceClass { + GObjectClass parent_class; +}; + +struct _PluginsStandardHostInterfacePrivate { + gchar* config_domain; + gchar* config_id; + GFile* module_file; + SpitPluggableInfo info; +}; + + +static gpointer plugins_standard_host_interface_parent_class = NULL; +static SpitHostInterfaceIface* plugins_standard_host_interface_spit_host_interface_parent_iface = NULL; + +GType plugins_standard_host_interface_get_type (void) G_GNUC_CONST; +#define PLUGINS_STANDARD_HOST_INTERFACE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterfacePrivate)) +enum { + PLUGINS_STANDARD_HOST_INTERFACE_DUMMY_PROPERTY +}; +PluginsStandardHostInterface* plugins_standard_host_interface_new (SpitPluggable* pluggable, const gchar* config_domain); +PluginsStandardHostInterface* plugins_standard_host_interface_construct (GType object_type, SpitPluggable* pluggable, const gchar* config_domain); +static gchar* plugins_standard_host_interface_parse_key (const gchar* id); +GFile* plugins_get_pluggable_module_file (SpitPluggable* pluggable); +static GFile* plugins_standard_host_interface_real_get_module_file (SpitHostInterface* base); +static gboolean plugins_standard_host_interface_real_get_config_bool (SpitHostInterface* base, const gchar* key, gboolean def); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +gboolean configuration_facade_get_plugin_bool (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gboolean def); +static void plugins_standard_host_interface_real_set_config_bool (SpitHostInterface* base, const gchar* key, gboolean val); +void configuration_facade_set_plugin_bool (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gboolean val); +static gint plugins_standard_host_interface_real_get_config_int (SpitHostInterface* base, const gchar* key, gint def); +gint configuration_facade_get_plugin_int (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gint def); +static void plugins_standard_host_interface_real_set_config_int (SpitHostInterface* base, const gchar* key, gint val); +void configuration_facade_set_plugin_int (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gint val); +static gchar* plugins_standard_host_interface_real_get_config_string (SpitHostInterface* base, const gchar* key, const gchar* def); +gchar* configuration_facade_get_plugin_string (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* def); +static void plugins_standard_host_interface_real_set_config_string (SpitHostInterface* base, const gchar* key, const gchar* val); +void configuration_facade_set_plugin_string (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* val); +static gdouble plugins_standard_host_interface_real_get_config_double (SpitHostInterface* base, const gchar* key, gdouble def); +gdouble configuration_facade_get_plugin_double (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gdouble def); +static void plugins_standard_host_interface_real_set_config_double (SpitHostInterface* base, const gchar* key, gdouble val); +void configuration_facade_set_plugin_double (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gdouble val); +static void plugins_standard_host_interface_real_unset_config_key (SpitHostInterface* base, const gchar* key); +void configuration_facade_unset_plugin_key (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key); +static void plugins_standard_host_interface_finalize (GObject* obj); + + +PluginsStandardHostInterface* plugins_standard_host_interface_construct (GType object_type, SpitPluggable* pluggable, const gchar* config_domain) { + PluginsStandardHostInterface * self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + SpitPluggable* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + SpitPluggable* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + SpitPluggable* _tmp7_ = NULL; +#line 15 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + g_return_val_if_fail (SPIT_IS_PLUGGABLE (pluggable), NULL); +#line 15 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + g_return_val_if_fail (config_domain != NULL, NULL); +#line 15 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self = (PluginsStandardHostInterface*) g_object_new (object_type, NULL); +#line 16 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp0_ = config_domain; +#line 16 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 16 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _g_free0 (self->priv->config_domain); +#line 16 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self->priv->config_domain = _tmp1_; +#line 17 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp2_ = pluggable; +#line 17 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp3_ = spit_pluggable_get_id (_tmp2_); +#line 17 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp4_ = plugins_standard_host_interface_parse_key (_tmp3_); +#line 17 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _g_free0 (self->priv->config_id); +#line 17 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self->priv->config_id = _tmp4_; +#line 18 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp5_ = pluggable; +#line 18 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp6_ = plugins_get_pluggable_module_file (_tmp5_); +#line 18 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _g_object_unref0 (self->priv->module_file); +#line 18 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self->priv->module_file = _tmp6_; +#line 19 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp7_ = pluggable; +#line 19 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + spit_pluggable_get_info (_tmp7_, &self->priv->info); +#line 15 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + return self; +#line 156 "StandardHostInterface.c" +} + + +PluginsStandardHostInterface* plugins_standard_host_interface_new (SpitPluggable* pluggable, const gchar* config_domain) { +#line 15 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + return plugins_standard_host_interface_construct (PLUGINS_TYPE_STANDARD_HOST_INTERFACE, pluggable, config_domain); +#line 163 "StandardHostInterface.c" +} + + +static gchar* plugins_standard_host_interface_parse_key (const gchar* id) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GQuark _tmp3_ = 0U; +#line 25 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + static GQuark _tmp2_label0 = 0; +#line 25 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + static GQuark _tmp2_label1 = 0; +#line 25 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + static GQuark _tmp2_label2 = 0; +#line 25 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + static GQuark _tmp2_label3 = 0; +#line 22 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + g_return_val_if_fail (id != NULL, NULL); +#line 25 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp0_ = id; +#line 25 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp1_ = _tmp0_; +#line 25 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp3_ = (NULL == _tmp1_) ? 0 : g_quark_from_string (_tmp1_); +#line 25 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + if (_tmp3_ == ((0 != _tmp2_label0) ? _tmp2_label0 : (_tmp2_label0 = g_quark_from_static_string ("org.yorba.shotwell.publishing.facebook")))) { +#line 25 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + switch (0) { +#line 192 "StandardHostInterface.c" + default: + { + gchar* _tmp4_ = NULL; +#line 27 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp4_ = g_strdup ("facebook"); +#line 27 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + result = _tmp4_; +#line 27 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + return result; +#line 202 "StandardHostInterface.c" + } + } + } else if (_tmp3_ == ((0 != _tmp2_label1) ? _tmp2_label1 : (_tmp2_label1 = g_quark_from_static_string ("org.yorba.shotwell.publishing.picasa")))) { +#line 25 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + switch (0) { +#line 208 "StandardHostInterface.c" + default: + { + gchar* _tmp5_ = NULL; +#line 30 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp5_ = g_strdup ("picasa"); +#line 30 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + result = _tmp5_; +#line 30 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + return result; +#line 218 "StandardHostInterface.c" + } + } + } else if (_tmp3_ == ((0 != _tmp2_label2) ? _tmp2_label2 : (_tmp2_label2 = g_quark_from_static_string ("org.yorba.shotwell.publishing.flickr")))) { +#line 25 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + switch (0) { +#line 224 "StandardHostInterface.c" + default: + { + gchar* _tmp6_ = NULL; +#line 33 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp6_ = g_strdup ("flickr"); +#line 33 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + result = _tmp6_; +#line 33 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + return result; +#line 234 "StandardHostInterface.c" + } + } + } else if (_tmp3_ == ((0 != _tmp2_label3) ? _tmp2_label3 : (_tmp2_label3 = g_quark_from_static_string ("org.yorba.shotwell.publishing.youtube")))) { +#line 25 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + switch (0) { +#line 240 "StandardHostInterface.c" + default: + { + gchar* _tmp7_ = NULL; +#line 36 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp7_ = g_strdup ("youtube"); +#line 36 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + result = _tmp7_; +#line 36 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + return result; +#line 250 "StandardHostInterface.c" + } + } + } else { +#line 25 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + switch (0) { +#line 256 "StandardHostInterface.c" + default: + { + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 39 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp8_ = id; +#line 39 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp9_ = g_strdup (_tmp8_); +#line 39 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + result = _tmp9_; +#line 39 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + return result; +#line 269 "StandardHostInterface.c" + } + } + } +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 44 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + return self ? g_object_ref (self) : NULL; +#line 279 "StandardHostInterface.c" +} + + +static GFile* plugins_standard_host_interface_real_get_module_file (SpitHostInterface* base) { + PluginsStandardHostInterface * self; + GFile* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 43 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterface); +#line 44 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp0_ = self->priv->module_file; +#line 44 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 44 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + result = _tmp1_; +#line 44 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + return result; +#line 298 "StandardHostInterface.c" +} + + +static gboolean plugins_standard_host_interface_real_get_config_bool (SpitHostInterface* base, const gchar* key, gboolean def) { + PluginsStandardHostInterface * self; + gboolean result = FALSE; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; +#line 47 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterface); +#line 47 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + g_return_val_if_fail (key != NULL, FALSE); +#line 48 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp0_ = config_facade_get_instance (); +#line 48 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp1_ = _tmp0_; +#line 48 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp2_ = self->priv->config_domain; +#line 48 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp3_ = self->priv->config_id; +#line 48 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp4_ = key; +#line 48 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp5_ = def; +#line 48 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp6_ = configuration_facade_get_plugin_bool (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_, _tmp4_, _tmp5_); +#line 48 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp7_ = _tmp6_; +#line 48 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _g_object_unref0 (_tmp1_); +#line 48 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + result = _tmp7_; +#line 48 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + return result; +#line 339 "StandardHostInterface.c" +} + + +static void plugins_standard_host_interface_real_set_config_bool (SpitHostInterface* base, const gchar* key, gboolean val) { + PluginsStandardHostInterface * self; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 51 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterface); +#line 51 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + g_return_if_fail (key != NULL); +#line 52 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp0_ = config_facade_get_instance (); +#line 52 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp1_ = _tmp0_; +#line 52 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp2_ = self->priv->config_domain; +#line 52 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp3_ = self->priv->config_id; +#line 52 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp4_ = key; +#line 52 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp5_ = val; +#line 52 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + configuration_facade_set_plugin_bool (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_, _tmp4_, _tmp5_); +#line 52 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _g_object_unref0 (_tmp1_); +#line 371 "StandardHostInterface.c" +} + + +static gint plugins_standard_host_interface_real_get_config_int (SpitHostInterface* base, const gchar* key, gint def) { + PluginsStandardHostInterface * self; + gint result = 0; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 55 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterface); +#line 55 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + g_return_val_if_fail (key != NULL, 0); +#line 56 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp0_ = config_facade_get_instance (); +#line 56 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp1_ = _tmp0_; +#line 56 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp2_ = self->priv->config_domain; +#line 56 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp3_ = self->priv->config_id; +#line 56 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp4_ = key; +#line 56 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp5_ = def; +#line 56 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp6_ = configuration_facade_get_plugin_int (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_, _tmp4_, _tmp5_); +#line 56 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp7_ = _tmp6_; +#line 56 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _g_object_unref0 (_tmp1_); +#line 56 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + result = _tmp7_; +#line 56 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + return result; +#line 412 "StandardHostInterface.c" +} + + +static void plugins_standard_host_interface_real_set_config_int (SpitHostInterface* base, const gchar* key, gint val) { + PluginsStandardHostInterface * self; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gint _tmp5_ = 0; +#line 59 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterface); +#line 59 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + g_return_if_fail (key != NULL); +#line 60 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp0_ = config_facade_get_instance (); +#line 60 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp1_ = _tmp0_; +#line 60 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp2_ = self->priv->config_domain; +#line 60 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp3_ = self->priv->config_id; +#line 60 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp4_ = key; +#line 60 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp5_ = val; +#line 60 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + configuration_facade_set_plugin_int (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_, _tmp4_, _tmp5_); +#line 60 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _g_object_unref0 (_tmp1_); +#line 444 "StandardHostInterface.c" +} + + +static gchar* plugins_standard_host_interface_real_get_config_string (SpitHostInterface* base, const gchar* key, const gchar* def) { + PluginsStandardHostInterface * self; + gchar* result = NULL; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 63 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterface); +#line 63 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + g_return_val_if_fail (key != NULL, NULL); +#line 64 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp0_ = config_facade_get_instance (); +#line 64 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp1_ = _tmp0_; +#line 64 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp2_ = self->priv->config_domain; +#line 64 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp3_ = self->priv->config_id; +#line 64 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp4_ = key; +#line 64 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp5_ = def; +#line 64 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp6_ = configuration_facade_get_plugin_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_, _tmp4_, _tmp5_); +#line 64 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp7_ = _tmp6_; +#line 64 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _g_object_unref0 (_tmp1_); +#line 64 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + result = _tmp7_; +#line 64 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + return result; +#line 485 "StandardHostInterface.c" +} + + +static void plugins_standard_host_interface_real_set_config_string (SpitHostInterface* base, const gchar* key, const gchar* val) { + PluginsStandardHostInterface * self; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 67 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterface); +#line 67 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + g_return_if_fail (key != NULL); +#line 68 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp0_ = config_facade_get_instance (); +#line 68 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp1_ = _tmp0_; +#line 68 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp2_ = self->priv->config_domain; +#line 68 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp3_ = self->priv->config_id; +#line 68 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp4_ = key; +#line 68 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp5_ = val; +#line 68 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + configuration_facade_set_plugin_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_, _tmp4_, _tmp5_); +#line 68 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _g_object_unref0 (_tmp1_); +#line 517 "StandardHostInterface.c" +} + + +static gdouble plugins_standard_host_interface_real_get_config_double (SpitHostInterface* base, const gchar* key, gdouble def) { + PluginsStandardHostInterface * self; + gdouble result = 0.0; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gdouble _tmp5_ = 0.0; + gdouble _tmp6_ = 0.0; + gdouble _tmp7_ = 0.0; +#line 71 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterface); +#line 71 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + g_return_val_if_fail (key != NULL, 0.0); +#line 72 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp0_ = config_facade_get_instance (); +#line 72 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp1_ = _tmp0_; +#line 72 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp2_ = self->priv->config_domain; +#line 72 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp3_ = self->priv->config_id; +#line 72 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp4_ = key; +#line 72 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp5_ = def; +#line 72 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp6_ = configuration_facade_get_plugin_double (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_, _tmp4_, _tmp5_); +#line 72 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp7_ = _tmp6_; +#line 72 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _g_object_unref0 (_tmp1_); +#line 72 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + result = _tmp7_; +#line 72 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + return result; +#line 558 "StandardHostInterface.c" +} + + +static void plugins_standard_host_interface_real_set_config_double (SpitHostInterface* base, const gchar* key, gdouble val) { + PluginsStandardHostInterface * self; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gdouble _tmp5_ = 0.0; +#line 75 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterface); +#line 75 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + g_return_if_fail (key != NULL); +#line 76 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp0_ = config_facade_get_instance (); +#line 76 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp1_ = _tmp0_; +#line 76 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp2_ = self->priv->config_domain; +#line 76 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp3_ = self->priv->config_id; +#line 76 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp4_ = key; +#line 76 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp5_ = val; +#line 76 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + configuration_facade_set_plugin_double (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_, _tmp4_, _tmp5_); +#line 76 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _g_object_unref0 (_tmp1_); +#line 590 "StandardHostInterface.c" +} + + +static void plugins_standard_host_interface_real_unset_config_key (SpitHostInterface* base, const gchar* key) { + PluginsStandardHostInterface * self; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 79 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterface); +#line 79 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + g_return_if_fail (key != NULL); +#line 80 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp0_ = config_facade_get_instance (); +#line 80 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp1_ = _tmp0_; +#line 80 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp2_ = self->priv->config_domain; +#line 80 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp3_ = self->priv->config_id; +#line 80 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp4_ = key; +#line 80 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + configuration_facade_unset_plugin_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_, _tmp4_); +#line 80 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _g_object_unref0 (_tmp1_); +#line 619 "StandardHostInterface.c" +} + + +static void plugins_standard_host_interface_class_init (PluginsStandardHostInterfaceClass * klass) { +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + plugins_standard_host_interface_parent_class = g_type_class_peek_parent (klass); +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + g_type_class_add_private (klass, sizeof (PluginsStandardHostInterfacePrivate)); +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + G_OBJECT_CLASS (klass)->finalize = plugins_standard_host_interface_finalize; +#line 630 "StandardHostInterface.c" +} + + +static void plugins_standard_host_interface_spit_host_interface_interface_init (SpitHostInterfaceIface * iface) { +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + plugins_standard_host_interface_spit_host_interface_parent_iface = g_type_interface_peek_parent (iface); +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + iface->get_module_file = (GFile* (*)(SpitHostInterface*)) plugins_standard_host_interface_real_get_module_file; +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + iface->get_config_bool = (gboolean (*)(SpitHostInterface*, const gchar*, gboolean)) plugins_standard_host_interface_real_get_config_bool; +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + iface->set_config_bool = (void (*)(SpitHostInterface*, const gchar*, gboolean)) plugins_standard_host_interface_real_set_config_bool; +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + iface->get_config_int = (gint (*)(SpitHostInterface*, const gchar*, gint)) plugins_standard_host_interface_real_get_config_int; +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + iface->set_config_int = (void (*)(SpitHostInterface*, const gchar*, gint)) plugins_standard_host_interface_real_set_config_int; +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + iface->get_config_string = (gchar* (*)(SpitHostInterface*, const gchar*, const gchar*)) plugins_standard_host_interface_real_get_config_string; +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + iface->set_config_string = (void (*)(SpitHostInterface*, const gchar*, const gchar*)) plugins_standard_host_interface_real_set_config_string; +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + iface->get_config_double = (gdouble (*)(SpitHostInterface*, const gchar*, gdouble)) plugins_standard_host_interface_real_get_config_double; +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + iface->set_config_double = (void (*)(SpitHostInterface*, const gchar*, gdouble)) plugins_standard_host_interface_real_set_config_double; +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + iface->unset_config_key = (void (*)(SpitHostInterface*, const gchar*)) plugins_standard_host_interface_real_unset_config_key; +#line 657 "StandardHostInterface.c" +} + + +static void plugins_standard_host_interface_instance_init (PluginsStandardHostInterface * self) { +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self->priv = PLUGINS_STANDARD_HOST_INTERFACE_GET_PRIVATE (self); +#line 664 "StandardHostInterface.c" +} + + +static void plugins_standard_host_interface_finalize (GObject* obj) { + PluginsStandardHostInterface * self; +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterface); +#line 10 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _g_free0 (self->priv->config_domain); +#line 11 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _g_free0 (self->priv->config_id); +#line 12 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _g_object_unref0 (self->priv->module_file); +#line 13 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + spit_pluggable_info_destroy (&self->priv->info); +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + G_OBJECT_CLASS (plugins_standard_host_interface_parent_class)->finalize (obj); +#line 682 "StandardHostInterface.c" +} + + +GType plugins_standard_host_interface_get_type (void) { + static volatile gsize plugins_standard_host_interface_type_id__volatile = 0; + if (g_once_init_enter (&plugins_standard_host_interface_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PluginsStandardHostInterfaceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) plugins_standard_host_interface_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PluginsStandardHostInterface), 0, (GInstanceInitFunc) plugins_standard_host_interface_instance_init, NULL }; + static const GInterfaceInfo spit_host_interface_info = { (GInterfaceInitFunc) plugins_standard_host_interface_spit_host_interface_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType plugins_standard_host_interface_type_id; + plugins_standard_host_interface_type_id = g_type_register_static (G_TYPE_OBJECT, "PluginsStandardHostInterface", &g_define_type_info, 0); + g_type_add_interface_static (plugins_standard_host_interface_type_id, SPIT_TYPE_HOST_INTERFACE, &spit_host_interface_info); + g_once_init_leave (&plugins_standard_host_interface_type_id__volatile, plugins_standard_host_interface_type_id); + } + return plugins_standard_host_interface_type_id__volatile; +} + + + diff --git a/src/plugins/TransitionsInterfaces.c b/src/plugins/TransitionsInterfaces.c new file mode 100644 index 0000000..aedb555 --- /dev/null +++ b/src/plugins/TransitionsInterfaces.c @@ -0,0 +1,1808 @@ +/* TransitionsInterfaces.c generated by valac 0.32.1, the Vala compiler + * generated from TransitionsInterfaces.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include <glib.h> +#include <glib-object.h> +#include <gdk-pixbuf/gdk-pixbuf.h> +#include <gdk/gdk.h> +#include <float.h> +#include <math.h> +#include <stdlib.h> +#include <string.h> +#include <gio/gio.h> +#include <cairo.h> + + +#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 _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#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_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_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_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_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; + +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 _SpitTransitionsVisualsPrivate { + GdkPixbuf* _from_pixbuf; + GdkRectangle _from_pos; + GdkPixbuf* _to_pixbuf; + GdkRectangle _to_pos; + GdkRGBA _bg_color; +}; + +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 _SpitTransitionsMotionPrivate { + SpitTransitionsDirection _direction; + gint _fps; + gint _duration_msec; +}; + +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 _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 _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); +}; + + +static gpointer spit_transitions_visuals_parent_class = NULL; +static gpointer spit_transitions_motion_parent_class = NULL; + +#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; +#define SPIT_TRANSITIONS_VISUALS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SPIT_TRANSITIONS_TYPE_VISUALS, SpitTransitionsVisualsPrivate)) +enum { + SPIT_TRANSITIONS_VISUALS_DUMMY_PROPERTY, + SPIT_TRANSITIONS_VISUALS_FROM_PIXBUF, + SPIT_TRANSITIONS_VISUALS_FROM_POS, + SPIT_TRANSITIONS_VISUALS_TO_PIXBUF, + SPIT_TRANSITIONS_VISUALS_TO_POS, + SPIT_TRANSITIONS_VISUALS_BG_COLOR +}; +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); +static void spit_transitions_visuals_set_from_pixbuf (SpitTransitionsVisuals* self, GdkPixbuf* value); +static void spit_transitions_visuals_set_from_pos (SpitTransitionsVisuals* self, GdkRectangle* value); +static void spit_transitions_visuals_set_to_pixbuf (SpitTransitionsVisuals* self, GdkPixbuf* value); +static void spit_transitions_visuals_set_to_pos (SpitTransitionsVisuals* self, GdkRectangle* value); +static void spit_transitions_visuals_set_bg_color (SpitTransitionsVisuals* self, GdkRGBA* value); +void spit_transitions_visuals_reserved0 (SpitTransitionsVisuals* self); +static void spit_transitions_visuals_real_reserved0 (SpitTransitionsVisuals* self); +void spit_transitions_visuals_reserved1 (SpitTransitionsVisuals* self); +static void spit_transitions_visuals_real_reserved1 (SpitTransitionsVisuals* self); +void spit_transitions_visuals_reserved2 (SpitTransitionsVisuals* self); +static void spit_transitions_visuals_real_reserved2 (SpitTransitionsVisuals* self); +void spit_transitions_visuals_reserved3 (SpitTransitionsVisuals* self); +static void spit_transitions_visuals_real_reserved3 (SpitTransitionsVisuals* self); +void spit_transitions_visuals_reserved4 (SpitTransitionsVisuals* self); +static void spit_transitions_visuals_real_reserved4 (SpitTransitionsVisuals* self); +void spit_transitions_visuals_reserved5 (SpitTransitionsVisuals* self); +static void spit_transitions_visuals_real_reserved5 (SpitTransitionsVisuals* self); +void spit_transitions_visuals_reserved6 (SpitTransitionsVisuals* self); +static void spit_transitions_visuals_real_reserved6 (SpitTransitionsVisuals* self); +void spit_transitions_visuals_reserved7 (SpitTransitionsVisuals* self); +static void spit_transitions_visuals_real_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); +static void spit_transitions_visuals_finalize (GObject* obj); +static void _vala_spit_transitions_visuals_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); +static void _vala_spit_transitions_visuals_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); +GType spit_transitions_motion_get_type (void) G_GNUC_CONST; +#define SPIT_TRANSITIONS_MOTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SPIT_TRANSITIONS_TYPE_MOTION, SpitTransitionsMotionPrivate)) +enum { + SPIT_TRANSITIONS_MOTION_DUMMY_PROPERTY, + SPIT_TRANSITIONS_MOTION_DIRECTION, + SPIT_TRANSITIONS_MOTION_FPS, + SPIT_TRANSITIONS_MOTION_DURATION_MSEC, + SPIT_TRANSITIONS_MOTION_TOTAL_FRAMES, + SPIT_TRANSITIONS_MOTION_TICK_MSEC +}; +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); +static void spit_transitions_motion_set_direction (SpitTransitionsMotion* self, SpitTransitionsDirection value); +static void spit_transitions_motion_set_fps (SpitTransitionsMotion* self, gint value); +static void spit_transitions_motion_set_duration_msec (SpitTransitionsMotion* self, gint value); +gdouble spit_transitions_motion_get_alpha (SpitTransitionsMotion* self, gint frame_number); +gint spit_transitions_motion_get_total_frames (SpitTransitionsMotion* self); +void spit_transitions_motion_reserved0 (SpitTransitionsMotion* self); +static void spit_transitions_motion_real_reserved0 (SpitTransitionsMotion* self); +void spit_transitions_motion_reserved1 (SpitTransitionsMotion* self); +static void spit_transitions_motion_real_reserved1 (SpitTransitionsMotion* self); +void spit_transitions_motion_reserved2 (SpitTransitionsMotion* self); +static void spit_transitions_motion_real_reserved2 (SpitTransitionsMotion* self); +void spit_transitions_motion_reserved3 (SpitTransitionsMotion* self); +static void spit_transitions_motion_real_reserved3 (SpitTransitionsMotion* self); +void spit_transitions_motion_reserved4 (SpitTransitionsMotion* self); +static void spit_transitions_motion_real_reserved4 (SpitTransitionsMotion* self); +void spit_transitions_motion_reserved5 (SpitTransitionsMotion* self); +static void spit_transitions_motion_real_reserved5 (SpitTransitionsMotion* self); +void spit_transitions_motion_reserved6 (SpitTransitionsMotion* self); +static void spit_transitions_motion_real_reserved6 (SpitTransitionsMotion* self); +void spit_transitions_motion_reserved7 (SpitTransitionsMotion* self); +static void spit_transitions_motion_real_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_tick_msec (SpitTransitionsMotion* self); +static void spit_transitions_motion_finalize (GObject* obj); +static void _vala_spit_transitions_motion_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); +static void _vala_spit_transitions_motion_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); +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_host_interface_get_type (void) G_GNUC_CONST; +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); +static void spit_transitions_descriptor_real_reserved0 (SpitTransitionsDescriptor* self); +void spit_transitions_descriptor_reserved1 (SpitTransitionsDescriptor* self); +static void spit_transitions_descriptor_real_reserved1 (SpitTransitionsDescriptor* self); +void spit_transitions_descriptor_reserved2 (SpitTransitionsDescriptor* self); +static void spit_transitions_descriptor_real_reserved2 (SpitTransitionsDescriptor* self); +void spit_transitions_descriptor_reserved3 (SpitTransitionsDescriptor* self); +static void spit_transitions_descriptor_real_reserved3 (SpitTransitionsDescriptor* self); +void spit_transitions_descriptor_reserved4 (SpitTransitionsDescriptor* self); +static void spit_transitions_descriptor_real_reserved4 (SpitTransitionsDescriptor* self); +void spit_transitions_descriptor_reserved5 (SpitTransitionsDescriptor* self); +static void spit_transitions_descriptor_real_reserved5 (SpitTransitionsDescriptor* self); +void spit_transitions_descriptor_reserved6 (SpitTransitionsDescriptor* self); +static void spit_transitions_descriptor_real_reserved6 (SpitTransitionsDescriptor* self); +void spit_transitions_descriptor_reserved7 (SpitTransitionsDescriptor* self); +static void spit_transitions_descriptor_real_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); +static void spit_transitions_effect_real_reserved0 (SpitTransitionsEffect* self); +void spit_transitions_effect_reserved1 (SpitTransitionsEffect* self); +static void spit_transitions_effect_real_reserved1 (SpitTransitionsEffect* self); +void spit_transitions_effect_reserved2 (SpitTransitionsEffect* self); +static void spit_transitions_effect_real_reserved2 (SpitTransitionsEffect* self); +void spit_transitions_effect_reserved3 (SpitTransitionsEffect* self); +static void spit_transitions_effect_real_reserved3 (SpitTransitionsEffect* self); +void spit_transitions_effect_reserved4 (SpitTransitionsEffect* self); +static void spit_transitions_effect_real_reserved4 (SpitTransitionsEffect* self); +void spit_transitions_effect_reserved5 (SpitTransitionsEffect* self); +static void spit_transitions_effect_real_reserved5 (SpitTransitionsEffect* self); +void spit_transitions_effect_reserved6 (SpitTransitionsEffect* self); +static void spit_transitions_effect_real_reserved6 (SpitTransitionsEffect* self); +void spit_transitions_effect_reserved7 (SpitTransitionsEffect* self); +static void spit_transitions_effect_real_reserved7 (SpitTransitionsEffect* self); + + +/** + * Direction indicates what direction (animated motion) the {@link Effect} should simulate the + * images are moving, if appropriate. + * + * The direction indicates from what side or corner of the screen the new image should come in from. + * Thus, a LEFT slide means the current image exits via the left-hand edge of the screen and the + * new image moves into place from the right-hand edge. + * + * UP, DOWN, and diagonals may be added at some point. + */ +GType spit_transitions_direction_get_type (void) { + static volatile gsize spit_transitions_direction_type_id__volatile = 0; + if (g_once_init_enter (&spit_transitions_direction_type_id__volatile)) { + static const GEnumValue values[] = {{SPIT_TRANSITIONS_DIRECTION_LEFT, "SPIT_TRANSITIONS_DIRECTION_LEFT", "left"}, {SPIT_TRANSITIONS_DIRECTION_RIGHT, "SPIT_TRANSITIONS_DIRECTION_RIGHT", "right"}, {SPIT_TRANSITIONS_DIRECTION_FORWARD, "SPIT_TRANSITIONS_DIRECTION_FORWARD", "forward"}, {SPIT_TRANSITIONS_DIRECTION_BACKWARD, "SPIT_TRANSITIONS_DIRECTION_BACKWARD", "backward"}, {0, NULL, NULL}}; + GType spit_transitions_direction_type_id; + spit_transitions_direction_type_id = g_enum_register_static ("SpitTransitionsDirection", values); + g_once_init_leave (&spit_transitions_direction_type_id__volatile, spit_transitions_direction_type_id); + } + return spit_transitions_direction_type_id__volatile; +} + + +SpitTransitionsVisuals* spit_transitions_visuals_construct (GType object_type, GdkPixbuf* from_pixbuf, GdkRectangle* from_pos, GdkPixbuf* to_pixbuf, GdkRectangle* to_pos, GdkRGBA* bg_color) { + SpitTransitionsVisuals * self = NULL; + GdkPixbuf* _tmp0_ = NULL; + GdkRectangle _tmp1_ = {0}; + GdkPixbuf* _tmp2_ = NULL; + GdkRectangle _tmp3_ = {0}; + GdkRGBA _tmp4_ = {0}; +#line 94 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_val_if_fail ((from_pixbuf == NULL) || GDK_IS_PIXBUF (from_pixbuf), NULL); +#line 94 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_val_if_fail (from_pos != NULL, NULL); +#line 94 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_val_if_fail ((to_pixbuf == NULL) || GDK_IS_PIXBUF (to_pixbuf), NULL); +#line 94 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_val_if_fail (to_pos != NULL, NULL); +#line 94 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_val_if_fail (bg_color != NULL, NULL); +#line 94 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + self = (SpitTransitionsVisuals*) g_object_new (object_type, NULL); +#line 96 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = from_pixbuf; +#line 96 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_visuals_set_from_pixbuf (self, _tmp0_); +#line 97 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp1_ = *from_pos; +#line 97 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_visuals_set_from_pos (self, &_tmp1_); +#line 98 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp2_ = to_pixbuf; +#line 98 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_visuals_set_to_pixbuf (self, _tmp2_); +#line 99 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp3_ = *to_pos; +#line 99 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_visuals_set_to_pos (self, &_tmp3_); +#line 100 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp4_ = *bg_color; +#line 100 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_visuals_set_bg_color (self, &_tmp4_); +#line 94 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return self; +#line 422 "TransitionsInterfaces.c" +} + + +SpitTransitionsVisuals* spit_transitions_visuals_new (GdkPixbuf* from_pixbuf, GdkRectangle* from_pos, GdkPixbuf* to_pixbuf, GdkRectangle* to_pos, GdkRGBA* bg_color) { +#line 94 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return spit_transitions_visuals_construct (SPIT_TRANSITIONS_TYPE_VISUALS, from_pixbuf, from_pos, to_pixbuf, to_pos, bg_color); +#line 429 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_real_reserved0 (SpitTransitionsVisuals* self) { +} + + +void spit_transitions_visuals_reserved0 (SpitTransitionsVisuals* self) { +#line 106 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 106 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_VISUALS_GET_CLASS (self)->reserved0 (self); +#line 442 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_real_reserved1 (SpitTransitionsVisuals* self) { +} + + +void spit_transitions_visuals_reserved1 (SpitTransitionsVisuals* self) { +#line 107 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 107 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_VISUALS_GET_CLASS (self)->reserved1 (self); +#line 455 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_real_reserved2 (SpitTransitionsVisuals* self) { +} + + +void spit_transitions_visuals_reserved2 (SpitTransitionsVisuals* self) { +#line 108 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 108 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_VISUALS_GET_CLASS (self)->reserved2 (self); +#line 468 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_real_reserved3 (SpitTransitionsVisuals* self) { +} + + +void spit_transitions_visuals_reserved3 (SpitTransitionsVisuals* self) { +#line 109 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 109 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_VISUALS_GET_CLASS (self)->reserved3 (self); +#line 481 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_real_reserved4 (SpitTransitionsVisuals* self) { +} + + +void spit_transitions_visuals_reserved4 (SpitTransitionsVisuals* self) { +#line 110 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 110 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_VISUALS_GET_CLASS (self)->reserved4 (self); +#line 494 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_real_reserved5 (SpitTransitionsVisuals* self) { +} + + +void spit_transitions_visuals_reserved5 (SpitTransitionsVisuals* self) { +#line 111 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 111 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_VISUALS_GET_CLASS (self)->reserved5 (self); +#line 507 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_real_reserved6 (SpitTransitionsVisuals* self) { +} + + +void spit_transitions_visuals_reserved6 (SpitTransitionsVisuals* self) { +#line 112 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 112 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_VISUALS_GET_CLASS (self)->reserved6 (self); +#line 520 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_real_reserved7 (SpitTransitionsVisuals* self) { +} + + +void spit_transitions_visuals_reserved7 (SpitTransitionsVisuals* self) { +#line 113 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 113 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_VISUALS_GET_CLASS (self)->reserved7 (self); +#line 533 "TransitionsInterfaces.c" +} + + +GdkPixbuf* spit_transitions_visuals_get_from_pixbuf (SpitTransitionsVisuals* self) { + GdkPixbuf* result; + GdkPixbuf* _tmp0_ = NULL; +#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_val_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self), NULL); +#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = self->priv->_from_pixbuf; +#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + result = _tmp0_; +#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return result; +#line 548 "TransitionsInterfaces.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return self ? g_object_ref (self) : NULL; +#line 555 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_set_from_pixbuf (SpitTransitionsVisuals* self, GdkPixbuf* value) { + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; +#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = value; +#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _g_object_unref0 (self->priv->_from_pixbuf); +#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + self->priv->_from_pixbuf = _tmp1_; +#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_notify ((GObject *) self, "from-pixbuf"); +#line 574 "TransitionsInterfaces.c" +} + + +void spit_transitions_visuals_get_from_pos (SpitTransitionsVisuals* self, GdkRectangle* result) { + GdkRectangle _tmp0_ = {0}; +#line 73 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 73 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = self->priv->_from_pos; +#line 73 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + *result = _tmp0_; +#line 73 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return; +#line 588 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_set_from_pos (SpitTransitionsVisuals* self, GdkRectangle* value) { + GdkRectangle _tmp0_ = {0}; +#line 73 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 73 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = *value; +#line 73 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + self->priv->_from_pos = _tmp0_; +#line 73 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_notify ((GObject *) self, "from-pos"); +#line 602 "TransitionsInterfaces.c" +} + + +GdkPixbuf* spit_transitions_visuals_get_to_pixbuf (SpitTransitionsVisuals* self) { + GdkPixbuf* result; + GdkPixbuf* _tmp0_ = NULL; +#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_val_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self), NULL); +#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = self->priv->_to_pixbuf; +#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + result = _tmp0_; +#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return result; +#line 617 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_set_to_pixbuf (SpitTransitionsVisuals* self, GdkPixbuf* value) { + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; +#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = value; +#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _g_object_unref0 (self->priv->_to_pixbuf); +#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + self->priv->_to_pixbuf = _tmp1_; +#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_notify ((GObject *) self, "to-pixbuf"); +#line 636 "TransitionsInterfaces.c" +} + + +void spit_transitions_visuals_get_to_pos (SpitTransitionsVisuals* self, GdkRectangle* result) { + GdkRectangle _tmp0_ = {0}; +#line 87 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 87 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = self->priv->_to_pos; +#line 87 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + *result = _tmp0_; +#line 87 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return; +#line 650 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_set_to_pos (SpitTransitionsVisuals* self, GdkRectangle* value) { + GdkRectangle _tmp0_ = {0}; +#line 87 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 87 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = *value; +#line 87 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + self->priv->_to_pos = _tmp0_; +#line 87 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_notify ((GObject *) self, "to-pos"); +#line 664 "TransitionsInterfaces.c" +} + + +void spit_transitions_visuals_get_bg_color (SpitTransitionsVisuals* self, GdkRGBA* result) { + GdkRGBA _tmp0_ = {0}; +#line 92 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 92 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = self->priv->_bg_color; +#line 92 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + *result = _tmp0_; +#line 92 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return; +#line 678 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_set_bg_color (SpitTransitionsVisuals* self, GdkRGBA* value) { + GdkRGBA _tmp0_ = {0}; +#line 92 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 92 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = *value; +#line 92 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + self->priv->_bg_color = _tmp0_; +#line 92 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_notify ((GObject *) self, "bg-color"); +#line 692 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_class_init (SpitTransitionsVisualsClass * klass) { +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_visuals_parent_class = g_type_class_peek_parent (klass); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_type_class_add_private (klass, sizeof (SpitTransitionsVisualsPrivate)); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsVisualsClass *) klass)->reserved0 = spit_transitions_visuals_real_reserved0; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsVisualsClass *) klass)->reserved1 = spit_transitions_visuals_real_reserved1; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsVisualsClass *) klass)->reserved2 = spit_transitions_visuals_real_reserved2; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsVisualsClass *) klass)->reserved3 = spit_transitions_visuals_real_reserved3; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsVisualsClass *) klass)->reserved4 = spit_transitions_visuals_real_reserved4; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsVisualsClass *) klass)->reserved5 = spit_transitions_visuals_real_reserved5; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsVisualsClass *) klass)->reserved6 = spit_transitions_visuals_real_reserved6; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsVisualsClass *) klass)->reserved7 = spit_transitions_visuals_real_reserved7; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + G_OBJECT_CLASS (klass)->get_property = _vala_spit_transitions_visuals_get_property; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + G_OBJECT_CLASS (klass)->set_property = _vala_spit_transitions_visuals_set_property; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + G_OBJECT_CLASS (klass)->finalize = spit_transitions_visuals_finalize; +#line 723 "TransitionsInterfaces.c" + /** + * Returns the starting pixbuf (the pixbuf currently on the display). + * + * If transitioning from a blank screen, this will return null. + */ +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SPIT_TRANSITIONS_VISUALS_FROM_PIXBUF, g_param_spec_object ("from-pixbuf", "from-pixbuf", "from-pixbuf", GDK_TYPE_PIXBUF, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 731 "TransitionsInterfaces.c" + /** + * Returns the position of the starting pixbuf on the display. + * + * If transitioning from a blank screen, this will be zeroed. + */ +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SPIT_TRANSITIONS_VISUALS_FROM_POS, g_param_spec_boxed ("from-pos", "from-pos", "from-pos", GDK_TYPE_RECTANGLE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 739 "TransitionsInterfaces.c" + /** + * Returns the ending pixbuf (the pixbuf that the transition should result in). + * + * If transitioning to a blank screen, this will return null. + */ +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SPIT_TRANSITIONS_VISUALS_TO_PIXBUF, g_param_spec_object ("to-pixbuf", "to-pixbuf", "to-pixbuf", GDK_TYPE_PIXBUF, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 747 "TransitionsInterfaces.c" + /** + * Returns the position of the ending pixbuf on the display. + * + * If transitioning to a blank screen, this will be zeroed. + */ +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SPIT_TRANSITIONS_VISUALS_TO_POS, g_param_spec_boxed ("to-pos", "to-pos", "to-pos", GDK_TYPE_RECTANGLE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 755 "TransitionsInterfaces.c" + /** + * Returns the background color of the viewport. + */ +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SPIT_TRANSITIONS_VISUALS_BG_COLOR, g_param_spec_boxed ("bg-color", "bg-color", "bg-color", gdk_rgba_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 761 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_instance_init (SpitTransitionsVisuals * self) { +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + self->priv = SPIT_TRANSITIONS_VISUALS_GET_PRIVATE (self); +#line 768 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_finalize (GObject* obj) { + SpitTransitionsVisuals * self; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SPIT_TRANSITIONS_TYPE_VISUALS, SpitTransitionsVisuals); +#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _g_object_unref0 (self->priv->_from_pixbuf); +#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _g_object_unref0 (self->priv->_to_pixbuf); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + G_OBJECT_CLASS (spit_transitions_visuals_parent_class)->finalize (obj); +#line 782 "TransitionsInterfaces.c" +} + + +/** + * Visuals contains the pertinent drawing information for the transition that must occur. + * + * A Visuals object is supplied to {@link Effect} at the start of the transition and during each + * call to paint to the screen. + * + * Note that if starting with a blank screen, from_pixbuf will be null and from_pos will be + * zeroed. The transition should be considered to start from a blank screen of the supplied + * background color. + * + * Also note that if transitioning to a blank screen, to_pixbuf will be null and to_pos will be + * zeroed. Like the prior case, the transition should move toward a blank screen of the background + * color. + */ +GType spit_transitions_visuals_get_type (void) { + static volatile gsize spit_transitions_visuals_type_id__volatile = 0; + if (g_once_init_enter (&spit_transitions_visuals_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitTransitionsVisualsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) spit_transitions_visuals_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SpitTransitionsVisuals), 0, (GInstanceInitFunc) spit_transitions_visuals_instance_init, NULL }; + GType spit_transitions_visuals_type_id; + spit_transitions_visuals_type_id = g_type_register_static (G_TYPE_OBJECT, "SpitTransitionsVisuals", &g_define_type_info, 0); + g_once_init_leave (&spit_transitions_visuals_type_id__volatile, spit_transitions_visuals_type_id); + } + return spit_transitions_visuals_type_id__volatile; +} + + +static void _vala_spit_transitions_visuals_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { + SpitTransitionsVisuals * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, SPIT_TRANSITIONS_TYPE_VISUALS, SpitTransitionsVisuals); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + switch (property_id) { +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_VISUALS_FROM_PIXBUF: +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_value_set_object (value, spit_transitions_visuals_get_from_pixbuf (self)); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_VISUALS_FROM_POS: +#line 825 "TransitionsInterfaces.c" + { + GdkRectangle boxed; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_visuals_get_from_pos (self, &boxed); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_value_set_boxed (value, &boxed); +#line 832 "TransitionsInterfaces.c" + } +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_VISUALS_TO_PIXBUF: +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_value_set_object (value, spit_transitions_visuals_get_to_pixbuf (self)); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_VISUALS_TO_POS: +#line 844 "TransitionsInterfaces.c" + { + GdkRectangle boxed; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_visuals_get_to_pos (self, &boxed); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_value_set_boxed (value, &boxed); +#line 851 "TransitionsInterfaces.c" + } +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_VISUALS_BG_COLOR: +#line 857 "TransitionsInterfaces.c" + { + GdkRGBA boxed; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_visuals_get_bg_color (self, &boxed); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_value_set_boxed (value, &boxed); +#line 864 "TransitionsInterfaces.c" + } +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 868 "TransitionsInterfaces.c" + default: +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 874 "TransitionsInterfaces.c" + } +} + + +static void _vala_spit_transitions_visuals_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { + SpitTransitionsVisuals * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, SPIT_TRANSITIONS_TYPE_VISUALS, SpitTransitionsVisuals); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + switch (property_id) { +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_VISUALS_FROM_PIXBUF: +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_visuals_set_from_pixbuf (self, g_value_get_object (value)); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_VISUALS_FROM_POS: +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_visuals_set_from_pos (self, g_value_get_boxed (value)); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_VISUALS_TO_PIXBUF: +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_visuals_set_to_pixbuf (self, g_value_get_object (value)); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_VISUALS_TO_POS: +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_visuals_set_to_pos (self, g_value_get_boxed (value)); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_VISUALS_BG_COLOR: +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_visuals_set_bg_color (self, g_value_get_boxed (value)); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 914 "TransitionsInterfaces.c" + default: +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 920 "TransitionsInterfaces.c" + } +} + + +SpitTransitionsMotion* spit_transitions_motion_construct (GType object_type, SpitTransitionsDirection direction, gint fps, gint duration_msec) { + SpitTransitionsMotion * self = NULL; + SpitTransitionsDirection _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 157 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + self = (SpitTransitionsMotion*) g_object_new (object_type, NULL); +#line 158 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = direction; +#line 158 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_motion_set_direction (self, _tmp0_); +#line 159 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp1_ = fps; +#line 159 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_motion_set_fps (self, _tmp1_); +#line 160 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp2_ = duration_msec; +#line 160 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_motion_set_duration_msec (self, _tmp2_); +#line 157 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return self; +#line 946 "TransitionsInterfaces.c" +} + + +SpitTransitionsMotion* spit_transitions_motion_new (SpitTransitionsDirection direction, gint fps, gint duration_msec) { +#line 157 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return spit_transitions_motion_construct (SPIT_TRANSITIONS_TYPE_MOTION, direction, fps, duration_msec); +#line 953 "TransitionsInterfaces.c" +} + + +/** + * Returns a value from 0.0 to 1.0 that represents the percentage of the transition's completion + * for the specified frame. + */ +gdouble spit_transitions_motion_get_alpha (SpitTransitionsMotion* self, gint frame_number) { + gdouble result = 0.0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 167 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_val_if_fail (SPIT_TRANSITIONS_IS_MOTION (self), 0.0); +#line 168 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = frame_number; +#line 168 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp1_ = spit_transitions_motion_get_total_frames (self); +#line 168 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp2_ = _tmp1_; +#line 168 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + result = ((gdouble) _tmp0_) / ((gdouble) _tmp2_); +#line 168 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return result; +#line 978 "TransitionsInterfaces.c" +} + + +static void spit_transitions_motion_real_reserved0 (SpitTransitionsMotion* self) { +} + + +void spit_transitions_motion_reserved0 (SpitTransitionsMotion* self) { +#line 174 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self)); +#line 174 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_MOTION_GET_CLASS (self)->reserved0 (self); +#line 991 "TransitionsInterfaces.c" +} + + +static void spit_transitions_motion_real_reserved1 (SpitTransitionsMotion* self) { +} + + +void spit_transitions_motion_reserved1 (SpitTransitionsMotion* self) { +#line 175 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self)); +#line 175 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_MOTION_GET_CLASS (self)->reserved1 (self); +#line 1004 "TransitionsInterfaces.c" +} + + +static void spit_transitions_motion_real_reserved2 (SpitTransitionsMotion* self) { +} + + +void spit_transitions_motion_reserved2 (SpitTransitionsMotion* self) { +#line 176 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self)); +#line 176 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_MOTION_GET_CLASS (self)->reserved2 (self); +#line 1017 "TransitionsInterfaces.c" +} + + +static void spit_transitions_motion_real_reserved3 (SpitTransitionsMotion* self) { +} + + +void spit_transitions_motion_reserved3 (SpitTransitionsMotion* self) { +#line 177 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self)); +#line 177 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_MOTION_GET_CLASS (self)->reserved3 (self); +#line 1030 "TransitionsInterfaces.c" +} + + +static void spit_transitions_motion_real_reserved4 (SpitTransitionsMotion* self) { +} + + +void spit_transitions_motion_reserved4 (SpitTransitionsMotion* self) { +#line 178 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self)); +#line 178 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_MOTION_GET_CLASS (self)->reserved4 (self); +#line 1043 "TransitionsInterfaces.c" +} + + +static void spit_transitions_motion_real_reserved5 (SpitTransitionsMotion* self) { +} + + +void spit_transitions_motion_reserved5 (SpitTransitionsMotion* self) { +#line 179 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self)); +#line 179 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_MOTION_GET_CLASS (self)->reserved5 (self); +#line 1056 "TransitionsInterfaces.c" +} + + +static void spit_transitions_motion_real_reserved6 (SpitTransitionsMotion* self) { +} + + +void spit_transitions_motion_reserved6 (SpitTransitionsMotion* self) { +#line 180 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self)); +#line 180 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_MOTION_GET_CLASS (self)->reserved6 (self); +#line 1069 "TransitionsInterfaces.c" +} + + +static void spit_transitions_motion_real_reserved7 (SpitTransitionsMotion* self) { +} + + +void spit_transitions_motion_reserved7 (SpitTransitionsMotion* self) { +#line 181 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self)); +#line 181 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_MOTION_GET_CLASS (self)->reserved7 (self); +#line 1082 "TransitionsInterfaces.c" +} + + +SpitTransitionsDirection spit_transitions_motion_get_direction (SpitTransitionsMotion* self) { + SpitTransitionsDirection result; + SpitTransitionsDirection _tmp0_ = 0; +#line 126 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_val_if_fail (SPIT_TRANSITIONS_IS_MOTION (self), 0); +#line 126 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = self->priv->_direction; +#line 126 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + result = _tmp0_; +#line 126 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return result; +#line 1097 "TransitionsInterfaces.c" +} + + +static void spit_transitions_motion_set_direction (SpitTransitionsMotion* self, SpitTransitionsDirection value) { + SpitTransitionsDirection _tmp0_ = 0; +#line 126 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self)); +#line 126 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = value; +#line 126 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + self->priv->_direction = _tmp0_; +#line 126 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_notify ((GObject *) self, "direction"); +#line 1111 "TransitionsInterfaces.c" +} + + +gint spit_transitions_motion_get_fps (SpitTransitionsMotion* self) { + gint result; + gint _tmp0_ = 0; +#line 131 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_val_if_fail (SPIT_TRANSITIONS_IS_MOTION (self), 0); +#line 131 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = self->priv->_fps; +#line 131 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + result = _tmp0_; +#line 131 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return result; +#line 1126 "TransitionsInterfaces.c" +} + + +static void spit_transitions_motion_set_fps (SpitTransitionsMotion* self, gint value) { + gint _tmp0_ = 0; +#line 131 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self)); +#line 131 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = value; +#line 131 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + self->priv->_fps = _tmp0_; +#line 131 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_notify ((GObject *) self, "fps"); +#line 1140 "TransitionsInterfaces.c" +} + + +gint spit_transitions_motion_get_duration_msec (SpitTransitionsMotion* self) { + gint result; + gint _tmp0_ = 0; +#line 136 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_val_if_fail (SPIT_TRANSITIONS_IS_MOTION (self), 0); +#line 136 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = self->priv->_duration_msec; +#line 136 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + result = _tmp0_; +#line 136 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return result; +#line 1155 "TransitionsInterfaces.c" +} + + +static void spit_transitions_motion_set_duration_msec (SpitTransitionsMotion* self, gint value) { + gint _tmp0_ = 0; +#line 136 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self)); +#line 136 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = value; +#line 136 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + self->priv->_duration_msec = _tmp0_; +#line 136 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_notify ((GObject *) self, "duration-msec"); +#line 1169 "TransitionsInterfaces.c" +} + + +gint spit_transitions_motion_get_total_frames (SpitTransitionsMotion* self) { + gint result; + gint _tmp0_ = 0; + gint _tmp1_ = 0; +#line 143 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_val_if_fail (SPIT_TRANSITIONS_IS_MOTION (self), 0); +#line 144 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = self->priv->_fps; +#line 144 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp1_ = self->priv->_duration_msec; +#line 144 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + result = (gint) (((gdouble) _tmp0_) * (((gdouble) _tmp1_) / 1000.0)); +#line 144 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return result; +#line 1187 "TransitionsInterfaces.c" +} + + +gint spit_transitions_motion_get_tick_msec (SpitTransitionsMotion* self) { + gint result; + gint _tmp0_ = 0; +#line 152 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_val_if_fail (SPIT_TRANSITIONS_IS_MOTION (self), 0); +#line 153 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = self->priv->_fps; +#line 153 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + result = (gint) (1000.0 / ((gdouble) _tmp0_)); +#line 153 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return result; +#line 1202 "TransitionsInterfaces.c" +} + + +static void spit_transitions_motion_class_init (SpitTransitionsMotionClass * klass) { +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_motion_parent_class = g_type_class_peek_parent (klass); +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_type_class_add_private (klass, sizeof (SpitTransitionsMotionPrivate)); +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsMotionClass *) klass)->reserved0 = spit_transitions_motion_real_reserved0; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsMotionClass *) klass)->reserved1 = spit_transitions_motion_real_reserved1; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsMotionClass *) klass)->reserved2 = spit_transitions_motion_real_reserved2; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsMotionClass *) klass)->reserved3 = spit_transitions_motion_real_reserved3; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsMotionClass *) klass)->reserved4 = spit_transitions_motion_real_reserved4; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsMotionClass *) klass)->reserved5 = spit_transitions_motion_real_reserved5; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsMotionClass *) klass)->reserved6 = spit_transitions_motion_real_reserved6; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsMotionClass *) klass)->reserved7 = spit_transitions_motion_real_reserved7; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + G_OBJECT_CLASS (klass)->get_property = _vala_spit_transitions_motion_get_property; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + G_OBJECT_CLASS (klass)->set_property = _vala_spit_transitions_motion_set_property; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + G_OBJECT_CLASS (klass)->finalize = spit_transitions_motion_finalize; +#line 1233 "TransitionsInterfaces.c" + /** + * Returns the direction the transition should occur in (if pertinent to the {@link Effect}. + */ +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SPIT_TRANSITIONS_MOTION_DIRECTION, g_param_spec_enum ("direction", "direction", "direction", SPIT_TRANSITIONS_TYPE_DIRECTION, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 1239 "TransitionsInterfaces.c" + /** + * Returns the frames per second of the {@link Effect}. + */ +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SPIT_TRANSITIONS_MOTION_FPS, g_param_spec_int ("fps", "fps", "fps", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 1245 "TransitionsInterfaces.c" + /** + * Returns the amount of time the transition should take (in milliseconds). + */ +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SPIT_TRANSITIONS_MOTION_DURATION_MSEC, g_param_spec_int ("duration-msec", "duration-msec", "duration-msec", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 1251 "TransitionsInterfaces.c" + /** + * Returns the number of frames that should be required to perform the transition in the + * expected {@link duration_msec}. + */ +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SPIT_TRANSITIONS_MOTION_TOTAL_FRAMES, g_param_spec_int ("total-frames", "total-frames", "total-frames", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 1258 "TransitionsInterfaces.c" + /** + * Returns the approximate time between each frame draw (in milliseconds). + */ +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SPIT_TRANSITIONS_MOTION_TICK_MSEC, g_param_spec_int ("tick-msec", "tick-msec", "tick-msec", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 1264 "TransitionsInterfaces.c" +} + + +static void spit_transitions_motion_instance_init (SpitTransitionsMotion * self) { +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + self->priv = SPIT_TRANSITIONS_MOTION_GET_PRIVATE (self); +#line 1271 "TransitionsInterfaces.c" +} + + +static void spit_transitions_motion_finalize (GObject* obj) { + SpitTransitionsMotion * self; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SPIT_TRANSITIONS_TYPE_MOTION, SpitTransitionsMotion); +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + G_OBJECT_CLASS (spit_transitions_motion_parent_class)->finalize (obj); +#line 1281 "TransitionsInterfaces.c" +} + + +/** + * Motion contains all the pertinent information regarding the animation of the transition. + * + * Some of Motion's information may not apply to a transition effect (such as Direction for a + * fade effect). + */ +GType spit_transitions_motion_get_type (void) { + static volatile gsize spit_transitions_motion_type_id__volatile = 0; + if (g_once_init_enter (&spit_transitions_motion_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitTransitionsMotionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) spit_transitions_motion_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SpitTransitionsMotion), 0, (GInstanceInitFunc) spit_transitions_motion_instance_init, NULL }; + GType spit_transitions_motion_type_id; + spit_transitions_motion_type_id = g_type_register_static (G_TYPE_OBJECT, "SpitTransitionsMotion", &g_define_type_info, 0); + g_once_init_leave (&spit_transitions_motion_type_id__volatile, spit_transitions_motion_type_id); + } + return spit_transitions_motion_type_id__volatile; +} + + +static void _vala_spit_transitions_motion_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { + SpitTransitionsMotion * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, SPIT_TRANSITIONS_TYPE_MOTION, SpitTransitionsMotion); +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + switch (property_id) { +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_MOTION_DIRECTION: +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_value_set_enum (value, spit_transitions_motion_get_direction (self)); +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_MOTION_FPS: +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_value_set_int (value, spit_transitions_motion_get_fps (self)); +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_MOTION_DURATION_MSEC: +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_value_set_int (value, spit_transitions_motion_get_duration_msec (self)); +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_MOTION_TOTAL_FRAMES: +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_value_set_int (value, spit_transitions_motion_get_total_frames (self)); +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_MOTION_TICK_MSEC: +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_value_set_int (value, spit_transitions_motion_get_tick_msec (self)); +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 1338 "TransitionsInterfaces.c" + default: +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 1344 "TransitionsInterfaces.c" + } +} + + +static void _vala_spit_transitions_motion_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { + SpitTransitionsMotion * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, SPIT_TRANSITIONS_TYPE_MOTION, SpitTransitionsMotion); +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + switch (property_id) { +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_MOTION_DIRECTION: +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_motion_set_direction (self, g_value_get_enum (value)); +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_MOTION_FPS: +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_motion_set_fps (self, g_value_get_int (value)); +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_MOTION_DURATION_MSEC: +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_motion_set_duration_msec (self, g_value_get_int (value)); +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 1372 "TransitionsInterfaces.c" + default: +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 1378 "TransitionsInterfaces.c" + } +} + + +/** + * Returns an instance of the {@link Effect} this descriptor represents. + */ +SpitTransitionsEffect* spit_transitions_descriptor_create (SpitTransitionsDescriptor* self, SpitHostInterface* host) { +#line 191 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_val_if_fail (SPIT_TRANSITIONS_IS_DESCRIPTOR (self), NULL); +#line 191 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return SPIT_TRANSITIONS_DESCRIPTOR_GET_INTERFACE (self)->create (self, host); +#line 1391 "TransitionsInterfaces.c" +} + + +static void spit_transitions_descriptor_real_reserved0 (SpitTransitionsDescriptor* self) { +} + + +void spit_transitions_descriptor_reserved0 (SpitTransitionsDescriptor* self) { +#line 196 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_DESCRIPTOR (self)); +#line 196 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_DESCRIPTOR_GET_INTERFACE (self)->reserved0 (self); +#line 1404 "TransitionsInterfaces.c" +} + + +static void spit_transitions_descriptor_real_reserved1 (SpitTransitionsDescriptor* self) { +} + + +void spit_transitions_descriptor_reserved1 (SpitTransitionsDescriptor* self) { +#line 197 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_DESCRIPTOR (self)); +#line 197 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_DESCRIPTOR_GET_INTERFACE (self)->reserved1 (self); +#line 1417 "TransitionsInterfaces.c" +} + + +static void spit_transitions_descriptor_real_reserved2 (SpitTransitionsDescriptor* self) { +} + + +void spit_transitions_descriptor_reserved2 (SpitTransitionsDescriptor* self) { +#line 198 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_DESCRIPTOR (self)); +#line 198 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_DESCRIPTOR_GET_INTERFACE (self)->reserved2 (self); +#line 1430 "TransitionsInterfaces.c" +} + + +static void spit_transitions_descriptor_real_reserved3 (SpitTransitionsDescriptor* self) { +} + + +void spit_transitions_descriptor_reserved3 (SpitTransitionsDescriptor* self) { +#line 199 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_DESCRIPTOR (self)); +#line 199 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_DESCRIPTOR_GET_INTERFACE (self)->reserved3 (self); +#line 1443 "TransitionsInterfaces.c" +} + + +static void spit_transitions_descriptor_real_reserved4 (SpitTransitionsDescriptor* self) { +} + + +void spit_transitions_descriptor_reserved4 (SpitTransitionsDescriptor* self) { +#line 200 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_DESCRIPTOR (self)); +#line 200 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_DESCRIPTOR_GET_INTERFACE (self)->reserved4 (self); +#line 1456 "TransitionsInterfaces.c" +} + + +static void spit_transitions_descriptor_real_reserved5 (SpitTransitionsDescriptor* self) { +} + + +void spit_transitions_descriptor_reserved5 (SpitTransitionsDescriptor* self) { +#line 201 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_DESCRIPTOR (self)); +#line 201 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_DESCRIPTOR_GET_INTERFACE (self)->reserved5 (self); +#line 1469 "TransitionsInterfaces.c" +} + + +static void spit_transitions_descriptor_real_reserved6 (SpitTransitionsDescriptor* self) { +} + + +void spit_transitions_descriptor_reserved6 (SpitTransitionsDescriptor* self) { +#line 202 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_DESCRIPTOR (self)); +#line 202 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_DESCRIPTOR_GET_INTERFACE (self)->reserved6 (self); +#line 1482 "TransitionsInterfaces.c" +} + + +static void spit_transitions_descriptor_real_reserved7 (SpitTransitionsDescriptor* self) { +} + + +void spit_transitions_descriptor_reserved7 (SpitTransitionsDescriptor* self) { +#line 203 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_DESCRIPTOR (self)); +#line 203 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_DESCRIPTOR_GET_INTERFACE (self)->reserved7 (self); +#line 1495 "TransitionsInterfaces.c" +} + + +static void spit_transitions_descriptor_base_init (SpitTransitionsDescriptorIface * iface) { +#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + static gboolean initialized = FALSE; +#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + if (!initialized) { +#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + initialized = TRUE; +#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved0 = spit_transitions_descriptor_real_reserved0; +#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved1 = spit_transitions_descriptor_real_reserved1; +#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved2 = spit_transitions_descriptor_real_reserved2; +#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved3 = spit_transitions_descriptor_real_reserved3; +#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved4 = spit_transitions_descriptor_real_reserved4; +#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved5 = spit_transitions_descriptor_real_reserved5; +#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved6 = spit_transitions_descriptor_real_reserved6; +#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved7 = spit_transitions_descriptor_real_reserved7; +#line 1522 "TransitionsInterfaces.c" + } +} + + +/** + * A Descriptor offers a factory method for creating {@link Effect} instances. + */ +GType spit_transitions_descriptor_get_type (void) { + static volatile gsize spit_transitions_descriptor_type_id__volatile = 0; + if (g_once_init_enter (&spit_transitions_descriptor_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitTransitionsDescriptorIface), (GBaseInitFunc) spit_transitions_descriptor_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_transitions_descriptor_type_id; + spit_transitions_descriptor_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitTransitionsDescriptor", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_transitions_descriptor_type_id, G_TYPE_OBJECT); + g_type_interface_add_prerequisite (spit_transitions_descriptor_type_id, SPIT_TYPE_PLUGGABLE); + g_once_init_leave (&spit_transitions_descriptor_type_id__volatile, spit_transitions_descriptor_type_id); + } + return spit_transitions_descriptor_type_id__volatile; +} + + +/** + * Returns frames per second (FPS) information for this effect. + * + * If the min_fps is not met, the Effect may be cancelled or the host will skip ahead. + * + * @param desired_fps The desired FPS of the transition. Return zero if no + * transition is to occur (instantaneous or null transition). + * @param min_fps The minimum FPS before the effect is consider "ruined". + * Return zero if any FPS is acceptable. + */ +void spit_transitions_effect_get_fps (SpitTransitionsEffect* self, gint* desired_fps, gint* min_fps) { +#line 240 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self)); +#line 240 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->get_fps (self, desired_fps, min_fps); +#line 1559 "TransitionsInterfaces.c" +} + + +/** + * Called when the effect is starting. + * + * All state should be reset. The frame number, which is not supplied, is one. + */ +void spit_transitions_effect_start (SpitTransitionsEffect* self, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion) { +#line 247 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self)); +#line 247 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->start (self, visuals, motion); +#line 1573 "TransitionsInterfaces.c" +} + + +/** + * Return true if the Effect needs the background cleared prior to calling {@link paint}. + */ +gboolean spit_transitions_effect_needs_clear_background (SpitTransitionsEffect* self) { +#line 252 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_val_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self), FALSE); +#line 252 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->needs_clear_background (self); +#line 1585 "TransitionsInterfaces.c" +} + + +/** + * Called when the effect needs to paint (i.e. an expose or draw event has occurred). + * + * This call should ''not'' advance the state of the effect (i.e. it may be called more than + * once for the same frame). + * + * @param ctx The Cairo context the Effect should use to paint the transition. + * @param width The width (in pixels) of the Cairo surface. + * @param height The height (in pixels) of the Cairo surface. + * @param frame_number The ''one-based'' frame being drawn. + */ +void spit_transitions_effect_paint (SpitTransitionsEffect* self, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number) { +#line 265 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self)); +#line 265 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->paint (self, visuals, motion, ctx, width, height, frame_number); +#line 1605 "TransitionsInterfaces.c" +} + + +/** + * Called to notify the effect that the state of the transition should advance to the specified + * frame number. + * + * Note: There is no guarantee frame numbers will be consecutive between calls + * to next, especially if the transition clock is attempting to catch up. + * + * @param frame_number The ''one-based'' frame being advanced to. + */ +void spit_transitions_effect_advance (SpitTransitionsEffect* self, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number) { +#line 277 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self)); +#line 277 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->advance (self, visuals, motion, frame_number); +#line 1623 "TransitionsInterfaces.c" +} + + +/** + * Called if the Effect should halt the transition. + * + * It only needs to reset state if {@link start} is called again. + */ +void spit_transitions_effect_cancel (SpitTransitionsEffect* self) { +#line 284 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self)); +#line 284 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->cancel (self); +#line 1637 "TransitionsInterfaces.c" +} + + +static void spit_transitions_effect_real_reserved0 (SpitTransitionsEffect* self) { +} + + +void spit_transitions_effect_reserved0 (SpitTransitionsEffect* self) { +#line 289 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self)); +#line 289 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->reserved0 (self); +#line 1650 "TransitionsInterfaces.c" +} + + +static void spit_transitions_effect_real_reserved1 (SpitTransitionsEffect* self) { +} + + +void spit_transitions_effect_reserved1 (SpitTransitionsEffect* self) { +#line 290 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self)); +#line 290 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->reserved1 (self); +#line 1663 "TransitionsInterfaces.c" +} + + +static void spit_transitions_effect_real_reserved2 (SpitTransitionsEffect* self) { +} + + +void spit_transitions_effect_reserved2 (SpitTransitionsEffect* self) { +#line 291 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self)); +#line 291 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->reserved2 (self); +#line 1676 "TransitionsInterfaces.c" +} + + +static void spit_transitions_effect_real_reserved3 (SpitTransitionsEffect* self) { +} + + +void spit_transitions_effect_reserved3 (SpitTransitionsEffect* self) { +#line 292 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self)); +#line 292 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->reserved3 (self); +#line 1689 "TransitionsInterfaces.c" +} + + +static void spit_transitions_effect_real_reserved4 (SpitTransitionsEffect* self) { +} + + +void spit_transitions_effect_reserved4 (SpitTransitionsEffect* self) { +#line 293 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self)); +#line 293 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->reserved4 (self); +#line 1702 "TransitionsInterfaces.c" +} + + +static void spit_transitions_effect_real_reserved5 (SpitTransitionsEffect* self) { +} + + +void spit_transitions_effect_reserved5 (SpitTransitionsEffect* self) { +#line 294 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self)); +#line 294 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->reserved5 (self); +#line 1715 "TransitionsInterfaces.c" +} + + +static void spit_transitions_effect_real_reserved6 (SpitTransitionsEffect* self) { +} + + +void spit_transitions_effect_reserved6 (SpitTransitionsEffect* self) { +#line 295 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self)); +#line 295 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->reserved6 (self); +#line 1728 "TransitionsInterfaces.c" +} + + +static void spit_transitions_effect_real_reserved7 (SpitTransitionsEffect* self) { +} + + +void spit_transitions_effect_reserved7 (SpitTransitionsEffect* self) { +#line 296 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self)); +#line 296 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->reserved7 (self); +#line 1741 "TransitionsInterfaces.c" +} + + +static void spit_transitions_effect_base_init (SpitTransitionsEffectIface * iface) { +#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + static gboolean initialized = FALSE; +#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + if (!initialized) { +#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + initialized = TRUE; +#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved0 = spit_transitions_effect_real_reserved0; +#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved1 = spit_transitions_effect_real_reserved1; +#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved2 = spit_transitions_effect_real_reserved2; +#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved3 = spit_transitions_effect_real_reserved3; +#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved4 = spit_transitions_effect_real_reserved4; +#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved5 = spit_transitions_effect_real_reserved5; +#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved6 = spit_transitions_effect_real_reserved6; +#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved7 = spit_transitions_effect_real_reserved7; +#line 1768 "TransitionsInterfaces.c" + } +} + + +/** + * An Effect represents an interstitial effect that is used to transition the display from one + * image to another. + * + * An Effect must hold state so that it knows what it should be drawn at any call to {@link paint} + * (which is called regularly during a transition). That is, it should be able to draw any frame of + * the transition at any time. The same frame may need to be drawn multiple times, or the host + * may skip ahead and ask for a frame well ahead of the last requested one. + * + * ''Frame numbers are one-based throughout this interface''. This is because the initial state (the + * blank viewport or the starting pixbuf) is frame zero. The Effect is never called to paint this + * frame. The Effect is also not called to paint the final frame (a blank viewport or the ending + * pixbuf). + * + * If the Effect uses background threads for its work, it should use the appropriate primitives + * for critical sections. All calls to this interface will be from the context of the main UI + * thread. ''None of these calls should block.'' + * + * If the Details object needs to be held by the Effect, its reference to it should be dropped at + * the end of the cycle (or shortly thereafter). + * + * An instance may be reused and should be prepared for restarts. + */ +GType spit_transitions_effect_get_type (void) { + static volatile gsize spit_transitions_effect_type_id__volatile = 0; + if (g_once_init_enter (&spit_transitions_effect_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitTransitionsEffectIface), (GBaseInitFunc) spit_transitions_effect_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_transitions_effect_type_id; + spit_transitions_effect_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitTransitionsEffect", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_transitions_effect_type_id, G_TYPE_OBJECT); + g_once_init_leave (&spit_transitions_effect_type_id__volatile, spit_transitions_effect_type_id); + } + return spit_transitions_effect_type_id__volatile; +} + + + diff --git a/src/plugins/mk/interfaces.mk b/src/plugins/mk/interfaces.mk deleted file mode 100644 index 34be1eb..0000000 --- a/src/plugins/mk/interfaces.mk +++ /dev/null @@ -1,29 +0,0 @@ - -PLUGIN_INTERFACES := \ - src/plugins/SpitInterfaces.vala \ - src/plugins/TransitionsInterfaces.vala \ - src/plugins/PublishingInterfaces.vala \ - src/plugins/DataImportsInterfaces.vala - -PLUGIN_PKG_REQS := \ - gobject-2.0 \ - glib-2.0 \ - gdk-3.0 \ - gtk+-3.0 \ - gee-0.8 - -PLUGIN_VAPI := plugins/shotwell-plugin-dev-1.0.vapi -PLUGIN_HEADER := $(PLUGIN_VAPI:.vapi=.h) -PLUGIN_DEPS := $(PLUGIN_VAPI:.vapi=.deps) - -$(PLUGIN_DEPS): src/plugins/mk/interfaces.mk - rm -f $@ - $(foreach pkg,$(PLUGIN_PKG_REQS),`echo $(pkg) >> $@`) - -$(PLUGIN_HEADER): $(PLUGIN_VAPI) - -$(PLUGIN_VAPI): $(PLUGIN_INTERFACES) src/plugins/mk/interfaces.mk - $(call check_valac_version) - $(VALAC) -c $(VALAFLAGS) -X -DGETTEXT_PACKAGE='"shotwell"' -X -I. $(foreach pkg,$(PLUGIN_PKG_REQS),--pkg=$(pkg)) --includedir=plugins --vapi=$@ --header=$(basename $@).h $(PLUGIN_INTERFACES) - $(foreach src,$(PLUGIN_INTERFACES),`rm $(notdir $(src)).o`) - diff --git a/src/plugins/mk/plugins.mk b/src/plugins/mk/plugins.mk deleted file mode 100644 index 903dd8e..0000000 --- a/src/plugins/mk/plugins.mk +++ /dev/null @@ -1,35 +0,0 @@ - -# UNIT_NAME is the Vala namespace. A file named UNIT_NAME.vala must be in this directory with -# a init() and terminate() function declared in the namespace. -UNIT_NAME := Plugins - -# UNIT_DIR should match the subdirectory the files are located in. Generally UNIT_NAME in all -# lowercase. The name of this file should be UNIT_DIR.mk. -UNIT_DIR := plugins - -# All Vala files in the unit should be listed here with no subdirectory prefix. -# -# NOTE: Do *not* include the unit's master file, i.e. UNIT_NAME.vala. -UNIT_FILES := \ - PublishingInterfaces.vala \ - SpitInterfaces.vala \ - TransitionsInterfaces.vala \ - StandardHostInterface.vala \ - ManifestWidget.vala \ - DataImportsInterfaces.vala - -# Any unit this unit relies upon (and should be initialized before it's initialized) should -# be listed here using its Vala namespace. -# -# NOTE: All units are assumed to rely upon the unit-unit. Do not include that here. -UNIT_USES := \ - Util - -# List any additional files that are used in the build process as a part of this unit that should -# be packaged in the tarball. File names should be relative to the unit's home directory. -UNIT_RC := \ - mk/interfaces.mk - -# unitize.mk must be called at the end of each UNIT_DIR.mk file. -include unitize.mk - |