/* shotwell-publishing-extras.c generated by valac 0.40.4, the Vala compiler * generated from shotwell-publishing-extras.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 #define TYPE_SHOTWELL_PUBLISHING_EXTRA_SERVICES (shotwell_publishing_extra_services_get_type ()) #define SHOTWELL_PUBLISHING_EXTRA_SERVICES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SHOTWELL_PUBLISHING_EXTRA_SERVICES, ShotwellPublishingExtraServices)) #define SHOTWELL_PUBLISHING_EXTRA_SERVICES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SHOTWELL_PUBLISHING_EXTRA_SERVICES, ShotwellPublishingExtraServicesClass)) #define IS_SHOTWELL_PUBLISHING_EXTRA_SERVICES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SHOTWELL_PUBLISHING_EXTRA_SERVICES)) #define IS_SHOTWELL_PUBLISHING_EXTRA_SERVICES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SHOTWELL_PUBLISHING_EXTRA_SERVICES)) #define SHOTWELL_PUBLISHING_EXTRA_SERVICES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SHOTWELL_PUBLISHING_EXTRA_SERVICES, ShotwellPublishingExtraServicesClass)) typedef struct _ShotwellPublishingExtraServices ShotwellPublishingExtraServices; typedef struct _ShotwellPublishingExtraServicesClass ShotwellPublishingExtraServicesClass; typedef struct _ShotwellPublishingExtraServicesPrivate ShotwellPublishingExtraServicesPrivate; enum { SHOTWELL_PUBLISHING_EXTRA_SERVICES_0_PROPERTY, SHOTWELL_PUBLISHING_EXTRA_SERVICES_NUM_PROPERTIES }; static GParamSpec* shotwell_publishing_extra_services_properties[SHOTWELL_PUBLISHING_EXTRA_SERVICES_NUM_PROPERTIES]; #define TYPE_GALLERY3_SERVICE (gallery3_service_get_type ()) #define GALLERY3_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GALLERY3_SERVICE, Gallery3Service)) #define GALLERY3_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GALLERY3_SERVICE, Gallery3ServiceClass)) #define IS_GALLERY3_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GALLERY3_SERVICE)) #define IS_GALLERY3_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GALLERY3_SERVICE)) #define GALLERY3_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GALLERY3_SERVICE, Gallery3ServiceClass)) typedef struct _Gallery3Service Gallery3Service; typedef struct _Gallery3ServiceClass Gallery3ServiceClass; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) struct _ShotwellPublishingExtraServices { GObject parent_instance; ShotwellPublishingExtraServicesPrivate * priv; }; struct _ShotwellPublishingExtraServicesClass { GObjectClass parent_class; }; struct _ShotwellPublishingExtraServicesPrivate { SpitPluggable** pluggables; gint pluggables_length1; gint _pluggables_size_; }; static gpointer shotwell_publishing_extra_services_parent_class = NULL; static SpitModuleIface * shotwell_publishing_extra_services_spit_module_parent_iface = NULL; GType shotwell_publishing_extra_services_get_type (void) G_GNUC_CONST; #define SHOTWELL_PUBLISHING_EXTRA_SERVICES_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SHOTWELL_PUBLISHING_EXTRA_SERVICES, ShotwellPublishingExtraServicesPrivate)) ShotwellPublishingExtraServices* shotwell_publishing_extra_services_new (GFile* module_file); ShotwellPublishingExtraServices* shotwell_publishing_extra_services_construct (GType object_type, GFile* module_file); Gallery3Service* gallery3_service_new (GFile* resource_directory); Gallery3Service* gallery3_service_construct (GType object_type, GFile* resource_directory); GType gallery3_service_get_type (void) G_GNUC_CONST; static void _vala_array_add14 (SpitPluggable** * array, int* length, int* size, SpitPluggable* value); static const gchar* shotwell_publishing_extra_services_real_get_module_name (SpitModule* base); static const gchar* shotwell_publishing_extra_services_real_get_version (SpitModule* base); static const gchar* shotwell_publishing_extra_services_real_get_id (SpitModule* base); static SpitPluggable** shotwell_publishing_extra_services_real_get_pluggables (SpitModule* base, int* result_length1); static void shotwell_publishing_extra_services_finalize (GObject * obj); SpitModule* spit_entry_point (SpitEntryPointParams* params); static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); static void _vala_array_add14 (SpitPluggable** * array, int* length, int* size, SpitPluggable* value) { #line 22 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" if ((*length) == (*size)) { #line 22 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" *size = (*size) ? (2 * (*size)) : 4; #line 22 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" *array = g_renew (SpitPluggable*, *array, (*size) + 1); #line 107 "shotwell-publishing-extras.c" } #line 22 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" (*array)[(*length)++] = value; #line 22 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" (*array)[*length] = NULL; #line 113 "shotwell-publishing-extras.c" } ShotwellPublishingExtraServices* shotwell_publishing_extra_services_construct (GType object_type, GFile* module_file) { ShotwellPublishingExtraServices * self = NULL; SpitPluggable** _tmp0_; gint _tmp0__length1; GFile* _tmp1_; GFile* _tmp2_; Gallery3Service* _tmp3_; #line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" g_return_val_if_fail (G_IS_FILE (module_file), NULL); #line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" self = (ShotwellPublishingExtraServices*) g_object_new (object_type, NULL); #line 22 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" _tmp0_ = self->priv->pluggables; #line 22 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" _tmp0__length1 = self->priv->pluggables_length1; #line 22 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" _tmp1_ = g_file_get_parent (module_file); #line 22 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" _tmp2_ = _tmp1_; #line 22 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" _tmp3_ = gallery3_service_new (_tmp2_); #line 22 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" _vala_array_add14 (&self->priv->pluggables, &self->priv->pluggables_length1, &self->priv->_pluggables_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); #line 22 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" _g_object_unref0 (_tmp2_); #line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" return self; #line 147 "shotwell-publishing-extras.c" } ShotwellPublishingExtraServices* shotwell_publishing_extra_services_new (GFile* module_file) { #line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" return shotwell_publishing_extra_services_construct (TYPE_SHOTWELL_PUBLISHING_EXTRA_SERVICES, module_file); #line 156 "shotwell-publishing-extras.c" } static const gchar* shotwell_publishing_extra_services_real_get_module_name (SpitModule* base) { ShotwellPublishingExtraServices * self; const gchar* result = NULL; #line 26 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHOTWELL_PUBLISHING_EXTRA_SERVICES, ShotwellPublishingExtraServices); #line 27 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" result = _ ("Shotwell Extra Publishing Services"); #line 27 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" return result; #line 171 "shotwell-publishing-extras.c" } static const gchar* shotwell_publishing_extra_services_real_get_version (SpitModule* base) { ShotwellPublishingExtraServices * self; const gchar* result = NULL; #line 30 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHOTWELL_PUBLISHING_EXTRA_SERVICES, ShotwellPublishingExtraServices); #line 31 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" result = _VERSION; #line 31 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" return result; #line 186 "shotwell-publishing-extras.c" } static const gchar* shotwell_publishing_extra_services_real_get_id (SpitModule* base) { ShotwellPublishingExtraServices * self; const gchar* result = NULL; #line 34 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHOTWELL_PUBLISHING_EXTRA_SERVICES, ShotwellPublishingExtraServices); #line 35 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" result = "org.yorba.shotwell.publishing.extras"; #line 35 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" return result; #line 201 "shotwell-publishing-extras.c" } static SpitPluggable** shotwell_publishing_extra_services_real_get_pluggables (SpitModule* base, int* result_length1) { ShotwellPublishingExtraServices * self; SpitPluggable** result = NULL; SpitPluggable** _tmp0_; gint _tmp0__length1; SpitPluggable** _tmp1_; gint _tmp1__length1; #line 38 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHOTWELL_PUBLISHING_EXTRA_SERVICES, ShotwellPublishingExtraServices); #line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" _tmp0_ = self->priv->pluggables; #line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" _tmp0__length1 = self->priv->pluggables_length1; #line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" _tmp1_ = _tmp0_; #line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" _tmp1__length1 = _tmp0__length1; #line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" if (result_length1) { #line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" *result_length1 = _tmp1__length1; #line 229 "shotwell-publishing-extras.c" } #line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" result = _tmp1_; #line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" return result; #line 235 "shotwell-publishing-extras.c" } static void shotwell_publishing_extra_services_class_init (ShotwellPublishingExtraServicesClass * klass) { #line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" shotwell_publishing_extra_services_parent_class = g_type_class_peek_parent (klass); #line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" g_type_class_add_private (klass, sizeof (ShotwellPublishingExtraServicesPrivate)); #line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" G_OBJECT_CLASS (klass)->finalize = shotwell_publishing_extra_services_finalize; #line 248 "shotwell-publishing-extras.c" } static void shotwell_publishing_extra_services_spit_module_interface_init (SpitModuleIface * iface) { #line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" shotwell_publishing_extra_services_spit_module_parent_iface = g_type_interface_peek_parent (iface); #line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" iface->get_module_name = (const gchar* (*) (SpitModule *)) shotwell_publishing_extra_services_real_get_module_name; #line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" iface->get_version = (const gchar* (*) (SpitModule *)) shotwell_publishing_extra_services_real_get_version; #line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" iface->get_id = (const gchar* (*) (SpitModule *)) shotwell_publishing_extra_services_real_get_id; #line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" iface->get_pluggables = (SpitPluggable** (*) (SpitModule *, int*)) shotwell_publishing_extra_services_real_get_pluggables; #line 265 "shotwell-publishing-extras.c" } static void shotwell_publishing_extra_services_instance_init (ShotwellPublishingExtraServices * self) { SpitPluggable** _tmp0_; #line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" self->priv = SHOTWELL_PUBLISHING_EXTRA_SERVICES_GET_PRIVATE (self); #line 10 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" _tmp0_ = g_new0 (SpitPluggable*, 0 + 1); #line 10 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" self->priv->pluggables = _tmp0_; #line 10 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" self->priv->pluggables_length1 = 0; #line 10 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" self->priv->_pluggables_size_ = self->priv->pluggables_length1; #line 283 "shotwell-publishing-extras.c" } static void shotwell_publishing_extra_services_finalize (GObject * obj) { ShotwellPublishingExtraServices * self; #line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SHOTWELL_PUBLISHING_EXTRA_SERVICES, ShotwellPublishingExtraServices); #line 10 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" self->priv->pluggables = (_vala_array_free (self->priv->pluggables, self->priv->pluggables_length1, (GDestroyNotify) g_object_unref), NULL); #line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" G_OBJECT_CLASS (shotwell_publishing_extra_services_parent_class)->finalize (obj); #line 297 "shotwell-publishing-extras.c" } GType shotwell_publishing_extra_services_get_type (void) { static volatile gsize shotwell_publishing_extra_services_type_id__volatile = 0; if (g_once_init_enter (&shotwell_publishing_extra_services_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (ShotwellPublishingExtraServicesClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) shotwell_publishing_extra_services_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ShotwellPublishingExtraServices), 0, (GInstanceInitFunc) shotwell_publishing_extra_services_instance_init, NULL }; static const GInterfaceInfo spit_module_info = { (GInterfaceInitFunc) shotwell_publishing_extra_services_spit_module_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; GType shotwell_publishing_extra_services_type_id; shotwell_publishing_extra_services_type_id = g_type_register_static (G_TYPE_OBJECT, "ShotwellPublishingExtraServices", &g_define_type_info, 0); g_type_add_interface_static (shotwell_publishing_extra_services_type_id, SPIT_TYPE_MODULE, &spit_module_info); g_once_init_leave (&shotwell_publishing_extra_services_type_id__volatile, shotwell_publishing_extra_services_type_id); } return shotwell_publishing_extra_services_type_id__volatile; } SpitModule* spit_entry_point (SpitEntryPointParams* params) { SpitModule* result = NULL; gint _tmp0_; gint _tmp1_; ShotwellPublishingExtraServices* _tmp2_ = NULL; gint _tmp3_; #line 45 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" _tmp0_ = (*params).host_min_spit_interface; #line 45 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" _tmp1_ = (*params).host_max_spit_interface; #line 45 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" (*params).module_spit_interface = spit_negotiate_interfaces (_tmp0_, _tmp1_, SPIT_CURRENT_INTERFACE); #line 48 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" _tmp3_ = (*params).module_spit_interface; #line 48 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" if (_tmp3_ != SPIT_UNSUPPORTED_INTERFACE) { #line 335 "shotwell-publishing-extras.c" GFile* _tmp4_; ShotwellPublishingExtraServices* _tmp5_; #line 49 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" _tmp4_ = (*params).module_file; #line 49 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" _tmp5_ = shotwell_publishing_extra_services_new (_tmp4_); #line 49 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" _g_object_unref0 (_tmp2_); #line 49 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" _tmp2_ = _tmp5_; #line 346 "shotwell-publishing-extras.c" } else { #line 49 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" _g_object_unref0 (_tmp2_); #line 49 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" _tmp2_ = NULL; #line 352 "shotwell-publishing-extras.c" } #line 48 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, SPIT_TYPE_MODULE, SpitModule); #line 48 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" return result; #line 358 "shotwell-publishing-extras.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); }