/* Plugins.c generated by valac 0.34.2, 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 #include #include #include #include #include #include "shotwell-plugin-dev-1.0.h" #include #include #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 __catch32_g_error; } } goto __finally32; __catch32_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" } __finally32: #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 __catch33_g_error; } } goto __finally33; __catch33_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" } __finally33: #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); }