/* FacebookPublishing.c generated by valac 0.40.4, the Vala compiler
 * generated from FacebookPublishing.vala, do not modify */

/* Copyright 2016 Software Freedom Conservancy Inc.
 *
 * This software is licensed under the GNU Lesser General Public License
 * (version 2.1 or later).  See the COPYING file in this distribution.
 */


#include <glib.h>
#include <glib-object.h>
#include <shotwell-plugin-dev-1.0.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <stdlib.h>
#include <string.h>
#include <gio/gio.h>
#include "shotwell-plugin-common.h"
#include <glib/gi18n-lib.h>
#include "shotwell-authenticator.h"
#include <json-glib/json-glib.h>
#include <gtk/gtk.h>
#include <float.h>
#include <math.h>
#include <libsoup/soup.h>
#include <gobject/gvaluecollector.h>


#define TYPE_FACEBOOK_SERVICE (facebook_service_get_type ())
#define FACEBOOK_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FACEBOOK_SERVICE, FacebookService))
#define FACEBOOK_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FACEBOOK_SERVICE, FacebookServiceClass))
#define IS_FACEBOOK_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FACEBOOK_SERVICE))
#define IS_FACEBOOK_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FACEBOOK_SERVICE))
#define FACEBOOK_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FACEBOOK_SERVICE, FacebookServiceClass))

typedef struct _FacebookService FacebookService;
typedef struct _FacebookServiceClass FacebookServiceClass;
typedef struct _FacebookServicePrivate FacebookServicePrivate;
enum  {
	FACEBOOK_SERVICE_0_PROPERTY,
	FACEBOOK_SERVICE_NUM_PROPERTIES
};
static GParamSpec* facebook_service_properties[FACEBOOK_SERVICE_NUM_PROPERTIES];
#define _g_free0(var) (var = (g_free (var), NULL))

#define PUBLISHING_FACEBOOK_TYPE_FACEBOOK_PUBLISHER (publishing_facebook_facebook_publisher_get_type ())
#define PUBLISHING_FACEBOOK_FACEBOOK_PUBLISHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FACEBOOK_TYPE_FACEBOOK_PUBLISHER, PublishingFacebookFacebookPublisher))
#define PUBLISHING_FACEBOOK_FACEBOOK_PUBLISHER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FACEBOOK_TYPE_FACEBOOK_PUBLISHER, PublishingFacebookFacebookPublisherClass))
#define PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FACEBOOK_TYPE_FACEBOOK_PUBLISHER))
#define PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FACEBOOK_TYPE_FACEBOOK_PUBLISHER))
#define PUBLISHING_FACEBOOK_FACEBOOK_PUBLISHER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FACEBOOK_TYPE_FACEBOOK_PUBLISHER, PublishingFacebookFacebookPublisherClass))

typedef struct _PublishingFacebookFacebookPublisher PublishingFacebookFacebookPublisher;
typedef struct _PublishingFacebookFacebookPublisherClass PublishingFacebookFacebookPublisherClass;

#define PUBLISHING_FACEBOOK_TYPE_ALBUM (publishing_facebook_album_get_type ())
#define PUBLISHING_FACEBOOK_ALBUM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FACEBOOK_TYPE_ALBUM, PublishingFacebookAlbum))
#define PUBLISHING_FACEBOOK_ALBUM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FACEBOOK_TYPE_ALBUM, PublishingFacebookAlbumClass))
#define PUBLISHING_FACEBOOK_IS_ALBUM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FACEBOOK_TYPE_ALBUM))
#define PUBLISHING_FACEBOOK_IS_ALBUM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FACEBOOK_TYPE_ALBUM))
#define PUBLISHING_FACEBOOK_ALBUM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FACEBOOK_TYPE_ALBUM, PublishingFacebookAlbumClass))

typedef struct _PublishingFacebookAlbum PublishingFacebookAlbum;
typedef struct _PublishingFacebookAlbumClass PublishingFacebookAlbumClass;
typedef struct _PublishingFacebookAlbumPrivate PublishingFacebookAlbumPrivate;
typedef struct _PublishingFacebookParamSpecAlbum PublishingFacebookParamSpecAlbum;

#define PUBLISHING_FACEBOOK_TYPE_RESOLUTION (publishing_facebook_resolution_get_type ())

#define PUBLISHING_FACEBOOK_TYPE_PUBLISHING_PARAMETERS (publishing_facebook_publishing_parameters_get_type ())
#define PUBLISHING_FACEBOOK_PUBLISHING_PARAMETERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FACEBOOK_TYPE_PUBLISHING_PARAMETERS, PublishingFacebookPublishingParameters))
#define PUBLISHING_FACEBOOK_PUBLISHING_PARAMETERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FACEBOOK_TYPE_PUBLISHING_PARAMETERS, PublishingFacebookPublishingParametersClass))
#define PUBLISHING_FACEBOOK_IS_PUBLISHING_PARAMETERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FACEBOOK_TYPE_PUBLISHING_PARAMETERS))
#define PUBLISHING_FACEBOOK_IS_PUBLISHING_PARAMETERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FACEBOOK_TYPE_PUBLISHING_PARAMETERS))
#define PUBLISHING_FACEBOOK_PUBLISHING_PARAMETERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FACEBOOK_TYPE_PUBLISHING_PARAMETERS, PublishingFacebookPublishingParametersClass))

typedef struct _PublishingFacebookPublishingParameters PublishingFacebookPublishingParameters;
typedef struct _PublishingFacebookPublishingParametersClass PublishingFacebookPublishingParametersClass;
typedef struct _PublishingFacebookPublishingParametersPrivate PublishingFacebookPublishingParametersPrivate;
#define _publishing_facebook_album_unref0(var) ((var == NULL) ? NULL : (var = (publishing_facebook_album_unref (var), NULL)))
typedef struct _PublishingFacebookParamSpecPublishingParameters PublishingFacebookParamSpecPublishingParameters;
typedef struct _PublishingFacebookFacebookPublisherPrivate PublishingFacebookFacebookPublisherPrivate;

#define PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION (publishing_facebook_graph_session_get_type ())
#define PUBLISHING_FACEBOOK_GRAPH_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION, PublishingFacebookGraphSession))
#define PUBLISHING_FACEBOOK_GRAPH_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION, PublishingFacebookGraphSessionClass))
#define PUBLISHING_FACEBOOK_IS_GRAPH_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION))
#define PUBLISHING_FACEBOOK_IS_GRAPH_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION))
#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION, PublishingFacebookGraphSessionClass))

typedef struct _PublishingFacebookGraphSession PublishingFacebookGraphSession;
typedef struct _PublishingFacebookGraphSessionClass PublishingFacebookGraphSessionClass;

#define PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE (publishing_facebook_publishing_options_pane_get_type ())
#define PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, PublishingFacebookPublishingOptionsPane))
#define PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, PublishingFacebookPublishingOptionsPaneClass))
#define PUBLISHING_FACEBOOK_IS_PUBLISHING_OPTIONS_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE))
#define PUBLISHING_FACEBOOK_IS_PUBLISHING_OPTIONS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE))
#define PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, PublishingFacebookPublishingOptionsPaneClass))

typedef struct _PublishingFacebookPublishingOptionsPane PublishingFacebookPublishingOptionsPane;
typedef struct _PublishingFacebookPublishingOptionsPaneClass PublishingFacebookPublishingOptionsPaneClass;

#define PUBLISHING_FACEBOOK_TYPE_UPLOADER (publishing_facebook_uploader_get_type ())
#define PUBLISHING_FACEBOOK_UPLOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FACEBOOK_TYPE_UPLOADER, PublishingFacebookUploader))
#define PUBLISHING_FACEBOOK_UPLOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FACEBOOK_TYPE_UPLOADER, PublishingFacebookUploaderClass))
#define PUBLISHING_FACEBOOK_IS_UPLOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FACEBOOK_TYPE_UPLOADER))
#define PUBLISHING_FACEBOOK_IS_UPLOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FACEBOOK_TYPE_UPLOADER))
#define PUBLISHING_FACEBOOK_UPLOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FACEBOOK_TYPE_UPLOADER, PublishingFacebookUploaderClass))

typedef struct _PublishingFacebookUploader PublishingFacebookUploader;
typedef struct _PublishingFacebookUploaderClass PublishingFacebookUploaderClass;
enum  {
	PUBLISHING_FACEBOOK_FACEBOOK_PUBLISHER_0_PROPERTY,
	PUBLISHING_FACEBOOK_FACEBOOK_PUBLISHER_NUM_PROPERTIES
};
static GParamSpec* publishing_facebook_facebook_publisher_properties[PUBLISHING_FACEBOOK_FACEBOOK_PUBLISHER_NUM_PROPERTIES];
#define _publishing_facebook_publishing_parameters_unref0(var) ((var == NULL) ? NULL : (var = (publishing_facebook_publishing_parameters_unref (var), NULL)))
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _publishing_facebook_graph_session_unref0(var) ((var == NULL) ? NULL : (var = (publishing_facebook_graph_session_unref (var), NULL)))
#define _publishing_facebook_uploader_unref0(var) ((var == NULL) ? NULL : (var = (publishing_facebook_uploader_unref (var), NULL)))

#define PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE (publishing_facebook_graph_message_get_type ())
#define PUBLISHING_FACEBOOK_GRAPH_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessage))
#define PUBLISHING_FACEBOOK_GRAPH_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessageClass))
#define PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE))
#define PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE))
#define PUBLISHING_FACEBOOK_GRAPH_MESSAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessageClass))

typedef struct _PublishingFacebookGraphMessage PublishingFacebookGraphMessage;
typedef struct _PublishingFacebookGraphMessageClass PublishingFacebookGraphMessageClass;
#define _publishing_facebook_graph_message_unref0(var) ((var == NULL) ? NULL : (var = (publishing_facebook_graph_message_unref (var), NULL)))
#define _json_object_unref0(var) ((var == NULL) ? NULL : (var = (json_object_unref (var), NULL)))
#define __vala_JsonNode_free0(var) ((var == NULL) ? NULL : (var = (_vala_JsonNode_free (var), NULL)))
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
#define _json_array_unref0(var) ((var == NULL) ? NULL : (var = (json_array_unref (var), NULL)))
#define _g_variant_unref0(var) ((var == NULL) ? NULL : (var = (g_variant_unref (var), NULL)))
#define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL)))
typedef struct _PublishingFacebookPublishingOptionsPanePrivate PublishingFacebookPublishingOptionsPanePrivate;

#define PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION (publishing_facebook_publishing_options_pane_privacy_description_get_type ())
#define PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_PRIVACY_DESCRIPTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION, PublishingFacebookPublishingOptionsPanePrivacyDescription))
#define PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_PRIVACY_DESCRIPTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION, PublishingFacebookPublishingOptionsPanePrivacyDescriptionClass))
#define PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_IS_PRIVACY_DESCRIPTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION))
#define PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_IS_PRIVACY_DESCRIPTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION))
#define PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_PRIVACY_DESCRIPTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION, PublishingFacebookPublishingOptionsPanePrivacyDescriptionClass))

typedef struct _PublishingFacebookPublishingOptionsPanePrivacyDescription PublishingFacebookPublishingOptionsPanePrivacyDescription;
typedef struct _PublishingFacebookPublishingOptionsPanePrivacyDescriptionClass PublishingFacebookPublishingOptionsPanePrivacyDescriptionClass;
enum  {
	PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_0_PROPERTY,
	PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_NUM_PROPERTIES
};
static GParamSpec* publishing_facebook_publishing_options_pane_properties[PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_NUM_PROPERTIES];
#define _g_slist_free0(var) ((var == NULL) ? NULL : (var = (g_slist_free (var), NULL)))
typedef struct _PublishingFacebookPublishingOptionsPanePrivacyDescriptionPrivate PublishingFacebookPublishingOptionsPanePrivacyDescriptionPrivate;
#define _publishing_facebook_publishing_options_pane_privacy_description_unref0(var) ((var == NULL) ? NULL : (var = (publishing_facebook_publishing_options_pane_privacy_description_unref (var), NULL)))
typedef struct _PublishingFacebookPublishingOptionsPaneParamSpecPrivacyDescription PublishingFacebookPublishingOptionsPaneParamSpecPrivacyDescription;
enum  {
	PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_LOGOUT_SIGNAL,
	PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_PUBLISH_SIGNAL,
	PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_NUM_SIGNALS
};
static guint publishing_facebook_publishing_options_pane_signals[PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_NUM_SIGNALS] = {0};

#define PUBLISHING_FACEBOOK_TYPE_ENDPOINT (publishing_facebook_endpoint_get_type ())
typedef struct _PublishingFacebookGraphMessagePrivate PublishingFacebookGraphMessagePrivate;
typedef struct _PublishingFacebookParamSpecGraphMessage PublishingFacebookParamSpecGraphMessage;
enum  {
	PUBLISHING_FACEBOOK_GRAPH_MESSAGE_COMPLETED_SIGNAL,
	PUBLISHING_FACEBOOK_GRAPH_MESSAGE_FAILED_SIGNAL,
	PUBLISHING_FACEBOOK_GRAPH_MESSAGE_DATA_TRANSMITTED_SIGNAL,
	PUBLISHING_FACEBOOK_GRAPH_MESSAGE_NUM_SIGNALS
};
static guint publishing_facebook_graph_message_signals[PUBLISHING_FACEBOOK_GRAPH_MESSAGE_NUM_SIGNALS] = {0};
typedef struct _PublishingFacebookGraphSessionPrivate PublishingFacebookGraphSessionPrivate;

#define PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL (publishing_facebook_graph_session_graph_message_impl_get_type ())
#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_MESSAGE_IMPL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl))
#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_MESSAGE_IMPL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImplClass))
#define PUBLISHING_FACEBOOK_GRAPH_SESSION_IS_GRAPH_MESSAGE_IMPL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL))
#define PUBLISHING_FACEBOOK_GRAPH_SESSION_IS_GRAPH_MESSAGE_IMPL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL))
#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_MESSAGE_IMPL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImplClass))

typedef struct _PublishingFacebookGraphSessionGraphMessageImpl PublishingFacebookGraphSessionGraphMessageImpl;
typedef struct _PublishingFacebookGraphSessionGraphMessageImplClass PublishingFacebookGraphSessionGraphMessageImplClass;
typedef struct _PublishingFacebookGraphSessionGraphMessageImplPrivate PublishingFacebookGraphSessionGraphMessageImplPrivate;

#define PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_QUERY_MESSAGE (publishing_facebook_graph_session_graph_query_message_get_type ())
#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_QUERY_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_QUERY_MESSAGE, PublishingFacebookGraphSessionGraphQueryMessage))
#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_QUERY_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_QUERY_MESSAGE, PublishingFacebookGraphSessionGraphQueryMessageClass))
#define PUBLISHING_FACEBOOK_GRAPH_SESSION_IS_GRAPH_QUERY_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_QUERY_MESSAGE))
#define PUBLISHING_FACEBOOK_GRAPH_SESSION_IS_GRAPH_QUERY_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_QUERY_MESSAGE))
#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_QUERY_MESSAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_QUERY_MESSAGE, PublishingFacebookGraphSessionGraphQueryMessageClass))

typedef struct _PublishingFacebookGraphSessionGraphQueryMessage PublishingFacebookGraphSessionGraphQueryMessage;
typedef struct _PublishingFacebookGraphSessionGraphQueryMessageClass PublishingFacebookGraphSessionGraphQueryMessageClass;

#define PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_UPLOAD_MESSAGE (publishing_facebook_graph_session_graph_upload_message_get_type ())
#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_UPLOAD_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_UPLOAD_MESSAGE, PublishingFacebookGraphSessionGraphUploadMessage))
#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_UPLOAD_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_UPLOAD_MESSAGE, PublishingFacebookGraphSessionGraphUploadMessageClass))
#define PUBLISHING_FACEBOOK_GRAPH_SESSION_IS_GRAPH_UPLOAD_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_UPLOAD_MESSAGE))
#define PUBLISHING_FACEBOOK_GRAPH_SESSION_IS_GRAPH_UPLOAD_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_UPLOAD_MESSAGE))
#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_UPLOAD_MESSAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_UPLOAD_MESSAGE, PublishingFacebookGraphSessionGraphUploadMessageClass))

typedef struct _PublishingFacebookGraphSessionGraphUploadMessage PublishingFacebookGraphSessionGraphUploadMessage;
typedef struct _PublishingFacebookGraphSessionGraphUploadMessageClass PublishingFacebookGraphSessionGraphUploadMessageClass;

#define PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_CREATE_ALBUM_MESSAGE (publishing_facebook_graph_session_graph_create_album_message_get_type ())
#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_CREATE_ALBUM_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_CREATE_ALBUM_MESSAGE, PublishingFacebookGraphSessionGraphCreateAlbumMessage))
#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_CREATE_ALBUM_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_CREATE_ALBUM_MESSAGE, PublishingFacebookGraphSessionGraphCreateAlbumMessageClass))
#define PUBLISHING_FACEBOOK_GRAPH_SESSION_IS_GRAPH_CREATE_ALBUM_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_CREATE_ALBUM_MESSAGE))
#define PUBLISHING_FACEBOOK_GRAPH_SESSION_IS_GRAPH_CREATE_ALBUM_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_CREATE_ALBUM_MESSAGE))
#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_CREATE_ALBUM_MESSAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_CREATE_ALBUM_MESSAGE, PublishingFacebookGraphSessionGraphCreateAlbumMessageClass))

typedef struct _PublishingFacebookGraphSessionGraphCreateAlbumMessage PublishingFacebookGraphSessionGraphCreateAlbumMessage;
typedef struct _PublishingFacebookGraphSessionGraphCreateAlbumMessageClass PublishingFacebookGraphSessionGraphCreateAlbumMessageClass;
#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL)))
typedef struct _PublishingFacebookGraphSessionGraphQueryMessagePrivate PublishingFacebookGraphSessionGraphQueryMessagePrivate;
#define __vala_SoupURI_free0(var) ((var == NULL) ? NULL : (var = (_vala_SoupURI_free (var), NULL)))

#define PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_ENDPOINT_PROBE_MESSAGE (publishing_facebook_graph_session_graph_endpoint_probe_message_get_type ())
#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_ENDPOINT_PROBE_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_ENDPOINT_PROBE_MESSAGE, PublishingFacebookGraphSessionGraphEndpointProbeMessage))
#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_ENDPOINT_PROBE_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_ENDPOINT_PROBE_MESSAGE, PublishingFacebookGraphSessionGraphEndpointProbeMessageClass))
#define PUBLISHING_FACEBOOK_GRAPH_SESSION_IS_GRAPH_ENDPOINT_PROBE_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_ENDPOINT_PROBE_MESSAGE))
#define PUBLISHING_FACEBOOK_GRAPH_SESSION_IS_GRAPH_ENDPOINT_PROBE_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_ENDPOINT_PROBE_MESSAGE))
#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_ENDPOINT_PROBE_MESSAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_ENDPOINT_PROBE_MESSAGE, PublishingFacebookGraphSessionGraphEndpointProbeMessageClass))

typedef struct _PublishingFacebookGraphSessionGraphEndpointProbeMessage PublishingFacebookGraphSessionGraphEndpointProbeMessage;
typedef struct _PublishingFacebookGraphSessionGraphEndpointProbeMessageClass PublishingFacebookGraphSessionGraphEndpointProbeMessageClass;
typedef struct _PublishingFacebookGraphSessionGraphEndpointProbeMessagePrivate PublishingFacebookGraphSessionGraphEndpointProbeMessagePrivate;
typedef struct _PublishingFacebookGraphSessionGraphUploadMessagePrivate PublishingFacebookGraphSessionGraphUploadMessagePrivate;
#define _g_mapped_file_unref0(var) ((var == NULL) ? NULL : (var = (g_mapped_file_unref (var), NULL)))
#define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL)))
#define __vala_SoupMultipart_free0(var) ((var == NULL) ? NULL : (var = (_vala_SoupMultipart_free (var), NULL)))
#define __vala_SoupBuffer_free0(var) ((var == NULL) ? NULL : (var = (_vala_SoupBuffer_free (var), NULL)))
typedef struct _PublishingFacebookGraphSessionGraphCreateAlbumMessagePrivate PublishingFacebookGraphSessionGraphCreateAlbumMessagePrivate;
typedef struct _PublishingFacebookParamSpecGraphSession PublishingFacebookParamSpecGraphSession;
enum  {
	PUBLISHING_FACEBOOK_GRAPH_SESSION_AUTHENTICATED_SIGNAL,
	PUBLISHING_FACEBOOK_GRAPH_SESSION_NUM_SIGNALS
};
static guint publishing_facebook_graph_session_signals[PUBLISHING_FACEBOOK_GRAPH_SESSION_NUM_SIGNALS] = {0};
typedef struct _PublishingFacebookUploaderPrivate PublishingFacebookUploaderPrivate;
typedef struct _PublishingFacebookParamSpecUploader PublishingFacebookParamSpecUploader;
enum  {
	PUBLISHING_FACEBOOK_UPLOADER_UPLOAD_COMPLETE_SIGNAL,
	PUBLISHING_FACEBOOK_UPLOADER_UPLOAD_ERROR_SIGNAL,
	PUBLISHING_FACEBOOK_UPLOADER_NUM_SIGNALS
};
static guint publishing_facebook_uploader_signals[PUBLISHING_FACEBOOK_UPLOADER_NUM_SIGNALS] = {0};
#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 _FacebookService {
	GObject parent_instance;
	FacebookServicePrivate * priv;
};

struct _FacebookServiceClass {
	GObjectClass parent_class;
};

struct _PublishingFacebookAlbum {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PublishingFacebookAlbumPrivate * priv;
	gchar* name;
	gchar* id;
};

struct _PublishingFacebookAlbumClass {
	GTypeClass parent_class;
	void (*finalize) (PublishingFacebookAlbum *self);
};

struct _PublishingFacebookParamSpecAlbum {
	GParamSpec parent_instance;
};

typedef enum  {
	PUBLISHING_FACEBOOK_RESOLUTION_STANDARD,
	PUBLISHING_FACEBOOK_RESOLUTION_HIGH
} PublishingFacebookResolution;

struct _PublishingFacebookPublishingParameters {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PublishingFacebookPublishingParametersPrivate * priv;
	gboolean strip_metadata;
	PublishingFacebookAlbum** albums;
	gint albums_length1;
	gint _albums_size_;
	gint target_album;
	gchar* new_album_name;
	gchar* privacy_object;
	PublishingFacebookResolution resolution;
};

struct _PublishingFacebookPublishingParametersClass {
	GTypeClass parent_class;
	void (*finalize) (PublishingFacebookPublishingParameters *self);
};

struct _PublishingFacebookParamSpecPublishingParameters {
	GParamSpec parent_instance;
};

struct _PublishingFacebookFacebookPublisher {
	GObject parent_instance;
	PublishingFacebookFacebookPublisherPrivate * priv;
};

struct _PublishingFacebookFacebookPublisherClass {
	GObjectClass parent_class;
};

struct _PublishingFacebookFacebookPublisherPrivate {
	PublishingFacebookPublishingParameters* publishing_params;
	SpitPublishingPluginHost* host;
	SpitPublishingProgressCallback progress_reporter;
	gpointer progress_reporter_target;
	GDestroyNotify progress_reporter_target_destroy_notify;
	SpitPublishingService* service;
	SpitPublishingAuthenticator* authenticator;
	gboolean running;
	PublishingFacebookGraphSession* graph_session;
	PublishingFacebookPublishingOptionsPane* publishing_options_pane;
	PublishingFacebookUploader* uploader;
	gchar* uid;
	gchar* username;
};

struct _PublishingFacebookPublishingOptionsPane {
	GObject parent_instance;
	PublishingFacebookPublishingOptionsPanePrivate * priv;
};

struct _PublishingFacebookPublishingOptionsPaneClass {
	GObjectClass parent_class;
};

struct _PublishingFacebookPublishingOptionsPanePrivate {
	GtkBuilder* builder;
	GtkBox* pane_widget;
	GtkRadioButton* use_existing_radio;
	GtkRadioButton* create_new_radio;
	GtkComboBoxText* existing_albums_combo;
	GtkComboBoxText* visibility_combo;
	GtkEntry* new_album_entry;
	GtkCheckButton* strip_metadata_check;
	GtkButton* publish_button;
	GtkButton* logout_button;
	GtkLabel* how_to_label;
	PublishingFacebookAlbum** albums;
	gint albums_length1;
	gint _albums_size_;
	PublishingFacebookFacebookPublisher* publisher;
	PublishingFacebookPublishingOptionsPanePrivacyDescription** privacy_descriptions;
	gint privacy_descriptions_length1;
	gint _privacy_descriptions_size_;
	PublishingFacebookResolution* possible_resolutions;
	gint possible_resolutions_length1;
	gint _possible_resolutions_size_;
	GtkComboBoxText* resolution_combo;
	SpitPublishingPublisherMediaType media_type;
};

struct _PublishingFacebookPublishingOptionsPanePrivacyDescription {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PublishingFacebookPublishingOptionsPanePrivacyDescriptionPrivate * priv;
	gchar* description;
	gchar* privacy_setting;
};

struct _PublishingFacebookPublishingOptionsPanePrivacyDescriptionClass {
	GTypeClass parent_class;
	void (*finalize) (PublishingFacebookPublishingOptionsPanePrivacyDescription *self);
};

struct _PublishingFacebookPublishingOptionsPaneParamSpecPrivacyDescription {
	GParamSpec parent_instance;
};

typedef enum  {
	PUBLISHING_FACEBOOK_ENDPOINT_DEFAULT,
	PUBLISHING_FACEBOOK_ENDPOINT_VIDEO,
	PUBLISHING_FACEBOOK_ENDPOINT_TEST_CONNECTION
} PublishingFacebookEndpoint;

struct _PublishingFacebookGraphMessage {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PublishingFacebookGraphMessagePrivate * priv;
};

struct _PublishingFacebookGraphMessageClass {
	GTypeClass parent_class;
	void (*finalize) (PublishingFacebookGraphMessage *self);
	gchar* (*get_uri) (PublishingFacebookGraphMessage* self);
	gchar* (*get_response_body) (PublishingFacebookGraphMessage* self);
};

struct _PublishingFacebookParamSpecGraphMessage {
	GParamSpec parent_instance;
};

struct _PublishingFacebookGraphSession {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PublishingFacebookGraphSessionPrivate * priv;
};

struct _PublishingFacebookGraphSessionClass {
	GTypeClass parent_class;
	void (*finalize) (PublishingFacebookGraphSession *self);
};

struct _PublishingFacebookGraphSessionPrivate {
	SoupSession* soup_session;
	gchar* access_token;
	PublishingFacebookGraphMessage* current_message;
};

struct _PublishingFacebookGraphSessionGraphMessageImpl {
	PublishingFacebookGraphMessage parent_instance;
	PublishingFacebookGraphSessionGraphMessageImplPrivate * priv;
	PublishingRESTSupportHttpMethod method;
	gchar* uri;
	gchar* access_token;
	SoupMessage* soup_message;
	PublishingFacebookGraphSession* host_session;
	gint bytes_so_far;
};

struct _PublishingFacebookGraphSessionGraphMessageImplClass {
	PublishingFacebookGraphMessageClass parent_class;
	gboolean (*prepare_for_transmission) (PublishingFacebookGraphSessionGraphMessageImpl* self);
};

struct _PublishingFacebookGraphSessionGraphQueryMessage {
	PublishingFacebookGraphSessionGraphMessageImpl parent_instance;
	PublishingFacebookGraphSessionGraphQueryMessagePrivate * priv;
};

struct _PublishingFacebookGraphSessionGraphQueryMessageClass {
	PublishingFacebookGraphSessionGraphMessageImplClass parent_class;
};

struct _PublishingFacebookGraphSessionGraphEndpointProbeMessage {
	PublishingFacebookGraphSessionGraphMessageImpl parent_instance;
	PublishingFacebookGraphSessionGraphEndpointProbeMessagePrivate * priv;
};

struct _PublishingFacebookGraphSessionGraphEndpointProbeMessageClass {
	PublishingFacebookGraphSessionGraphMessageImplClass parent_class;
};

struct _PublishingFacebookGraphSessionGraphUploadMessage {
	PublishingFacebookGraphSessionGraphMessageImpl parent_instance;
	PublishingFacebookGraphSessionGraphUploadMessagePrivate * priv;
};

struct _PublishingFacebookGraphSessionGraphUploadMessageClass {
	PublishingFacebookGraphSessionGraphMessageImplClass parent_class;
};

struct _PublishingFacebookGraphSessionGraphUploadMessagePrivate {
	GMappedFile* mapped_file;
	SpitPublishingPublishable* publishable;
};

struct _PublishingFacebookGraphSessionGraphCreateAlbumMessage {
	PublishingFacebookGraphSessionGraphMessageImpl parent_instance;
	PublishingFacebookGraphSessionGraphCreateAlbumMessagePrivate * priv;
};

struct _PublishingFacebookGraphSessionGraphCreateAlbumMessageClass {
	PublishingFacebookGraphSessionGraphMessageImplClass parent_class;
};

struct _PublishingFacebookParamSpecGraphSession {
	GParamSpec parent_instance;
};

struct _PublishingFacebookUploader {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PublishingFacebookUploaderPrivate * priv;
};

struct _PublishingFacebookUploaderClass {
	GTypeClass parent_class;
	void (*finalize) (PublishingFacebookUploader *self);
};

struct _PublishingFacebookUploaderPrivate {
	gint current_file;
	SpitPublishingPublishable** publishables;
	gint publishables_length1;
	gint _publishables_size_;
	PublishingFacebookGraphSession* session;
	PublishingFacebookPublishingParameters* publishing_params;
	SpitPublishingProgressCallback status_updated;
	gpointer status_updated_target;
};

struct _PublishingFacebookParamSpecUploader {
	GParamSpec parent_instance;
};


static gpointer facebook_service_parent_class = NULL;
static GdkPixbuf** facebook_service_icon_pixbuf_set;
static gint facebook_service_icon_pixbuf_set_length1;
static GdkPixbuf** facebook_service_icon_pixbuf_set = NULL;
static gint facebook_service_icon_pixbuf_set_length1 = 0;
static gint _facebook_service_icon_pixbuf_set_size_ = 0;
static SpitPluggableIface * facebook_service_spit_pluggable_parent_iface = NULL;
static SpitPublishingServiceIface * facebook_service_spit_publishing_service_parent_iface = NULL;
static gpointer publishing_facebook_album_parent_class = NULL;
static gpointer publishing_facebook_publishing_parameters_parent_class = NULL;
static gpointer publishing_facebook_facebook_publisher_parent_class = NULL;
static SpitPublishingPublisherIface * publishing_facebook_facebook_publisher_spit_publishing_publisher_parent_iface = NULL;
static gpointer publishing_facebook_publishing_options_pane_parent_class = NULL;
static gpointer publishing_facebook_publishing_options_pane_privacy_description_parent_class = NULL;
static SpitPublishingDialogPaneIface * publishing_facebook_publishing_options_pane_spit_publishing_dialog_pane_parent_iface = NULL;
static gpointer publishing_facebook_graph_message_parent_class = NULL;
static gpointer publishing_facebook_graph_session_parent_class = NULL;
static gpointer publishing_facebook_graph_session_graph_message_impl_parent_class = NULL;
static gpointer publishing_facebook_graph_session_graph_query_message_parent_class = NULL;
static gpointer publishing_facebook_graph_session_graph_endpoint_probe_message_parent_class = NULL;
static gpointer publishing_facebook_graph_session_graph_upload_message_parent_class = NULL;
static gpointer publishing_facebook_graph_session_graph_create_album_message_parent_class = NULL;
static gpointer publishing_facebook_uploader_parent_class = NULL;

GType facebook_service_get_type (void) G_GNUC_CONST;
#define FACEBOOK_SERVICE_ICON_FILENAME "facebook.png"
FacebookService* facebook_service_new (GFile* resource_directory);
FacebookService* facebook_service_construct (GType object_type,
                                             GFile* resource_directory);
static gint facebook_service_real_get_pluggable_interface (SpitPluggable* base,
                                                    gint min_host_interface,
                                                    gint max_host_interface);
static const gchar* facebook_service_real_get_id (SpitPluggable* base);
static const gchar* facebook_service_real_get_pluggable_name (SpitPluggable* base);
static void facebook_service_real_get_info (SpitPluggable* base,
                                     SpitPluggableInfo* info);
static GdkPixbuf** _vala_array_dup1 (GdkPixbuf** self,
                              int length);
static void facebook_service_real_activation (SpitPluggable* base,
                                       gboolean enabled);
static SpitPublishingPublisher* facebook_service_real_create_publisher (SpitPublishingService* base,
                                                                 SpitPublishingPluginHost* host);
PublishingFacebookFacebookPublisher* publishing_facebook_facebook_publisher_new (SpitPublishingService* service,
                                                                                 SpitPublishingPluginHost* host);
PublishingFacebookFacebookPublisher* publishing_facebook_facebook_publisher_construct (GType object_type,
                                                                                       SpitPublishingService* service,
                                                                                       SpitPublishingPluginHost* host);
GType publishing_facebook_facebook_publisher_get_type (void) G_GNUC_CONST;
static SpitPublishingPublisherMediaType facebook_service_real_get_supported_media (SpitPublishingService* base);
static void facebook_service_finalize (GObject * obj);
#define PUBLISHING_FACEBOOK_SERVICE_NAME "facebook"
#define PUBLISHING_FACEBOOK_USER_VISIBLE_NAME "Facebook"
#define PUBLISHING_FACEBOOK_DEFAULT_ALBUM_NAME _ ("Shotwell Connect")
#define PUBLISHING_FACEBOOK_EXPIRED_SESSION_STATUS_CODE 400
gpointer publishing_facebook_album_ref (gpointer instance);
void publishing_facebook_album_unref (gpointer instance);
GParamSpec* publishing_facebook_param_spec_album (const gchar* name,
                                                  const gchar* nick,
                                                  const gchar* blurb,
                                                  GType object_type,
                                                  GParamFlags flags);
void publishing_facebook_value_set_album (GValue* value,
                                          gpointer v_object);
void publishing_facebook_value_take_album (GValue* value,
                                           gpointer v_object);
gpointer publishing_facebook_value_get_album (const GValue* value);
GType publishing_facebook_album_get_type (void) G_GNUC_CONST;
PublishingFacebookAlbum* publishing_facebook_album_new (const gchar* name,
                                                        const gchar* id);
PublishingFacebookAlbum* publishing_facebook_album_construct (GType object_type,
                                                              const gchar* name,
                                                              const gchar* id);
static void publishing_facebook_album_finalize (PublishingFacebookAlbum * obj);
GType publishing_facebook_resolution_get_type (void) G_GNUC_CONST;
gchar* publishing_facebook_resolution_get_name (PublishingFacebookResolution self);
const gchar* publishing_facebook_resolution_to_string (PublishingFacebookResolution self);
gint publishing_facebook_resolution_get_pixels (PublishingFacebookResolution self);
gpointer publishing_facebook_publishing_parameters_ref (gpointer instance);
void publishing_facebook_publishing_parameters_unref (gpointer instance);
GParamSpec* publishing_facebook_param_spec_publishing_parameters (const gchar* name,
                                                                  const gchar* nick,
                                                                  const gchar* blurb,
                                                                  GType object_type,
                                                                  GParamFlags flags);
void publishing_facebook_value_set_publishing_parameters (GValue* value,
                                                          gpointer v_object);
void publishing_facebook_value_take_publishing_parameters (GValue* value,
                                                           gpointer v_object);
gpointer publishing_facebook_value_get_publishing_parameters (const GValue* value);
GType publishing_facebook_publishing_parameters_get_type (void) G_GNUC_CONST;
#define PUBLISHING_FACEBOOK_PUBLISHING_PARAMETERS_UNKNOWN_ALBUM -1
PublishingFacebookPublishingParameters* publishing_facebook_publishing_parameters_new (void);
PublishingFacebookPublishingParameters* publishing_facebook_publishing_parameters_construct (GType object_type);
void publishing_facebook_publishing_parameters_add_album (PublishingFacebookPublishingParameters* self,
                                                          const gchar* name,
                                                          const gchar* id);
static void _vala_array_add7 (PublishingFacebookAlbum** * array,
                       int* length,
                       int* size,
                       PublishingFacebookAlbum* value);
void publishing_facebook_publishing_parameters_set_target_album_by_name (PublishingFacebookPublishingParameters* self,
                                                                         const gchar* name);
gchar* publishing_facebook_publishing_parameters_get_target_album_name (PublishingFacebookPublishingParameters* self);
gchar* publishing_facebook_publishing_parameters_get_target_album_id (PublishingFacebookPublishingParameters* self);
static void publishing_facebook_publishing_parameters_finalize (PublishingFacebookPublishingParameters * obj);
gpointer publishing_facebook_graph_session_ref (gpointer instance);
void publishing_facebook_graph_session_unref (gpointer instance);
GParamSpec* publishing_facebook_param_spec_graph_session (const gchar* name,
                                                          const gchar* nick,
                                                          const gchar* blurb,
                                                          GType object_type,
                                                          GParamFlags flags);
void publishing_facebook_value_set_graph_session (GValue* value,
                                                  gpointer v_object);
void publishing_facebook_value_take_graph_session (GValue* value,
                                                   gpointer v_object);
gpointer publishing_facebook_value_get_graph_session (const GValue* value);
GType publishing_facebook_graph_session_get_type (void) G_GNUC_CONST;
GType publishing_facebook_publishing_options_pane_get_type (void) G_GNUC_CONST;
gpointer publishing_facebook_uploader_ref (gpointer instance);
void publishing_facebook_uploader_unref (gpointer instance);
GParamSpec* publishing_facebook_param_spec_uploader (const gchar* name,
                                                     const gchar* nick,
                                                     const gchar* blurb,
                                                     GType object_type,
                                                     GParamFlags flags);
void publishing_facebook_value_set_uploader (GValue* value,
                                             gpointer v_object);
void publishing_facebook_value_take_uploader (GValue* value,
                                              gpointer v_object);
gpointer publishing_facebook_value_get_uploader (const GValue* value);
GType publishing_facebook_uploader_get_type (void) G_GNUC_CONST;
#define PUBLISHING_FACEBOOK_FACEBOOK_PUBLISHER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_FACEBOOK_TYPE_FACEBOOK_PUBLISHER, PublishingFacebookFacebookPublisherPrivate))
PublishingFacebookGraphSession* publishing_facebook_graph_session_new (void);
PublishingFacebookGraphSession* publishing_facebook_graph_session_construct (GType object_type);
static void publishing_facebook_facebook_publisher_on_session_authenticated (PublishingFacebookFacebookPublisher* self);
static void _publishing_facebook_facebook_publisher_on_session_authenticated_publishing_facebook_graph_session_authenticated (PublishingFacebookGraphSession* _sender,
                                                                                                                       gpointer self);
static gboolean publishing_facebook_facebook_publisher_get_persistent_strip_metadata (PublishingFacebookFacebookPublisher* self);
static void publishing_facebook_facebook_publisher_set_persistent_strip_metadata (PublishingFacebookFacebookPublisher* self,
                                                                           gboolean strip_metadata);
gint publishing_facebook_facebook_publisher_get_persistent_default_size (PublishingFacebookFacebookPublisher* self);
void publishing_facebook_facebook_publisher_set_persistent_default_size (PublishingFacebookFacebookPublisher* self,
                                                                         gint size);
static void publishing_facebook_facebook_publisher_do_fetch_user_info (PublishingFacebookFacebookPublisher* self);
gpointer publishing_facebook_graph_message_ref (gpointer instance);
void publishing_facebook_graph_message_unref (gpointer instance);
GParamSpec* publishing_facebook_param_spec_graph_message (const gchar* name,
                                                          const gchar* nick,
                                                          const gchar* blurb,
                                                          GType object_type,
                                                          GParamFlags flags);
void publishing_facebook_value_set_graph_message (GValue* value,
                                                  gpointer v_object);
void publishing_facebook_value_take_graph_message (GValue* value,
                                                   gpointer v_object);
gpointer publishing_facebook_value_get_graph_message (const GValue* value);
GType publishing_facebook_graph_message_get_type (void) G_GNUC_CONST;
PublishingFacebookGraphMessage* publishing_facebook_graph_session_new_query (PublishingFacebookGraphSession* self,
                                                                             const gchar* resource_path);
static void publishing_facebook_facebook_publisher_on_fetch_user_info_completed (PublishingFacebookFacebookPublisher* self,
                                                                          PublishingFacebookGraphMessage* message);
static void _publishing_facebook_facebook_publisher_on_fetch_user_info_completed_publishing_facebook_graph_message_completed (PublishingFacebookGraphMessage* _sender,
                                                                                                                       gpointer self);
static void publishing_facebook_facebook_publisher_on_fetch_user_info_error (PublishingFacebookFacebookPublisher* self,
                                                                      PublishingFacebookGraphMessage* message,
                                                                      GError* _error_);
static void _publishing_facebook_facebook_publisher_on_fetch_user_info_error_publishing_facebook_graph_message_failed (PublishingFacebookGraphMessage* _sender,
                                                                                                                GError* err,
                                                                                                                gpointer self);
void publishing_facebook_graph_session_send_message (PublishingFacebookGraphSession* self,
                                                     PublishingFacebookGraphMessage* message);
static void publishing_facebook_facebook_publisher_do_fetch_album_descriptions (PublishingFacebookFacebookPublisher* self);
static void publishing_facebook_facebook_publisher_on_fetch_albums_completed (PublishingFacebookFacebookPublisher* self,
                                                                       PublishingFacebookGraphMessage* message);
static void _publishing_facebook_facebook_publisher_on_fetch_albums_completed_publishing_facebook_graph_message_completed (PublishingFacebookGraphMessage* _sender,
                                                                                                                    gpointer self);
static void publishing_facebook_facebook_publisher_on_fetch_albums_error (PublishingFacebookFacebookPublisher* self,
                                                                   PublishingFacebookGraphMessage* message,
                                                                   GError* err);
static void _publishing_facebook_facebook_publisher_on_fetch_albums_error_publishing_facebook_graph_message_failed (PublishingFacebookGraphMessage* _sender,
                                                                                                             GError* err,
                                                                                                             gpointer self);
static void publishing_facebook_facebook_publisher_do_extract_user_info_from_json (PublishingFacebookFacebookPublisher* self,
                                                                            const gchar* json);
static JsonNode* _vala_JsonNode_copy (JsonNode* self);
static void _vala_JsonNode_free (JsonNode* self);
static void publishing_facebook_facebook_publisher_on_user_info_extracted (PublishingFacebookFacebookPublisher* self);
static void publishing_facebook_facebook_publisher_do_extract_albums_from_json (PublishingFacebookFacebookPublisher* self,
                                                                         const gchar* json);
static void publishing_facebook_facebook_publisher_on_albums_extracted (PublishingFacebookFacebookPublisher* self);
static void publishing_facebook_facebook_publisher_do_create_new_album (PublishingFacebookFacebookPublisher* self);
PublishingFacebookGraphMessage* publishing_facebook_graph_session_new_create_album (PublishingFacebookGraphSession* self,
                                                                                    const gchar* album_name,
                                                                                    const gchar* privacy);
static void publishing_facebook_facebook_publisher_on_create_album_completed (PublishingFacebookFacebookPublisher* self,
                                                                       PublishingFacebookGraphMessage* message);
static void _publishing_facebook_facebook_publisher_on_create_album_completed_publishing_facebook_graph_message_completed (PublishingFacebookGraphMessage* _sender,
                                                                                                                    gpointer self);
static void publishing_facebook_facebook_publisher_on_create_album_error (PublishingFacebookFacebookPublisher* self,
                                                                   PublishingFacebookGraphMessage* message,
                                                                   GError* err);
static void _publishing_facebook_facebook_publisher_on_create_album_error_publishing_facebook_graph_message_failed (PublishingFacebookGraphMessage* _sender,
                                                                                                             GError* err,
                                                                                                             gpointer self);
static void publishing_facebook_facebook_publisher_do_show_publishing_options_pane (PublishingFacebookFacebookPublisher* self);
PublishingFacebookPublishingOptionsPane* publishing_facebook_publishing_options_pane_new (const gchar* username,
                                                                                          PublishingFacebookAlbum** albums,
                                                                                          int albums_length1,
                                                                                          SpitPublishingPublisherMediaType media_type,
                                                                                          PublishingFacebookFacebookPublisher* publisher,
                                                                                          GtkBuilder* builder,
                                                                                          gboolean strip_metadata,
                                                                                          gboolean can_logout);
PublishingFacebookPublishingOptionsPane* publishing_facebook_publishing_options_pane_construct (GType object_type,
                                                                                                const gchar* username,
                                                                                                PublishingFacebookAlbum** albums,
                                                                                                int albums_length1,
                                                                                                SpitPublishingPublisherMediaType media_type,
                                                                                                PublishingFacebookFacebookPublisher* publisher,
                                                                                                GtkBuilder* builder,
                                                                                                gboolean strip_metadata,
                                                                                                gboolean can_logout);
static void publishing_facebook_facebook_publisher_on_publishing_options_pane_logout (PublishingFacebookFacebookPublisher* self);
static void _publishing_facebook_facebook_publisher_on_publishing_options_pane_logout_publishing_facebook_publishing_options_pane_logout (PublishingFacebookPublishingOptionsPane* _sender,
                                                                                                                                   gpointer self);
static void publishing_facebook_facebook_publisher_on_publishing_options_pane_publish (PublishingFacebookFacebookPublisher* self,
                                                                                const gchar* target_album,
                                                                                const gchar* privacy_setting,
                                                                                PublishingFacebookResolution resolution,
                                                                                gboolean strip_metadata);
static void _publishing_facebook_facebook_publisher_on_publishing_options_pane_publish_publishing_facebook_publishing_options_pane_publish (PublishingFacebookPublishingOptionsPane* _sender,
                                                                                                                                     const gchar* target_album,
                                                                                                                                     const gchar* privacy_setting,
                                                                                                                                     PublishingFacebookResolution target_resolution,
                                                                                                                                     gboolean strip_metadata,
                                                                                                                                     gpointer self);
static void publishing_facebook_facebook_publisher_do_logout (PublishingFacebookFacebookPublisher* self);
static void publishing_facebook_facebook_publisher_do_add_new_local_album_from_json (PublishingFacebookFacebookPublisher* self,
                                                                              const gchar* album_name,
                                                                              const gchar* json);
static void publishing_facebook_facebook_publisher_do_upload (PublishingFacebookFacebookPublisher* self);
static void publishing_facebook_facebook_publisher_on_authenticator_succeeded (PublishingFacebookFacebookPublisher* self);
static void publishing_facebook_facebook_publisher_do_authenticate_session (PublishingFacebookFacebookPublisher* self);
static void publishing_facebook_facebook_publisher_on_authenticator_failed (PublishingFacebookFacebookPublisher* self);
void publishing_facebook_graph_session_authenticate (PublishingFacebookGraphSession* self,
                                                     const gchar* access_token);
PublishingFacebookUploader* publishing_facebook_uploader_new (PublishingFacebookGraphSession* session,
                                                              PublishingFacebookPublishingParameters* publishing_params,
                                                              SpitPublishingPublishable** publishables,
                                                              int publishables_length1);
PublishingFacebookUploader* publishing_facebook_uploader_construct (GType object_type,
                                                                    PublishingFacebookGraphSession* session,
                                                                    PublishingFacebookPublishingParameters* publishing_params,
                                                                    SpitPublishingPublishable** publishables,
                                                                    int publishables_length1);
static void publishing_facebook_facebook_publisher_on_upload_complete (PublishingFacebookFacebookPublisher* self,
                                                                PublishingFacebookUploader* uploader,
                                                                gint num_published);
static void _publishing_facebook_facebook_publisher_on_upload_complete_publishing_facebook_uploader_upload_complete (PublishingFacebookUploader* _sender,
                                                                                                              gint num_photos_published,
                                                                                                              gpointer self);
static void publishing_facebook_facebook_publisher_on_upload_error (PublishingFacebookFacebookPublisher* self,
                                                             PublishingFacebookUploader* uploader,
                                                             GError* err);
static void _publishing_facebook_facebook_publisher_on_upload_error_publishing_facebook_uploader_upload_error (PublishingFacebookUploader* _sender,
                                                                                                        GError* err,
                                                                                                        gpointer self);
void publishing_facebook_uploader_upload (PublishingFacebookUploader* self,
                                          SpitPublishingProgressCallback status_updated,
                                          void* status_updated_target);
static void publishing_facebook_facebook_publisher_on_upload_status_updated (PublishingFacebookFacebookPublisher* self,
                                                                      gint file_number,
                                                                      gdouble completed_fraction);
static void _publishing_facebook_facebook_publisher_on_upload_status_updated_spit_publishing_progress_callback (gint file_number,
                                                                                                         gdouble fraction_complete,
                                                                                                         gpointer self);
static void publishing_facebook_facebook_publisher_do_show_success_pane (PublishingFacebookFacebookPublisher* self);
static void publishing_facebook_facebook_publisher_on_generic_error (PublishingFacebookFacebookPublisher* self,
                                                              GError* _error_);
gboolean publishing_facebook_graph_session_is_authenticated (PublishingFacebookGraphSession* self);
gchar* publishing_facebook_graph_message_get_response_body (PublishingFacebookGraphMessage* self);
static SpitPublishingService* publishing_facebook_facebook_publisher_real_get_service (SpitPublishingPublisher* base);
gchar* publishing_facebook_facebook_publisher_get_service_name (PublishingFacebookFacebookPublisher* self);
gchar* publishing_facebook_facebook_publisher_get_user_visible_name (PublishingFacebookFacebookPublisher* self);
static void publishing_facebook_facebook_publisher_real_start (SpitPublishingPublisher* base);
static void _publishing_facebook_facebook_publisher_on_authenticator_succeeded_spit_publishing_authenticator_authenticated (SpitPublishingAuthenticator* _sender,
                                                                                                                     gpointer self);
static void _publishing_facebook_facebook_publisher_on_authenticator_failed_spit_publishing_authenticator_authentication_failed (SpitPublishingAuthenticator* _sender,
                                                                                                                          gpointer self);
static void publishing_facebook_facebook_publisher_real_stop (SpitPublishingPublisher* base);
void publishing_facebook_graph_session_stop_transactions (PublishingFacebookGraphSession* self);
static gboolean publishing_facebook_facebook_publisher_real_is_running (SpitPublishingPublisher* base);
static void publishing_facebook_facebook_publisher_finalize (GObject * obj);
static gpointer publishing_facebook_publishing_options_pane_privacy_description_ref (gpointer instance);
static void publishing_facebook_publishing_options_pane_privacy_description_unref (gpointer instance);
static GParamSpec* publishing_facebook_publishing_options_pane_param_spec_privacy_description (const gchar* name,
                                                                                        const gchar* nick,
                                                                                        const gchar* blurb,
                                                                                        GType object_type,
                                                                                        GParamFlags flags) G_GNUC_UNUSED;
static void publishing_facebook_publishing_options_pane_value_set_privacy_description (GValue* value,
                                                                                gpointer v_object) G_GNUC_UNUSED;
static void publishing_facebook_publishing_options_pane_value_take_privacy_description (GValue* value,
                                                                                 gpointer v_object) G_GNUC_UNUSED;
static gpointer publishing_facebook_publishing_options_pane_value_get_privacy_description (const GValue* value) G_GNUC_UNUSED;
static GType publishing_facebook_publishing_options_pane_privacy_description_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
#define PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, PublishingFacebookPublishingOptionsPanePrivate))
#define PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_HEADER_LABEL_TEXT _ ("You are logged into Facebook as %s.\n\n")
#define PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_PHOTOS_LABEL_TEXT _ ("Where would you like to publish the selected photos?")
#define PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_RESOLUTION_LABEL_TEXT _ ("Upload _size:")
#define PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_CONTENT_GROUP_SPACING 32
#define PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_STANDARD_ACTION_BUTTON_WIDTH 128
static PublishingFacebookAlbum** _vala_array_dup2 (PublishingFacebookAlbum** self,
                                            int length);
static PublishingFacebookPublishingOptionsPanePrivacyDescription** publishing_facebook_publishing_options_pane_create_privacy_descriptions (PublishingFacebookPublishingOptionsPane* self,
                                                                                                                                     int* result_length1);
static PublishingFacebookResolution* publishing_facebook_publishing_options_pane_create_resolution_list (PublishingFacebookPublishingOptionsPane* self,
                                                                                                  int* result_length1);
static void publishing_facebook_publishing_options_pane_on_create_new_toggled (PublishingFacebookPublishingOptionsPane* self);
static void _publishing_facebook_publishing_options_pane_on_create_new_toggled_gtk_button_clicked (GtkButton* _sender,
                                                                                            gpointer self);
static void publishing_facebook_publishing_options_pane_on_use_existing_toggled (PublishingFacebookPublishingOptionsPane* self);
static void _publishing_facebook_publishing_options_pane_on_use_existing_toggled_gtk_button_clicked (GtkButton* _sender,
                                                                                              gpointer self);
static void publishing_facebook_publishing_options_pane_setup_visibility_combo (PublishingFacebookPublishingOptionsPane* self);
static void publishing_facebook_publishing_options_pane_on_publish_button_clicked (PublishingFacebookPublishingOptionsPane* self);
static void _publishing_facebook_publishing_options_pane_on_publish_button_clicked_gtk_button_clicked (GtkButton* _sender,
                                                                                                gpointer self);
static void publishing_facebook_publishing_options_pane_on_logout_button_clicked (PublishingFacebookPublishingOptionsPane* self);
static void _publishing_facebook_publishing_options_pane_on_logout_button_clicked_gtk_button_clicked (GtkButton* _sender,
                                                                                               gpointer self);
static void publishing_facebook_publishing_options_pane_setup_resolution_combo (PublishingFacebookPublishingOptionsPane* self);
static void publishing_facebook_publishing_options_pane_on_size_changed (PublishingFacebookPublishingOptionsPane* self);
static void _publishing_facebook_publishing_options_pane_on_size_changed_gtk_combo_box_changed (GtkComboBox* _sender,
                                                                                         gpointer self);
static gboolean publishing_facebook_publishing_options_pane_publishing_photos (PublishingFacebookPublishingOptionsPane* self);
static PublishingFacebookPublishingOptionsPanePrivacyDescription* publishing_facebook_publishing_options_pane_privacy_description_new (const gchar* description,
                                                                                                                                const gchar* privacy_setting);
static PublishingFacebookPublishingOptionsPanePrivacyDescription* publishing_facebook_publishing_options_pane_privacy_description_construct (GType object_type,
                                                                                                                                      const gchar* description,
                                                                                                                                      const gchar* privacy_setting);
static void _vala_array_add8 (PublishingFacebookPublishingOptionsPanePrivacyDescription** * array,
                       int* length,
                       int* size,
                       PublishingFacebookPublishingOptionsPanePrivacyDescription* value);
static void _vala_array_add9 (PublishingFacebookPublishingOptionsPanePrivacyDescription** * array,
                       int* length,
                       int* size,
                       PublishingFacebookPublishingOptionsPanePrivacyDescription* value);
static void _vala_array_add10 (PublishingFacebookPublishingOptionsPanePrivacyDescription** * array,
                        int* length,
                        int* size,
                        PublishingFacebookPublishingOptionsPanePrivacyDescription* value);
static void _vala_array_add11 (PublishingFacebookResolution* * array,
                        int* length,
                        int* size,
                        PublishingFacebookResolution value);
static void _vala_array_add12 (PublishingFacebookResolution* * array,
                        int* length,
                        int* size,
                        PublishingFacebookResolution value);
void publishing_facebook_publishing_options_pane_installed (PublishingFacebookPublishingOptionsPane* self);
static void publishing_facebook_publishing_options_pane_notify_logout (PublishingFacebookPublishingOptionsPane* self);
static void publishing_facebook_publishing_options_pane_notify_publish (PublishingFacebookPublishingOptionsPane* self,
                                                                 const gchar* target_album,
                                                                 const gchar* privacy_setting,
                                                                 PublishingFacebookResolution target_resolution);
static GtkWidget* publishing_facebook_publishing_options_pane_real_get_widget (SpitPublishingDialogPane* base);
static SpitPublishingDialogPaneGeometryOptions publishing_facebook_publishing_options_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base);
static void publishing_facebook_publishing_options_pane_real_on_pane_installed (SpitPublishingDialogPane* base);
static void _publishing_facebook_publishing_options_pane_notify_logout_publishing_facebook_publishing_options_pane_logout (PublishingFacebookPublishingOptionsPane* _sender,
                                                                                                                    gpointer self);
static void _publishing_facebook_publishing_options_pane_notify_publish_publishing_facebook_publishing_options_pane_publish (PublishingFacebookPublishingOptionsPane* _sender,
                                                                                                                      const gchar* target_album,
                                                                                                                      const gchar* privacy_setting,
                                                                                                                      PublishingFacebookResolution target_resolution,
                                                                                                                      gboolean strip_metadata,
                                                                                                                      gpointer self);
static void publishing_facebook_publishing_options_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base);
static void g_cclosure_user_marshal_VOID__STRING_STRING_ENUM_BOOLEAN (GClosure * closure,
                                                               GValue * return_value,
                                                               guint n_param_values,
                                                               const GValue * param_values,
                                                               gpointer invocation_hint,
                                                               gpointer marshal_data);
static void publishing_facebook_publishing_options_pane_privacy_description_finalize (PublishingFacebookPublishingOptionsPanePrivacyDescription * obj);
static void publishing_facebook_publishing_options_pane_finalize (GObject * obj);
GType publishing_facebook_endpoint_get_type (void) G_GNUC_CONST;
gchar* publishing_facebook_endpoint_to_uri (PublishingFacebookEndpoint self);
gchar* publishing_facebook_graph_message_get_uri (PublishingFacebookGraphMessage* self);
static gchar* publishing_facebook_graph_message_real_get_uri (PublishingFacebookGraphMessage* self);
static gchar* publishing_facebook_graph_message_real_get_response_body (PublishingFacebookGraphMessage* self);
PublishingFacebookGraphMessage* publishing_facebook_graph_message_construct (GType object_type);
static void g_cclosure_user_marshal_VOID__INT_INT (GClosure * closure,
                                            GValue * return_value,
                                            guint n_param_values,
                                            const GValue * param_values,
                                            gpointer invocation_hint,
                                            gpointer marshal_data);
static void publishing_facebook_graph_message_finalize (PublishingFacebookGraphMessage * obj);
#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION, PublishingFacebookGraphSessionPrivate))
static void publishing_facebook_graph_session_on_request_unqueued (PublishingFacebookGraphSession* self,
                                                            SoupMessage* msg);
static void _publishing_facebook_graph_session_on_request_unqueued_soup_session_request_unqueued (SoupSession* _sender,
                                                                                           SoupMessage* msg,
                                                                                           gpointer self);
static void publishing_facebook_graph_session_manage_message (PublishingFacebookGraphSession* self,
                                                       PublishingFacebookGraphMessage* msg);
static void publishing_facebook_graph_session_unmanage_message (PublishingFacebookGraphSession* self,
                                                         PublishingFacebookGraphMessage* msg);
static GType publishing_facebook_graph_session_graph_message_impl_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
static void publishing_facebook_graph_session_graph_message_impl_on_wrote_body_data (PublishingFacebookGraphSessionGraphMessageImpl* self,
                                                                              SoupBuffer* chunk);
static void _publishing_facebook_graph_session_graph_message_impl_on_wrote_body_data_soup_message_wrote_body_data (SoupMessage* _sender,
                                                                                                            SoupBuffer* chunk,
                                                                                                            gpointer self);
static PublishingFacebookGraphSessionGraphQueryMessage* publishing_facebook_graph_session_graph_query_message_new (PublishingFacebookGraphSession* host_session,
                                                                                                            const gchar* relative_uri,
                                                                                                            const gchar* access_token);
static PublishingFacebookGraphSessionGraphQueryMessage* publishing_facebook_graph_session_graph_query_message_construct (GType object_type,
                                                                                                                  PublishingFacebookGraphSession* host_session,
                                                                                                                  const gchar* relative_uri,
                                                                                                                  const gchar* access_token);
static GType publishing_facebook_graph_session_graph_query_message_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
PublishingFacebookGraphMessage* publishing_facebook_graph_session_new_upload (PublishingFacebookGraphSession* self,
                                                                              const gchar* resource_path,
                                                                              SpitPublishingPublishable* publishable,
                                                                              gboolean suppress_titling,
                                                                              const gchar* resource_privacy);
static PublishingFacebookGraphSessionGraphUploadMessage* publishing_facebook_graph_session_graph_upload_message_new (PublishingFacebookGraphSession* host_session,
                                                                                                              const gchar* access_token,
                                                                                                              const gchar* relative_uri,
                                                                                                              SpitPublishingPublishable* publishable,
                                                                                                              gboolean suppress_titling,
                                                                                                              const gchar* resource_privacy);
static PublishingFacebookGraphSessionGraphUploadMessage* publishing_facebook_graph_session_graph_upload_message_construct (GType object_type,
                                                                                                                    PublishingFacebookGraphSession* host_session,
                                                                                                                    const gchar* access_token,
                                                                                                                    const gchar* relative_uri,
                                                                                                                    SpitPublishingPublishable* publishable,
                                                                                                                    gboolean suppress_titling,
                                                                                                                    const gchar* resource_privacy);
static GType publishing_facebook_graph_session_graph_upload_message_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
static PublishingFacebookGraphSessionGraphCreateAlbumMessage* publishing_facebook_graph_session_graph_create_album_message_new (PublishingFacebookGraphSession* host_session,
                                                                                                                         const gchar* access_token,
                                                                                                                         const gchar* album_name,
                                                                                                                         const gchar* album_privacy);
static PublishingFacebookGraphSessionGraphCreateAlbumMessage* publishing_facebook_graph_session_graph_create_album_message_construct (GType object_type,
                                                                                                                               PublishingFacebookGraphSession* host_session,
                                                                                                                               const gchar* access_token,
                                                                                                                               const gchar* album_name,
                                                                                                                               const gchar* album_privacy);
static GType publishing_facebook_graph_session_graph_create_album_message_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
static gboolean publishing_facebook_graph_session_graph_message_impl_prepare_for_transmission (PublishingFacebookGraphSessionGraphMessageImpl* self);
static PublishingFacebookGraphSessionGraphMessageImpl* publishing_facebook_graph_session_graph_message_impl_construct (GType object_type,
                                                                                                                PublishingFacebookGraphSession* host_session,
                                                                                                                PublishingRESTSupportHttpMethod method,
                                                                                                                const gchar* relative_uri,
                                                                                                                const gchar* access_token,
                                                                                                                PublishingFacebookEndpoint endpoint);
static gboolean publishing_facebook_graph_session_graph_message_impl_real_prepare_for_transmission (PublishingFacebookGraphSessionGraphMessageImpl* self);
static gchar* publishing_facebook_graph_session_graph_message_impl_real_get_uri (PublishingFacebookGraphMessage* base);
static gchar* publishing_facebook_graph_session_graph_message_impl_real_get_response_body (PublishingFacebookGraphMessage* base);
static void publishing_facebook_graph_session_graph_message_impl_finalize (PublishingFacebookGraphMessage * obj);
static void _vala_SoupURI_free (SoupURI* self);
static GType publishing_facebook_graph_session_graph_endpoint_probe_message_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
static PublishingFacebookGraphSessionGraphEndpointProbeMessage* publishing_facebook_graph_session_graph_endpoint_probe_message_new (PublishingFacebookGraphSession* host_session);
static PublishingFacebookGraphSessionGraphEndpointProbeMessage* publishing_facebook_graph_session_graph_endpoint_probe_message_construct (GType object_type,
                                                                                                                                   PublishingFacebookGraphSession* host_session);
#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_UPLOAD_MESSAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_UPLOAD_MESSAGE, PublishingFacebookGraphSessionGraphUploadMessagePrivate))
static void _vala_SoupMultipart_free (SoupMultipart* self);
static void _vala_SoupBuffer_free (SoupBuffer* self);
static gboolean publishing_facebook_graph_session_graph_upload_message_real_prepare_for_transmission (PublishingFacebookGraphSessionGraphMessageImpl* base);
static void publishing_facebook_graph_session_graph_upload_message_finalize (PublishingFacebookGraphMessage * obj);
static void publishing_facebook_graph_session_finalize (PublishingFacebookGraphSession * obj);
#define PUBLISHING_FACEBOOK_UPLOADER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_FACEBOOK_TYPE_UPLOADER, PublishingFacebookUploaderPrivate))
static SpitPublishingPublishable** _vala_array_dup3 (SpitPublishingPublishable** self,
                                              int length);
static void publishing_facebook_uploader_send_current_file (PublishingFacebookUploader* self);
static void publishing_facebook_uploader_on_chunk_transmitted (PublishingFacebookUploader* self,
                                                        gint bytes_written_so_far,
                                                        gint total_bytes);
static void _publishing_facebook_uploader_on_chunk_transmitted_publishing_facebook_graph_message_data_transmitted (PublishingFacebookGraphMessage* _sender,
                                                                                                            gint bytes_sent_so_far,
                                                                                                            gint total_bytes,
                                                                                                            gpointer self);
static void publishing_facebook_uploader_on_message_completed (PublishingFacebookUploader* self,
                                                        PublishingFacebookGraphMessage* message);
static void _publishing_facebook_uploader_on_message_completed_publishing_facebook_graph_message_completed (PublishingFacebookGraphMessage* _sender,
                                                                                                     gpointer self);
static void publishing_facebook_uploader_on_message_failed (PublishingFacebookUploader* self,
                                                     PublishingFacebookGraphMessage* message,
                                                     GError* _error_);
static void _publishing_facebook_uploader_on_message_failed_publishing_facebook_graph_message_failed (PublishingFacebookGraphMessage* _sender,
                                                                                               GError* err,
                                                                                               gpointer self);
static void publishing_facebook_uploader_send_files (PublishingFacebookUploader* self);
static void publishing_facebook_uploader_finalize (PublishingFacebookUploader * obj);
static void _vala_array_destroy (gpointer array,
                          gint array_length,
                          GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array,
                       gint array_length,
                       GDestroyNotify destroy_func);


FacebookService*
facebook_service_construct (GType object_type,
                            GFile* resource_directory)
{
	FacebookService * self = NULL;
	GdkPixbuf** _tmp0_;
	gint _tmp0__length1;
#line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (G_IS_FILE (resource_directory), NULL);
#line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = (FacebookService*) g_object_new (object_type, NULL);
#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = facebook_service_icon_pixbuf_set;
#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0__length1 = facebook_service_icon_pixbuf_set_length1;
#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (_tmp0_ == NULL) {
#line 1041 "FacebookPublishing.c"
		gint _tmp1_;
		GdkPixbuf** _tmp2_;
#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp2_ = resources_load_from_resource (PLUGIN_RESOURCE_PATH "/" FACEBOOK_SERVICE_ICON_FILENAME, &_tmp1_);
#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		facebook_service_icon_pixbuf_set = (_vala_array_free (facebook_service_icon_pixbuf_set, facebook_service_icon_pixbuf_set_length1, (GDestroyNotify) g_object_unref), NULL);
#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		facebook_service_icon_pixbuf_set = _tmp2_;
#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		facebook_service_icon_pixbuf_set_length1 = _tmp1_;
#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_facebook_service_icon_pixbuf_set_size_ = facebook_service_icon_pixbuf_set_length1;
#line 1054 "FacebookPublishing.c"
	}
#line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return self;
#line 1058 "FacebookPublishing.c"
}


FacebookService*
facebook_service_new (GFile* resource_directory)
{
#line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return facebook_service_construct (TYPE_FACEBOOK_SERVICE, resource_directory);
#line 1067 "FacebookPublishing.c"
}


static gint
facebook_service_real_get_pluggable_interface (SpitPluggable* base,
                                               gint min_host_interface,
                                               gint max_host_interface)
{
	FacebookService * self;
	gint result = 0;
#line 18 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FACEBOOK_SERVICE, FacebookService);
#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	result = spit_negotiate_interfaces (min_host_interface, max_host_interface, SPIT_PUBLISHING_CURRENT_INTERFACE);
#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return result;
#line 1084 "FacebookPublishing.c"
}


static const gchar*
facebook_service_real_get_id (SpitPluggable* base)
{
	FacebookService * self;
	const gchar* result = NULL;
#line 23 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FACEBOOK_SERVICE, FacebookService);
#line 24 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	result = "org.yorba.shotwell.publishing.facebook";
#line 24 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return result;
#line 1099 "FacebookPublishing.c"
}


static const gchar*
facebook_service_real_get_pluggable_name (SpitPluggable* base)
{
	FacebookService * self;
	const gchar* result = NULL;
#line 27 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FACEBOOK_SERVICE, FacebookService);
#line 28 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	result = "Facebook";
#line 28 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return result;
#line 1114 "FacebookPublishing.c"
}


static gpointer
_g_object_ref0 (gpointer self)
{
#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return self ? g_object_ref (self) : NULL;
#line 1123 "FacebookPublishing.c"
}


static GdkPixbuf**
_vala_array_dup1 (GdkPixbuf** self,
                  int length)
{
	GdkPixbuf** result;
	int i;
#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	result = g_new0 (GdkPixbuf*, length + 1);
#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	for (i = 0; i < length; i++) {
#line 1137 "FacebookPublishing.c"
		GdkPixbuf* _tmp0_;
#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp0_ = _g_object_ref0 (self[i]);
#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		result[i] = _tmp0_;
#line 1143 "FacebookPublishing.c"
	}
#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return result;
#line 1147 "FacebookPublishing.c"
}


static void
facebook_service_real_get_info (SpitPluggable* base,
                                SpitPluggableInfo* info)
{
	FacebookService * self;
	gchar* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	gchar* _tmp6_;
	GdkPixbuf** _tmp7_;
	gint _tmp7__length1;
	GdkPixbuf** _tmp8_;
	gint _tmp8__length1;
#line 31 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FACEBOOK_SERVICE, FacebookService);
#line 31 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (info != NULL);
#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = g_strdup ("Lucas Beeler");
#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 ((*info).authors);
#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	(*info).authors = _tmp0_;
#line 33 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = g_strdup (_ ("Copyright 2016 Software Freedom Conservancy Inc."));
#line 33 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 ((*info).copyright);
#line 33 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	(*info).copyright = _tmp1_;
#line 34 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = g_strdup (RESOURCES_TRANSLATORS);
#line 34 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 ((*info).translators);
#line 34 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	(*info).translators = _tmp2_;
#line 35 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3_ = g_strdup (_VERSION);
#line 35 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 ((*info).version);
#line 35 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	(*info).version = _tmp3_;
#line 36 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp4_ = g_strdup (RESOURCES_WEBSITE_NAME);
#line 36 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 ((*info).website_name);
#line 36 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	(*info).website_name = _tmp4_;
#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp5_ = g_strdup (RESOURCES_WEBSITE_URL);
#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 ((*info).website_url);
#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	(*info).website_url = _tmp5_;
#line 38 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	(*info).is_license_wordwrapped = FALSE;
#line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp6_ = g_strdup (RESOURCES_LICENSE);
#line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 ((*info).license);
#line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	(*info).license = _tmp6_;
#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp7_ = facebook_service_icon_pixbuf_set;
#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp7__length1 = facebook_service_icon_pixbuf_set_length1;
#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp8_ = (_tmp7_ != NULL) ? _vala_array_dup1 (_tmp7_, _tmp7__length1) : ((gpointer) _tmp7_);
#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp8__length1 = _tmp7__length1;
#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	(*info).icons = (_vala_array_free ((*info).icons, (*info).icons_length1, (GDestroyNotify) g_object_unref), NULL);
#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	(*info).icons = _tmp8_;
#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	(*info).icons_length1 = _tmp8__length1;
#line 1229 "FacebookPublishing.c"
}


static void
facebook_service_real_activation (SpitPluggable* base,
                                  gboolean enabled)
{
	FacebookService * self;
#line 43 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FACEBOOK_SERVICE, FacebookService);
#line 1240 "FacebookPublishing.c"
}


static SpitPublishingPublisher*
facebook_service_real_create_publisher (SpitPublishingService* base,
                                        SpitPublishingPluginHost* host)
{
	FacebookService * self;
	SpitPublishingPublisher* result = NULL;
	PublishingFacebookFacebookPublisher* _tmp0_;
#line 46 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FACEBOOK_SERVICE, FacebookService);
#line 46 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (host), NULL);
#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = publishing_facebook_facebook_publisher_new (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_SERVICE, SpitPublishingService), host);
#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher);
#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return result;
#line 1261 "FacebookPublishing.c"
}


static SpitPublishingPublisherMediaType
facebook_service_real_get_supported_media (SpitPublishingService* base)
{
	FacebookService * self;
	SpitPublishingPublisherMediaType result = 0;
#line 50 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FACEBOOK_SERVICE, FacebookService);
#line 51 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	result = SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO | SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO;
#line 51 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return result;
#line 1276 "FacebookPublishing.c"
}


static void
facebook_service_class_init (FacebookServiceClass * klass)
{
#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	facebook_service_parent_class = g_type_class_peek_parent (klass);
#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	G_OBJECT_CLASS (klass)->finalize = facebook_service_finalize;
#line 1287 "FacebookPublishing.c"
}


static void
facebook_service_spit_pluggable_interface_init (SpitPluggableIface * iface)
{
#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	facebook_service_spit_pluggable_parent_iface = g_type_interface_peek_parent (iface);
#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	iface->get_pluggable_interface = (gint (*) (SpitPluggable *, gint, gint)) facebook_service_real_get_pluggable_interface;
#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	iface->get_id = (const gchar* (*) (SpitPluggable *)) facebook_service_real_get_id;
#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	iface->get_pluggable_name = (const gchar* (*) (SpitPluggable *)) facebook_service_real_get_pluggable_name;
#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	iface->get_info = (void (*) (SpitPluggable *, SpitPluggableInfo*)) facebook_service_real_get_info;
#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	iface->activation = (void (*) (SpitPluggable *, gboolean)) facebook_service_real_activation;
#line 1306 "FacebookPublishing.c"
}


static void
facebook_service_spit_publishing_service_interface_init (SpitPublishingServiceIface * iface)
{
#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	facebook_service_spit_publishing_service_parent_iface = g_type_interface_peek_parent (iface);
#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	iface->create_publisher = (SpitPublishingPublisher* (*) (SpitPublishingService *, SpitPublishingPluginHost*)) facebook_service_real_create_publisher;
#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	iface->get_supported_media = (SpitPublishingPublisherMediaType (*) (SpitPublishingService *)) facebook_service_real_get_supported_media;
#line 1319 "FacebookPublishing.c"
}


static void
facebook_service_instance_init (FacebookService * self)
{
}


static void
facebook_service_finalize (GObject * obj)
{
	FacebookService * self;
#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_FACEBOOK_SERVICE, FacebookService);
#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	G_OBJECT_CLASS (facebook_service_parent_class)->finalize (obj);
#line 1337 "FacebookPublishing.c"
}


GType
facebook_service_get_type (void)
{
	static volatile gsize facebook_service_type_id__volatile = 0;
	if (g_once_init_enter (&facebook_service_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (FacebookServiceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) facebook_service_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (FacebookService), 0, (GInstanceInitFunc) facebook_service_instance_init, NULL };
		static const GInterfaceInfo spit_pluggable_info = { (GInterfaceInitFunc) facebook_service_spit_pluggable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		static const GInterfaceInfo spit_publishing_service_info = { (GInterfaceInitFunc) facebook_service_spit_publishing_service_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		GType facebook_service_type_id;
		facebook_service_type_id = g_type_register_static (G_TYPE_OBJECT, "FacebookService", &g_define_type_info, 0);
		g_type_add_interface_static (facebook_service_type_id, SPIT_TYPE_PLUGGABLE, &spit_pluggable_info);
		g_type_add_interface_static (facebook_service_type_id, SPIT_PUBLISHING_TYPE_SERVICE, &spit_publishing_service_info);
		g_once_init_leave (&facebook_service_type_id__volatile, facebook_service_type_id);
	}
	return facebook_service_type_id__volatile;
}


PublishingFacebookAlbum*
publishing_facebook_album_construct (GType object_type,
                                     const gchar* name,
                                     const gchar* id)
{
	PublishingFacebookAlbum* self = NULL;
	gchar* _tmp0_;
	gchar* _tmp1_;
#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (name != NULL, NULL);
#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (id != NULL, NULL);
#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = (PublishingFacebookAlbum*) g_type_create_instance (object_type);
#line 69 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = g_strdup (name);
#line 69 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (self->name);
#line 69 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->name = _tmp0_;
#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = g_strdup (id);
#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (self->id);
#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->id = _tmp1_;
#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return self;
#line 1387 "FacebookPublishing.c"
}


PublishingFacebookAlbum*
publishing_facebook_album_new (const gchar* name,
                               const gchar* id)
{
#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return publishing_facebook_album_construct (PUBLISHING_FACEBOOK_TYPE_ALBUM, name, id);
#line 1397 "FacebookPublishing.c"
}


static void
publishing_facebook_value_album_init (GValue* value)
{
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	value->data[0].v_pointer = NULL;
#line 1406 "FacebookPublishing.c"
}


static void
publishing_facebook_value_album_free_value (GValue* value)
{
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (value->data[0].v_pointer) {
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_album_unref (value->data[0].v_pointer);
#line 1417 "FacebookPublishing.c"
	}
}


static void
publishing_facebook_value_album_copy_value (const GValue* src_value,
                                            GValue* dest_value)
{
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (src_value->data[0].v_pointer) {
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		dest_value->data[0].v_pointer = publishing_facebook_album_ref (src_value->data[0].v_pointer);
#line 1430 "FacebookPublishing.c"
	} else {
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		dest_value->data[0].v_pointer = NULL;
#line 1434 "FacebookPublishing.c"
	}
}


static gpointer
publishing_facebook_value_album_peek_pointer (const GValue* value)
{
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return value->data[0].v_pointer;
#line 1444 "FacebookPublishing.c"
}


static gchar*
publishing_facebook_value_album_collect_value (GValue* value,
                                               guint n_collect_values,
                                               GTypeCValue* collect_values,
                                               guint collect_flags)
{
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (collect_values[0].v_pointer) {
#line 1456 "FacebookPublishing.c"
		PublishingFacebookAlbum * object;
		object = collect_values[0].v_pointer;
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		if (object->parent_instance.g_class == NULL) {
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 1463 "FacebookPublishing.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.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 1467 "FacebookPublishing.c"
		}
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = publishing_facebook_album_ref (object);
#line 1471 "FacebookPublishing.c"
	} else {
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = NULL;
#line 1475 "FacebookPublishing.c"
	}
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return NULL;
#line 1479 "FacebookPublishing.c"
}


static gchar*
publishing_facebook_value_album_lcopy_value (const GValue* value,
                                             guint n_collect_values,
                                             GTypeCValue* collect_values,
                                             guint collect_flags)
{
	PublishingFacebookAlbum ** object_p;
	object_p = collect_values[0].v_pointer;
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!object_p) {
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 1495 "FacebookPublishing.c"
	}
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!value->data[0].v_pointer) {
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*object_p = NULL;
#line 1501 "FacebookPublishing.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*object_p = value->data[0].v_pointer;
#line 1505 "FacebookPublishing.c"
	} else {
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*object_p = publishing_facebook_album_ref (value->data[0].v_pointer);
#line 1509 "FacebookPublishing.c"
	}
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return NULL;
#line 1513 "FacebookPublishing.c"
}


GParamSpec*
publishing_facebook_param_spec_album (const gchar* name,
                                      const gchar* nick,
                                      const gchar* blurb,
                                      GType object_type,
                                      GParamFlags flags)
{
	PublishingFacebookParamSpecAlbum* spec;
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_FACEBOOK_TYPE_ALBUM), NULL);
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return G_PARAM_SPEC (spec);
#line 1533 "FacebookPublishing.c"
}


gpointer
publishing_facebook_value_get_album (const GValue* value)
{
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_TYPE_ALBUM), NULL);
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return value->data[0].v_pointer;
#line 1544 "FacebookPublishing.c"
}


void
publishing_facebook_value_set_album (GValue* value,
                                     gpointer v_object)
{
	PublishingFacebookAlbum * old;
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_TYPE_ALBUM));
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	old = value->data[0].v_pointer;
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (v_object) {
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FACEBOOK_TYPE_ALBUM));
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = v_object;
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_album_ref (value->data[0].v_pointer);
#line 1567 "FacebookPublishing.c"
	} else {
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = NULL;
#line 1571 "FacebookPublishing.c"
	}
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (old) {
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_album_unref (old);
#line 1577 "FacebookPublishing.c"
	}
}


void
publishing_facebook_value_take_album (GValue* value,
                                      gpointer v_object)
{
	PublishingFacebookAlbum * old;
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_TYPE_ALBUM));
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	old = value->data[0].v_pointer;
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (v_object) {
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FACEBOOK_TYPE_ALBUM));
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = v_object;
#line 1599 "FacebookPublishing.c"
	} else {
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = NULL;
#line 1603 "FacebookPublishing.c"
	}
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (old) {
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_album_unref (old);
#line 1609 "FacebookPublishing.c"
	}
}


static void
publishing_facebook_album_class_init (PublishingFacebookAlbumClass * klass)
{
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_album_parent_class = g_type_class_peek_parent (klass);
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	((PublishingFacebookAlbumClass *) klass)->finalize = publishing_facebook_album_finalize;
#line 1621 "FacebookPublishing.c"
}


static void
publishing_facebook_album_instance_init (PublishingFacebookAlbum * self)
{
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->ref_count = 1;
#line 1630 "FacebookPublishing.c"
}


static void
publishing_facebook_album_finalize (PublishingFacebookAlbum * obj)
{
	PublishingFacebookAlbum * self;
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FACEBOOK_TYPE_ALBUM, PublishingFacebookAlbum);
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_destroy (self);
#line 65 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (self->name);
#line 66 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (self->id);
#line 1646 "FacebookPublishing.c"
}


GType
publishing_facebook_album_get_type (void)
{
	static volatile gsize publishing_facebook_album_type_id__volatile = 0;
	if (g_once_init_enter (&publishing_facebook_album_type_id__volatile)) {
		static const GTypeValueTable g_define_type_value_table = { publishing_facebook_value_album_init, publishing_facebook_value_album_free_value, publishing_facebook_value_album_copy_value, publishing_facebook_value_album_peek_pointer, "p", publishing_facebook_value_album_collect_value, "p", publishing_facebook_value_album_lcopy_value };
		static const GTypeInfo g_define_type_info = { sizeof (PublishingFacebookAlbumClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_facebook_album_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFacebookAlbum), 0, (GInstanceInitFunc) publishing_facebook_album_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 publishing_facebook_album_type_id;
		publishing_facebook_album_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingFacebookAlbum", &g_define_type_info, &g_define_type_fundamental_info, 0);
		g_once_init_leave (&publishing_facebook_album_type_id__volatile, publishing_facebook_album_type_id);
	}
	return publishing_facebook_album_type_id__volatile;
}


gpointer
publishing_facebook_album_ref (gpointer instance)
{
	PublishingFacebookAlbum * self;
	self = instance;
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_atomic_int_inc (&self->ref_count);
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return instance;
#line 1675 "FacebookPublishing.c"
}


void
publishing_facebook_album_unref (gpointer instance)
{
	PublishingFacebookAlbum * self;
	self = instance;
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		PUBLISHING_FACEBOOK_ALBUM_GET_CLASS (self)->finalize (self);
#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 1690 "FacebookPublishing.c"
	}
}


gchar*
publishing_facebook_resolution_get_name (PublishingFacebookResolution self)
{
	gchar* result = NULL;
#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	switch (self) {
#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		case PUBLISHING_FACEBOOK_RESOLUTION_STANDARD:
#line 1703 "FacebookPublishing.c"
		{
			gchar* _tmp0_;
#line 81 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp0_ = g_strdup (_ ("Standard (720 pixels)"));
#line 81 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			result = _tmp0_;
#line 81 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			return result;
#line 1712 "FacebookPublishing.c"
		}
#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		case PUBLISHING_FACEBOOK_RESOLUTION_HIGH:
#line 1716 "FacebookPublishing.c"
		{
			gchar* _tmp1_;
#line 84 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp1_ = g_strdup (_ ("Large (2048 pixels)"));
#line 84 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			result = _tmp1_;
#line 84 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			return result;
#line 1725 "FacebookPublishing.c"
		}
		default:
		{
			GEnumValue* _tmp2_;
#line 87 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp2_ = g_enum_get_value (g_type_class_ref (PUBLISHING_FACEBOOK_TYPE_RESOLUTION), self);
#line 87 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			g_error ("FacebookPublishing.vala:87: Unknown resolution %s", (_tmp2_ != NULL) ? _tmp2_->value_name : NULL);
#line 1734 "FacebookPublishing.c"
		}
	}
}


gint
publishing_facebook_resolution_get_pixels (PublishingFacebookResolution self)
{
	gint result = 0;
#line 92 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	switch (self) {
#line 92 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		case PUBLISHING_FACEBOOK_RESOLUTION_STANDARD:
#line 1748 "FacebookPublishing.c"
		{
#line 94 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			result = 720;
#line 94 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			return result;
#line 1754 "FacebookPublishing.c"
		}
#line 92 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		case PUBLISHING_FACEBOOK_RESOLUTION_HIGH:
#line 1758 "FacebookPublishing.c"
		{
#line 97 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			result = 2048;
#line 97 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			return result;
#line 1764 "FacebookPublishing.c"
		}
		default:
		{
			GEnumValue* _tmp0_;
#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp0_ = g_enum_get_value (g_type_class_ref (PUBLISHING_FACEBOOK_TYPE_RESOLUTION), self);
#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			g_error ("FacebookPublishing.vala:100: Unknown resolution %s", (_tmp0_ != NULL) ? _tmp0_->value_name : NULL);
#line 1773 "FacebookPublishing.c"
		}
	}
}


GType
publishing_facebook_resolution_get_type (void)
{
	static volatile gsize publishing_facebook_resolution_type_id__volatile = 0;
	if (g_once_init_enter (&publishing_facebook_resolution_type_id__volatile)) {
		static const GEnumValue values[] = {{PUBLISHING_FACEBOOK_RESOLUTION_STANDARD, "PUBLISHING_FACEBOOK_RESOLUTION_STANDARD", "standard"}, {PUBLISHING_FACEBOOK_RESOLUTION_HIGH, "PUBLISHING_FACEBOOK_RESOLUTION_HIGH", "high"}, {0, NULL, NULL}};
		GType publishing_facebook_resolution_type_id;
		publishing_facebook_resolution_type_id = g_enum_register_static ("PublishingFacebookResolution", values);
		g_once_init_leave (&publishing_facebook_resolution_type_id__volatile, publishing_facebook_resolution_type_id);
	}
	return publishing_facebook_resolution_type_id__volatile;
}


PublishingFacebookPublishingParameters*
publishing_facebook_publishing_parameters_construct (GType object_type)
{
	PublishingFacebookPublishingParameters* self = NULL;
#line 119 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = (PublishingFacebookPublishingParameters*) g_type_create_instance (object_type);
#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->albums = (_vala_array_free (self->albums, self->albums_length1, (GDestroyNotify) publishing_facebook_album_unref), NULL);
#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->albums = NULL;
#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->albums_length1 = 0;
#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->_albums_size_ = self->albums_length1;
#line 121 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (self->privacy_object);
#line 121 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->privacy_object = NULL;
#line 122 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->target_album = PUBLISHING_FACEBOOK_PUBLISHING_PARAMETERS_UNKNOWN_ALBUM;
#line 123 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (self->new_album_name);
#line 123 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->new_album_name = NULL;
#line 124 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->strip_metadata = FALSE;
#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->resolution = PUBLISHING_FACEBOOK_RESOLUTION_HIGH;
#line 119 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return self;
#line 1823 "FacebookPublishing.c"
}


PublishingFacebookPublishingParameters*
publishing_facebook_publishing_parameters_new (void)
{
#line 119 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return publishing_facebook_publishing_parameters_construct (PUBLISHING_FACEBOOK_TYPE_PUBLISHING_PARAMETERS);
#line 1832 "FacebookPublishing.c"
}


static gpointer
_publishing_facebook_album_ref0 (gpointer self)
{
#line 133 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return self ? publishing_facebook_album_ref (self) : NULL;
#line 1841 "FacebookPublishing.c"
}


static void
_vala_array_add7 (PublishingFacebookAlbum** * array,
                  int* length,
                  int* size,
                  PublishingFacebookAlbum* value)
{
#line 133 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if ((*length) == (*size)) {
#line 133 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 133 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*array = g_renew (PublishingFacebookAlbum*, *array, (*size) + 1);
#line 1857 "FacebookPublishing.c"
	}
#line 133 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	(*array)[(*length)++] = value;
#line 133 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	(*array)[*length] = NULL;
#line 1863 "FacebookPublishing.c"
}


void
publishing_facebook_publishing_parameters_add_album (PublishingFacebookPublishingParameters* self,
                                                     const gchar* name,
                                                     const gchar* id)
{
	PublishingFacebookAlbum** _tmp0_;
	gint _tmp0__length1;
	PublishingFacebookAlbum* new_album = NULL;
	PublishingFacebookAlbum* _tmp2_;
	PublishingFacebookAlbum** _tmp3_;
	gint _tmp3__length1;
	PublishingFacebookAlbum* _tmp4_;
#line 128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_PARAMETERS (self));
#line 128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (name != NULL);
#line 128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (id != NULL);
#line 129 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->albums;
#line 129 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0__length1 = self->albums_length1;
#line 129 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (_tmp0_ == NULL) {
#line 1891 "FacebookPublishing.c"
		PublishingFacebookAlbum** _tmp1_;
#line 130 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp1_ = g_new0 (PublishingFacebookAlbum*, 0 + 1);
#line 130 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		self->albums = (_vala_array_free (self->albums, self->albums_length1, (GDestroyNotify) publishing_facebook_album_unref), NULL);
#line 130 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		self->albums = _tmp1_;
#line 130 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		self->albums_length1 = 0;
#line 130 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		self->_albums_size_ = self->albums_length1;
#line 1903 "FacebookPublishing.c"
	}
#line 132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = publishing_facebook_album_new (name, id);
#line 132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	new_album = _tmp2_;
#line 133 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3_ = self->albums;
#line 133 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3__length1 = self->albums_length1;
#line 133 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp4_ = _publishing_facebook_album_ref0 (new_album);
#line 133 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_vala_array_add7 (&self->albums, &self->albums_length1, &self->_albums_size_, _tmp4_);
#line 128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_publishing_facebook_album_unref0 (new_album);
#line 1919 "FacebookPublishing.c"
}


void
publishing_facebook_publishing_parameters_set_target_album_by_name (PublishingFacebookPublishingParameters* self,
                                                                    const gchar* name)
{
#line 136 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_PARAMETERS (self));
#line 137 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (name == NULL) {
#line 138 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		self->target_album = PUBLISHING_FACEBOOK_PUBLISHING_PARAMETERS_UNKNOWN_ALBUM;
#line 139 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return;
#line 1935 "FacebookPublishing.c"
	}
	{
		gint i = 0;
#line 142 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		i = 0;
#line 1941 "FacebookPublishing.c"
		{
			gboolean _tmp0_ = FALSE;
#line 142 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp0_ = TRUE;
#line 142 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			while (TRUE) {
#line 1948 "FacebookPublishing.c"
				gint _tmp2_;
				PublishingFacebookAlbum** _tmp3_;
				gint _tmp3__length1;
				PublishingFacebookAlbum** _tmp4_;
				gint _tmp4__length1;
				gint _tmp5_;
				PublishingFacebookAlbum* _tmp6_;
				const gchar* _tmp7_;
#line 142 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				if (!_tmp0_) {
#line 1959 "FacebookPublishing.c"
					gint _tmp1_;
#line 142 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					_tmp1_ = i;
#line 142 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					i = _tmp1_ + 1;
#line 1965 "FacebookPublishing.c"
				}
#line 142 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp0_ = FALSE;
#line 142 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp2_ = i;
#line 142 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp3_ = self->albums;
#line 142 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp3__length1 = self->albums_length1;
#line 142 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				if (!(_tmp2_ < _tmp3__length1)) {
#line 142 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					break;
#line 1979 "FacebookPublishing.c"
				}
#line 144 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp4_ = self->albums;
#line 144 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp4__length1 = self->albums_length1;
#line 144 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp5_ = i;
#line 144 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp6_ = _tmp4_[_tmp5_];
#line 144 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp7_ = _tmp6_->name;
#line 144 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				if (g_strcmp0 (_tmp7_, name) == 0) {
#line 1993 "FacebookPublishing.c"
					gint _tmp8_;
#line 145 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					_tmp8_ = i;
#line 145 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					self->target_album = _tmp8_;
#line 146 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					return;
#line 2001 "FacebookPublishing.c"
				}
			}
		}
	}
#line 150 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->target_album = PUBLISHING_FACEBOOK_PUBLISHING_PARAMETERS_UNKNOWN_ALBUM;
#line 2008 "FacebookPublishing.c"
}


gchar*
publishing_facebook_publishing_parameters_get_target_album_name (PublishingFacebookPublishingParameters* self)
{
	gchar* result = NULL;
	gboolean _tmp0_ = FALSE;
	PublishingFacebookAlbum** _tmp1_;
	gint _tmp1__length1;
	PublishingFacebookAlbum** _tmp3_;
	gint _tmp3__length1;
	gint _tmp4_;
	PublishingFacebookAlbum* _tmp5_;
	const gchar* _tmp6_;
	gchar* _tmp7_;
#line 153 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_PARAMETERS (self), NULL);
#line 154 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = self->albums;
#line 154 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1__length1 = self->albums_length1;
#line 154 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (_tmp1_ == NULL) {
#line 154 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp0_ = TRUE;
#line 2035 "FacebookPublishing.c"
	} else {
		gint _tmp2_;
#line 154 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp2_ = self->target_album;
#line 154 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp0_ = _tmp2_ == PUBLISHING_FACEBOOK_PUBLISHING_PARAMETERS_UNKNOWN_ALBUM;
#line 2042 "FacebookPublishing.c"
	}
#line 154 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (_tmp0_) {
#line 155 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		result = NULL;
#line 155 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return result;
#line 2050 "FacebookPublishing.c"
	}
#line 157 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3_ = self->albums;
#line 157 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3__length1 = self->albums_length1;
#line 157 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp4_ = self->target_album;
#line 157 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp5_ = _tmp3_[_tmp4_];
#line 157 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp6_ = _tmp5_->name;
#line 157 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp7_ = g_strdup (_tmp6_);
#line 157 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	result = _tmp7_;
#line 157 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return result;
#line 2068 "FacebookPublishing.c"
}


gchar*
publishing_facebook_publishing_parameters_get_target_album_id (PublishingFacebookPublishingParameters* self)
{
	gchar* result = NULL;
	gboolean _tmp0_ = FALSE;
	PublishingFacebookAlbum** _tmp1_;
	gint _tmp1__length1;
	PublishingFacebookAlbum** _tmp3_;
	gint _tmp3__length1;
	gint _tmp4_;
	PublishingFacebookAlbum* _tmp5_;
	const gchar* _tmp6_;
	gchar* _tmp7_;
#line 160 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_PARAMETERS (self), NULL);
#line 161 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = self->albums;
#line 161 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1__length1 = self->albums_length1;
#line 161 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (_tmp1_ == NULL) {
#line 161 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp0_ = TRUE;
#line 2095 "FacebookPublishing.c"
	} else {
		gint _tmp2_;
#line 161 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp2_ = self->target_album;
#line 161 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp0_ = _tmp2_ == PUBLISHING_FACEBOOK_PUBLISHING_PARAMETERS_UNKNOWN_ALBUM;
#line 2102 "FacebookPublishing.c"
	}
#line 161 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (_tmp0_) {
#line 162 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		result = NULL;
#line 162 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return result;
#line 2110 "FacebookPublishing.c"
	}
#line 164 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3_ = self->albums;
#line 164 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3__length1 = self->albums_length1;
#line 164 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp4_ = self->target_album;
#line 164 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp5_ = _tmp3_[_tmp4_];
#line 164 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp6_ = _tmp5_->id;
#line 164 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp7_ = g_strdup (_tmp6_);
#line 164 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	result = _tmp7_;
#line 164 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return result;
#line 2128 "FacebookPublishing.c"
}


static void
publishing_facebook_value_publishing_parameters_init (GValue* value)
{
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	value->data[0].v_pointer = NULL;
#line 2137 "FacebookPublishing.c"
}


static void
publishing_facebook_value_publishing_parameters_free_value (GValue* value)
{
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (value->data[0].v_pointer) {
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_publishing_parameters_unref (value->data[0].v_pointer);
#line 2148 "FacebookPublishing.c"
	}
}


static void
publishing_facebook_value_publishing_parameters_copy_value (const GValue* src_value,
                                                            GValue* dest_value)
{
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (src_value->data[0].v_pointer) {
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		dest_value->data[0].v_pointer = publishing_facebook_publishing_parameters_ref (src_value->data[0].v_pointer);
#line 2161 "FacebookPublishing.c"
	} else {
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		dest_value->data[0].v_pointer = NULL;
#line 2165 "FacebookPublishing.c"
	}
}


static gpointer
publishing_facebook_value_publishing_parameters_peek_pointer (const GValue* value)
{
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return value->data[0].v_pointer;
#line 2175 "FacebookPublishing.c"
}


static gchar*
publishing_facebook_value_publishing_parameters_collect_value (GValue* value,
                                                               guint n_collect_values,
                                                               GTypeCValue* collect_values,
                                                               guint collect_flags)
{
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (collect_values[0].v_pointer) {
#line 2187 "FacebookPublishing.c"
		PublishingFacebookPublishingParameters * object;
		object = collect_values[0].v_pointer;
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		if (object->parent_instance.g_class == NULL) {
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 2194 "FacebookPublishing.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.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 2198 "FacebookPublishing.c"
		}
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = publishing_facebook_publishing_parameters_ref (object);
#line 2202 "FacebookPublishing.c"
	} else {
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = NULL;
#line 2206 "FacebookPublishing.c"
	}
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return NULL;
#line 2210 "FacebookPublishing.c"
}


static gchar*
publishing_facebook_value_publishing_parameters_lcopy_value (const GValue* value,
                                                             guint n_collect_values,
                                                             GTypeCValue* collect_values,
                                                             guint collect_flags)
{
	PublishingFacebookPublishingParameters ** object_p;
	object_p = collect_values[0].v_pointer;
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!object_p) {
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 2226 "FacebookPublishing.c"
	}
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!value->data[0].v_pointer) {
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*object_p = NULL;
#line 2232 "FacebookPublishing.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*object_p = value->data[0].v_pointer;
#line 2236 "FacebookPublishing.c"
	} else {
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*object_p = publishing_facebook_publishing_parameters_ref (value->data[0].v_pointer);
#line 2240 "FacebookPublishing.c"
	}
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return NULL;
#line 2244 "FacebookPublishing.c"
}


GParamSpec*
publishing_facebook_param_spec_publishing_parameters (const gchar* name,
                                                      const gchar* nick,
                                                      const gchar* blurb,
                                                      GType object_type,
                                                      GParamFlags flags)
{
	PublishingFacebookParamSpecPublishingParameters* spec;
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_FACEBOOK_TYPE_PUBLISHING_PARAMETERS), NULL);
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return G_PARAM_SPEC (spec);
#line 2264 "FacebookPublishing.c"
}


gpointer
publishing_facebook_value_get_publishing_parameters (const GValue* value)
{
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_TYPE_PUBLISHING_PARAMETERS), NULL);
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return value->data[0].v_pointer;
#line 2275 "FacebookPublishing.c"
}


void
publishing_facebook_value_set_publishing_parameters (GValue* value,
                                                     gpointer v_object)
{
	PublishingFacebookPublishingParameters * old;
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_TYPE_PUBLISHING_PARAMETERS));
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	old = value->data[0].v_pointer;
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (v_object) {
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FACEBOOK_TYPE_PUBLISHING_PARAMETERS));
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = v_object;
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_publishing_parameters_ref (value->data[0].v_pointer);
#line 2298 "FacebookPublishing.c"
	} else {
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = NULL;
#line 2302 "FacebookPublishing.c"
	}
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (old) {
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_publishing_parameters_unref (old);
#line 2308 "FacebookPublishing.c"
	}
}


void
publishing_facebook_value_take_publishing_parameters (GValue* value,
                                                      gpointer v_object)
{
	PublishingFacebookPublishingParameters * old;
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_TYPE_PUBLISHING_PARAMETERS));
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	old = value->data[0].v_pointer;
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (v_object) {
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FACEBOOK_TYPE_PUBLISHING_PARAMETERS));
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = v_object;
#line 2330 "FacebookPublishing.c"
	} else {
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = NULL;
#line 2334 "FacebookPublishing.c"
	}
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (old) {
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_publishing_parameters_unref (old);
#line 2340 "FacebookPublishing.c"
	}
}


static void
publishing_facebook_publishing_parameters_class_init (PublishingFacebookPublishingParametersClass * klass)
{
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_publishing_parameters_parent_class = g_type_class_peek_parent (klass);
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	((PublishingFacebookPublishingParametersClass *) klass)->finalize = publishing_facebook_publishing_parameters_finalize;
#line 2352 "FacebookPublishing.c"
}


static void
publishing_facebook_publishing_parameters_instance_init (PublishingFacebookPublishingParameters * self)
{
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->ref_count = 1;
#line 2361 "FacebookPublishing.c"
}


static void
publishing_facebook_publishing_parameters_finalize (PublishingFacebookPublishingParameters * obj)
{
	PublishingFacebookPublishingParameters * self;
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FACEBOOK_TYPE_PUBLISHING_PARAMETERS, PublishingFacebookPublishingParameters);
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_destroy (self);
#line 109 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->albums = (_vala_array_free (self->albums, self->albums_length1, (GDestroyNotify) publishing_facebook_album_unref), NULL);
#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (self->new_album_name);
#line 115 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (self->privacy_object);
#line 2379 "FacebookPublishing.c"
}


GType
publishing_facebook_publishing_parameters_get_type (void)
{
	static volatile gsize publishing_facebook_publishing_parameters_type_id__volatile = 0;
	if (g_once_init_enter (&publishing_facebook_publishing_parameters_type_id__volatile)) {
		static const GTypeValueTable g_define_type_value_table = { publishing_facebook_value_publishing_parameters_init, publishing_facebook_value_publishing_parameters_free_value, publishing_facebook_value_publishing_parameters_copy_value, publishing_facebook_value_publishing_parameters_peek_pointer, "p", publishing_facebook_value_publishing_parameters_collect_value, "p", publishing_facebook_value_publishing_parameters_lcopy_value };
		static const GTypeInfo g_define_type_info = { sizeof (PublishingFacebookPublishingParametersClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_facebook_publishing_parameters_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFacebookPublishingParameters), 0, (GInstanceInitFunc) publishing_facebook_publishing_parameters_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 publishing_facebook_publishing_parameters_type_id;
		publishing_facebook_publishing_parameters_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingFacebookPublishingParameters", &g_define_type_info, &g_define_type_fundamental_info, 0);
		g_once_init_leave (&publishing_facebook_publishing_parameters_type_id__volatile, publishing_facebook_publishing_parameters_type_id);
	}
	return publishing_facebook_publishing_parameters_type_id__volatile;
}


gpointer
publishing_facebook_publishing_parameters_ref (gpointer instance)
{
	PublishingFacebookPublishingParameters * self;
	self = instance;
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_atomic_int_inc (&self->ref_count);
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return instance;
#line 2408 "FacebookPublishing.c"
}


void
publishing_facebook_publishing_parameters_unref (gpointer instance)
{
	PublishingFacebookPublishingParameters * self;
	self = instance;
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		PUBLISHING_FACEBOOK_PUBLISHING_PARAMETERS_GET_CLASS (self)->finalize (self);
#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 2423 "FacebookPublishing.c"
	}
}


static void
_publishing_facebook_facebook_publisher_on_session_authenticated_publishing_facebook_graph_session_authenticated (PublishingFacebookGraphSession* _sender,
                                                                                                                  gpointer self)
{
#line 194 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_on_session_authenticated ((PublishingFacebookFacebookPublisher*) self);
#line 2434 "FacebookPublishing.c"
}


PublishingFacebookFacebookPublisher*
publishing_facebook_facebook_publisher_construct (GType object_type,
                                                  SpitPublishingService* service,
                                                  SpitPublishingPluginHost* host)
{
	PublishingFacebookFacebookPublisher * self = NULL;
	PublishingFacebookPublishingParameters* _tmp0_;
	PublishingAuthenticatorFactory* _tmp1_;
	PublishingAuthenticatorFactory* _tmp2_;
	SpitPublishingAuthenticator* _tmp3_;
	PublishingFacebookGraphSession* _tmp4_;
	PublishingFacebookGraphSession* _tmp5_;
#line 181 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (SPIT_PUBLISHING_IS_SERVICE (service), NULL);
#line 181 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (host), NULL);
#line 181 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = (PublishingFacebookFacebookPublisher*) g_object_new (object_type, NULL);
#line 183 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_debug ("FacebookPublishing.vala:183: FacebookPublisher instantiated.");
#line 185 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->service = service;
#line 186 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->host = host;
#line 188 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = publishing_facebook_publishing_parameters_new ();
#line 188 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_publishing_facebook_publishing_parameters_unref0 (self->priv->publishing_params);
#line 188 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->publishing_params = _tmp0_;
#line 189 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = publishing_authenticator_factory_get_instance ();
#line 189 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = _tmp1_;
#line 189 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3_ = spit_publishing_authenticator_factory_create (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, SPIT_PUBLISHING_TYPE_AUTHENTICATOR_FACTORY, SpitPublishingAuthenticatorFactory), "facebook", host);
#line 189 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->authenticator);
#line 189 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->authenticator = _tmp3_;
#line 189 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (_tmp2_);
#line 193 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp4_ = publishing_facebook_graph_session_new ();
#line 193 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_publishing_facebook_graph_session_unref0 (self->priv->graph_session);
#line 193 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->graph_session = _tmp4_;
#line 194 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp5_ = self->priv->graph_session;
#line 194 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_connect_object (_tmp5_, "authenticated", (GCallback) _publishing_facebook_facebook_publisher_on_session_authenticated_publishing_facebook_graph_session_authenticated, self, 0);
#line 181 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return self;
#line 2492 "FacebookPublishing.c"
}


PublishingFacebookFacebookPublisher*
publishing_facebook_facebook_publisher_new (SpitPublishingService* service,
                                            SpitPublishingPluginHost* host)
{
#line 181 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return publishing_facebook_facebook_publisher_construct (PUBLISHING_FACEBOOK_TYPE_FACEBOOK_PUBLISHER, service, host);
#line 2502 "FacebookPublishing.c"
}


static gboolean
publishing_facebook_facebook_publisher_get_persistent_strip_metadata (PublishingFacebookFacebookPublisher* self)
{
	gboolean result = FALSE;
	SpitPublishingPluginHost* _tmp0_;
#line 197 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self), FALSE);
#line 198 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->host;
#line 198 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	result = spit_host_interface_get_config_bool (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "strip_metadata", FALSE);
#line 198 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return result;
#line 2519 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_set_persistent_strip_metadata (PublishingFacebookFacebookPublisher* self,
                                                                      gboolean strip_metadata)
{
	SpitPublishingPluginHost* _tmp0_;
#line 201 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self));
#line 202 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->host;
#line 202 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	spit_host_interface_set_config_bool (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "strip_metadata", strip_metadata);
#line 2534 "FacebookPublishing.c"
}


gint
publishing_facebook_facebook_publisher_get_persistent_default_size (PublishingFacebookFacebookPublisher* self)
{
	gint result = 0;
	SpitPublishingPluginHost* _tmp0_;
#line 207 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self), 0);
#line 208 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->host;
#line 208 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	result = spit_host_interface_get_config_int (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "default_size", 0);
#line 208 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return result;
#line 2551 "FacebookPublishing.c"
}


void
publishing_facebook_facebook_publisher_set_persistent_default_size (PublishingFacebookFacebookPublisher* self,
                                                                    gint size)
{
	SpitPublishingPluginHost* _tmp0_;
#line 211 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self));
#line 212 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->host;
#line 212 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	spit_host_interface_set_config_int (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "default_size", size);
#line 2566 "FacebookPublishing.c"
}


static void
_publishing_facebook_facebook_publisher_on_fetch_user_info_completed_publishing_facebook_graph_message_completed (PublishingFacebookGraphMessage* _sender,
                                                                                                                  gpointer self)
{
#line 238 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_on_fetch_user_info_completed ((PublishingFacebookFacebookPublisher*) self, _sender);
#line 2576 "FacebookPublishing.c"
}


static void
_publishing_facebook_facebook_publisher_on_fetch_user_info_error_publishing_facebook_graph_message_failed (PublishingFacebookGraphMessage* _sender,
                                                                                                           GError* err,
                                                                                                           gpointer self)
{
#line 239 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_on_fetch_user_info_error ((PublishingFacebookFacebookPublisher*) self, _sender, err);
#line 2587 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_do_fetch_user_info (PublishingFacebookFacebookPublisher* self)
{
	SpitPublishingPluginHost* _tmp0_;
	SpitPublishingPluginHost* _tmp1_;
	PublishingFacebookGraphMessage* user_info_message = NULL;
	PublishingFacebookGraphSession* _tmp2_;
	PublishingFacebookGraphMessage* _tmp3_;
	PublishingFacebookGraphSession* _tmp4_;
#line 230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self));
#line 231 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_debug ("FacebookPublishing.vala:231: ACTION: fetching user information.");
#line 233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->host;
#line 233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	spit_publishing_plugin_host_set_service_locked (_tmp0_, TRUE);
#line 234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = self->priv->host;
#line 234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	spit_publishing_plugin_host_install_account_fetch_wait_pane (_tmp1_);
#line 236 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = self->priv->graph_session;
#line 236 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3_ = publishing_facebook_graph_session_new_query (_tmp2_, "/me");
#line 236 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	user_info_message = _tmp3_;
#line 238 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_connect_object (user_info_message, "completed", (GCallback) _publishing_facebook_facebook_publisher_on_fetch_user_info_completed_publishing_facebook_graph_message_completed, self, 0);
#line 239 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_connect_object (user_info_message, "failed", (GCallback) _publishing_facebook_facebook_publisher_on_fetch_user_info_error_publishing_facebook_graph_message_failed, self, 0);
#line 241 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp4_ = self->priv->graph_session;
#line 241 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_graph_session_send_message (_tmp4_, user_info_message);
#line 230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_publishing_facebook_graph_message_unref0 (user_info_message);
#line 2628 "FacebookPublishing.c"
}


static void
_publishing_facebook_facebook_publisher_on_fetch_albums_completed_publishing_facebook_graph_message_completed (PublishingFacebookGraphMessage* _sender,
                                                                                                               gpointer self)
{
#line 252 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_on_fetch_albums_completed ((PublishingFacebookFacebookPublisher*) self, _sender);
#line 2638 "FacebookPublishing.c"
}


static void
_publishing_facebook_facebook_publisher_on_fetch_albums_error_publishing_facebook_graph_message_failed (PublishingFacebookGraphMessage* _sender,
                                                                                                        GError* err,
                                                                                                        gpointer self)
{
#line 253 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_on_fetch_albums_error ((PublishingFacebookFacebookPublisher*) self, _sender, err);
#line 2649 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_do_fetch_album_descriptions (PublishingFacebookFacebookPublisher* self)
{
	SpitPublishingPluginHost* _tmp0_;
	SpitPublishingPluginHost* _tmp1_;
	PublishingFacebookGraphMessage* albums_message = NULL;
	PublishingFacebookGraphSession* _tmp2_;
	const gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	PublishingFacebookGraphMessage* _tmp6_;
	PublishingFacebookGraphMessage* _tmp7_;
	PublishingFacebookGraphSession* _tmp8_;
#line 244 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self));
#line 245 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_debug ("FacebookPublishing.vala:245: ACTION: fetching album list.");
#line 247 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->host;
#line 247 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	spit_publishing_plugin_host_set_service_locked (_tmp0_, TRUE);
#line 248 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = self->priv->host;
#line 248 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	spit_publishing_plugin_host_install_account_fetch_wait_pane (_tmp1_);
#line 250 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = self->priv->graph_session;
#line 250 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3_ = self->priv->uid;
#line 250 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp4_ = g_strdup_printf ("/%s/albums", _tmp3_);
#line 250 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp5_ = _tmp4_;
#line 250 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp6_ = publishing_facebook_graph_session_new_query (_tmp2_, _tmp5_);
#line 250 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp7_ = _tmp6_;
#line 250 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (_tmp5_);
#line 250 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	albums_message = _tmp7_;
#line 252 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_connect_object (albums_message, "completed", (GCallback) _publishing_facebook_facebook_publisher_on_fetch_albums_completed_publishing_facebook_graph_message_completed, self, 0);
#line 253 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_connect_object (albums_message, "failed", (GCallback) _publishing_facebook_facebook_publisher_on_fetch_albums_error_publishing_facebook_graph_message_failed, self, 0);
#line 255 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp8_ = self->priv->graph_session;
#line 255 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_graph_session_send_message (_tmp8_, albums_message);
#line 244 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_publishing_facebook_graph_message_unref0 (albums_message);
#line 2704 "FacebookPublishing.c"
}


static JsonNode*
_vala_JsonNode_copy (JsonNode* self)
{
#line 265 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return g_boxed_copy (json_node_get_type (), self);
#line 2713 "FacebookPublishing.c"
}


static gpointer
__vala_JsonNode_copy0 (gpointer self)
{
#line 265 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return self ? _vala_JsonNode_copy (self) : NULL;
#line 2722 "FacebookPublishing.c"
}


static gpointer
_json_object_ref0 (gpointer self)
{
#line 266 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return self ? json_object_ref (self) : NULL;
#line 2731 "FacebookPublishing.c"
}


static void
_vala_JsonNode_free (JsonNode* self)
{
#line 261 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_boxed_free (json_node_get_type (), self);
#line 2740 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_do_extract_user_info_from_json (PublishingFacebookFacebookPublisher* self,
                                                                       const gchar* json)
{
	GError * _inner_error_ = NULL;
#line 258 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self));
#line 258 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (json != NULL);
#line 259 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_debug ("FacebookPublishing.vala:259: ACTION: extracting user info from JSON re" \
"sponse.");
#line 2755 "FacebookPublishing.c"
	{
		JsonParser* parser = NULL;
		JsonParser* _tmp0_;
		JsonParser* _tmp1_;
		JsonNode* root = NULL;
		JsonParser* _tmp2_;
		JsonNode* _tmp3_;
		JsonNode* _tmp4_;
		JsonObject* response_object = NULL;
		JsonNode* _tmp5_;
		JsonObject* _tmp6_;
		JsonObject* _tmp7_;
		JsonObject* _tmp8_;
		const gchar* _tmp9_;
		gchar* _tmp10_;
		JsonObject* _tmp11_;
		const gchar* _tmp12_;
		gchar* _tmp13_;
#line 262 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp0_ = json_parser_new ();
#line 262 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		parser = _tmp0_;
#line 263 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp1_ = parser;
#line 263 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		json_parser_load_from_data (_tmp1_, json, (gssize) -1, &_inner_error_);
#line 263 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 263 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_g_object_unref0 (parser);
#line 2786 "FacebookPublishing.c"
			goto __catch0_g_error;
		}
#line 265 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp2_ = parser;
#line 265 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp3_ = json_parser_get_root (_tmp2_);
#line 265 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp4_ = __vala_JsonNode_copy0 (_tmp3_);
#line 265 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		root = _tmp4_;
#line 266 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp5_ = root;
#line 266 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp6_ = json_node_get_object (_tmp5_);
#line 266 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp7_ = _json_object_ref0 (_tmp6_);
#line 266 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		response_object = _tmp7_;
#line 267 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp8_ = response_object;
#line 267 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp9_ = json_object_get_string_member (_tmp8_, "id");
#line 267 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp10_ = g_strdup (_tmp9_);
#line 267 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_free0 (self->priv->uid);
#line 267 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		self->priv->uid = _tmp10_;
#line 268 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp11_ = response_object;
#line 268 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp12_ = json_object_get_string_member (_tmp11_, "name");
#line 268 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp13_ = g_strdup (_tmp12_);
#line 268 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_free0 (self->priv->username);
#line 268 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		self->priv->username = _tmp13_;
#line 261 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_json_object_unref0 (response_object);
#line 261 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		__vala_JsonNode_free0 (root);
#line 261 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_object_unref0 (parser);
#line 2831 "FacebookPublishing.c"
	}
	goto __finally0;
	__catch0_g_error:
	{
		GError* _error_ = NULL;
		SpitPublishingPluginHost* _tmp14_;
		GError* _tmp15_;
		const gchar* _tmp16_;
		GError* _tmp17_;
		GError* _tmp18_;
#line 261 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_error_ = _inner_error_;
#line 261 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_inner_error_ = NULL;
#line 270 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp14_ = self->priv->host;
#line 270 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp15_ = _error_;
#line 270 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp16_ = _tmp15_->message;
#line 270 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp17_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, _tmp16_);
#line 270 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp18_ = _tmp17_;
#line 270 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		spit_publishing_plugin_host_post_error (_tmp14_, _tmp18_);
#line 270 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_error_free0 (_tmp18_);
#line 271 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_error_free0 (_error_);
#line 271 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return;
#line 2864 "FacebookPublishing.c"
	}
	__finally0:
#line 261 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 261 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 261 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_clear_error (&_inner_error_);
#line 261 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return;
#line 2875 "FacebookPublishing.c"
	}
#line 274 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_on_user_info_extracted (self);
#line 2879 "FacebookPublishing.c"
}


static gpointer
_json_array_ref0 (gpointer self)
{
#line 286 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return self ? json_array_ref (self) : NULL;
#line 2888 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_do_extract_albums_from_json (PublishingFacebookFacebookPublisher* self,
                                                                    const gchar* json)
{
	GError * _inner_error_ = NULL;
#line 277 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self));
#line 277 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (json != NULL);
#line 278 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_debug ("FacebookPublishing.vala:278: ACTION: extracting album info from JSON r" \
"esponse.");
#line 2903 "FacebookPublishing.c"
	{
		JsonParser* parser = NULL;
		JsonParser* _tmp0_;
		JsonParser* _tmp1_;
		JsonNode* root = NULL;
		JsonParser* _tmp2_;
		JsonNode* _tmp3_;
		JsonNode* _tmp4_;
		JsonObject* response_object = NULL;
		JsonNode* _tmp5_;
		JsonObject* _tmp6_;
		JsonObject* _tmp7_;
		JsonArray* album_list = NULL;
		JsonObject* _tmp8_;
		JsonArray* _tmp9_;
		JsonArray* _tmp10_;
		PublishingFacebookPublishingParameters* _tmp11_;
		PublishingFacebookAlbum** _tmp12_;
#line 281 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp0_ = json_parser_new ();
#line 281 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		parser = _tmp0_;
#line 282 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp1_ = parser;
#line 282 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		json_parser_load_from_data (_tmp1_, json, (gssize) -1, &_inner_error_);
#line 282 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 282 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_g_object_unref0 (parser);
#line 2934 "FacebookPublishing.c"
			goto __catch1_g_error;
		}
#line 284 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp2_ = parser;
#line 284 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp3_ = json_parser_get_root (_tmp2_);
#line 284 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp4_ = __vala_JsonNode_copy0 (_tmp3_);
#line 284 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		root = _tmp4_;
#line 285 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp5_ = root;
#line 285 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp6_ = json_node_get_object (_tmp5_);
#line 285 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp7_ = _json_object_ref0 (_tmp6_);
#line 285 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		response_object = _tmp7_;
#line 286 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp8_ = response_object;
#line 286 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp9_ = json_object_get_array_member (_tmp8_, "data");
#line 286 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp10_ = _json_array_ref0 (_tmp9_);
#line 286 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		album_list = _tmp10_;
#line 288 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp11_ = self->priv->publishing_params;
#line 288 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp12_ = g_new0 (PublishingFacebookAlbum*, 0 + 1);
#line 288 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp11_->albums = (_vala_array_free (_tmp11_->albums, _tmp11_->albums_length1, (GDestroyNotify) publishing_facebook_album_unref), NULL);
#line 288 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp11_->albums = _tmp12_;
#line 288 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp11_->albums_length1 = 0;
#line 288 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp11_->_albums_size_ = _tmp11_->albums_length1;
#line 2973 "FacebookPublishing.c"
		{
			gint i = 0;
#line 290 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			i = 0;
#line 2978 "FacebookPublishing.c"
			{
				gboolean _tmp13_ = FALSE;
#line 290 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp13_ = TRUE;
#line 290 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				while (TRUE) {
#line 2985 "FacebookPublishing.c"
					gint _tmp15_;
					JsonArray* _tmp16_;
					JsonObject* current_album = NULL;
					JsonArray* _tmp17_;
					gint _tmp18_;
					JsonObject* _tmp19_;
					JsonObject* _tmp20_;
					gchar* album_id = NULL;
					JsonObject* _tmp21_;
					const gchar* _tmp22_;
					gchar* _tmp23_;
					gchar* album_name = NULL;
					JsonObject* _tmp24_;
					const gchar* _tmp25_;
					gchar* _tmp26_;
					PublishingFacebookPublishingParameters* _tmp27_;
					const gchar* _tmp28_;
					const gchar* _tmp29_;
#line 290 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					if (!_tmp13_) {
#line 3006 "FacebookPublishing.c"
						gint _tmp14_;
#line 290 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
						_tmp14_ = i;
#line 290 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
						i = _tmp14_ + 1;
#line 3012 "FacebookPublishing.c"
					}
#line 290 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					_tmp13_ = FALSE;
#line 290 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					_tmp15_ = i;
#line 290 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					_tmp16_ = album_list;
#line 290 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					if (!(((guint) _tmp15_) < json_array_get_length (_tmp16_))) {
#line 290 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
						break;
#line 3024 "FacebookPublishing.c"
					}
#line 291 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					_tmp17_ = album_list;
#line 291 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					_tmp18_ = i;
#line 291 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					_tmp19_ = json_array_get_object_element (_tmp17_, (guint) _tmp18_);
#line 291 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					_tmp20_ = _json_object_ref0 (_tmp19_);
#line 291 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					current_album = _tmp20_;
#line 292 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					_tmp21_ = current_album;
#line 292 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					_tmp22_ = json_object_get_string_member (_tmp21_, "id");
#line 292 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					_tmp23_ = g_strdup (_tmp22_);
#line 292 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					album_id = _tmp23_;
#line 293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					_tmp24_ = current_album;
#line 293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					_tmp25_ = json_object_get_string_member (_tmp24_, "name");
#line 293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					_tmp26_ = g_strdup (_tmp25_);
#line 293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					album_name = _tmp26_;
#line 300 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					_tmp27_ = self->priv->publishing_params;
#line 300 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					_tmp28_ = album_name;
#line 300 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					_tmp29_ = album_id;
#line 300 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					publishing_facebook_publishing_parameters_add_album (_tmp27_, _tmp28_, _tmp29_);
#line 290 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					_g_free0 (album_name);
#line 290 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					_g_free0 (album_id);
#line 290 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					_json_object_unref0 (current_album);
#line 3066 "FacebookPublishing.c"
				}
			}
		}
#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_json_array_unref0 (album_list);
#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_json_object_unref0 (response_object);
#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		__vala_JsonNode_free0 (root);
#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_object_unref0 (parser);
#line 3078 "FacebookPublishing.c"
	}
	goto __finally1;
	__catch1_g_error:
	{
		GError* _error_ = NULL;
		SpitPublishingPluginHost* _tmp30_;
		GError* _tmp31_;
		const gchar* _tmp32_;
		GError* _tmp33_;
		GError* _tmp34_;
#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_error_ = _inner_error_;
#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_inner_error_ = NULL;
#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp30_ = self->priv->host;
#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp31_ = _error_;
#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp32_ = _tmp31_->message;
#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp33_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, _tmp32_);
#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp34_ = _tmp33_;
#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		spit_publishing_plugin_host_post_error (_tmp30_, _tmp34_);
#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_error_free0 (_tmp34_);
#line 304 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_error_free0 (_error_);
#line 304 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return;
#line 3111 "FacebookPublishing.c"
	}
	__finally1:
#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_clear_error (&_inner_error_);
#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return;
#line 3122 "FacebookPublishing.c"
	}
#line 307 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_on_albums_extracted (self);
#line 3126 "FacebookPublishing.c"
}


static void
_publishing_facebook_facebook_publisher_on_create_album_completed_publishing_facebook_graph_message_completed (PublishingFacebookGraphMessage* _sender,
                                                                                                               gpointer self)
{
#line 319 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_on_create_album_completed ((PublishingFacebookFacebookPublisher*) self, _sender);
#line 3136 "FacebookPublishing.c"
}


static void
_publishing_facebook_facebook_publisher_on_create_album_error_publishing_facebook_graph_message_failed (PublishingFacebookGraphMessage* _sender,
                                                                                                        GError* err,
                                                                                                        gpointer self)
{
#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_on_create_album_error ((PublishingFacebookFacebookPublisher*) self, _sender, err);
#line 3147 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_do_create_new_album (PublishingFacebookFacebookPublisher* self)
{
	PublishingFacebookPublishingParameters* _tmp0_;
	const gchar* _tmp1_;
	SpitPublishingPluginHost* _tmp2_;
	SpitPublishingPluginHost* _tmp3_;
	PublishingFacebookGraphMessage* create_album_message = NULL;
	PublishingFacebookGraphSession* _tmp4_;
	PublishingFacebookPublishingParameters* _tmp5_;
	const gchar* _tmp6_;
	PublishingFacebookPublishingParameters* _tmp7_;
	const gchar* _tmp8_;
	PublishingFacebookGraphMessage* _tmp9_;
	PublishingFacebookGraphSession* _tmp10_;
#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self));
#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->publishing_params;
#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = _tmp0_->new_album_name;
#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_debug ("FacebookPublishing.vala:311: ACTION: creating a new album named \"%s\"" \
".\n", _tmp1_);
#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = self->priv->host;
#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	spit_publishing_plugin_host_set_service_locked (_tmp2_, TRUE);
#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3_ = self->priv->host;
#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	spit_publishing_plugin_host_install_static_message_pane (_tmp3_, _ ("Creating album…"), SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL);
#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp4_ = self->priv->graph_session;
#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp5_ = self->priv->publishing_params;
#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp6_ = _tmp5_->new_album_name;
#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp7_ = self->priv->publishing_params;
#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp8_ = _tmp7_->privacy_object;
#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp9_ = publishing_facebook_graph_session_new_create_album (_tmp4_, _tmp6_, _tmp8_);
#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	create_album_message = _tmp9_;
#line 319 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_connect_object (create_album_message, "completed", (GCallback) _publishing_facebook_facebook_publisher_on_create_album_completed_publishing_facebook_graph_message_completed, self, 0);
#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_connect_object (create_album_message, "failed", (GCallback) _publishing_facebook_facebook_publisher_on_create_album_error_publishing_facebook_graph_message_failed, self, 0);
#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp10_ = self->priv->graph_session;
#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_graph_session_send_message (_tmp10_, create_album_message);
#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_publishing_facebook_graph_message_unref0 (create_album_message);
#line 3206 "FacebookPublishing.c"
}


static void
_publishing_facebook_facebook_publisher_on_publishing_options_pane_logout_publishing_facebook_publishing_options_pane_logout (PublishingFacebookPublishingOptionsPane* _sender,
                                                                                                                              gpointer self)
{
#line 347 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_on_publishing_options_pane_logout ((PublishingFacebookFacebookPublisher*) self);
#line 3216 "FacebookPublishing.c"
}


static void
_publishing_facebook_facebook_publisher_on_publishing_options_pane_publish_publishing_facebook_publishing_options_pane_publish (PublishingFacebookPublishingOptionsPane* _sender,
                                                                                                                                const gchar* target_album,
                                                                                                                                const gchar* privacy_setting,
                                                                                                                                PublishingFacebookResolution target_resolution,
                                                                                                                                gboolean strip_metadata,
                                                                                                                                gpointer self)
{
#line 348 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_on_publishing_options_pane_publish ((PublishingFacebookFacebookPublisher*) self, target_album, privacy_setting, target_resolution, strip_metadata);
#line 3230 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_do_show_publishing_options_pane (PublishingFacebookFacebookPublisher* self)
{
	SpitPublishingPluginHost* _tmp0_;
	GtkBuilder* builder = NULL;
	GtkBuilder* _tmp1_;
	const gchar* _tmp8_;
	PublishingFacebookPublishingParameters* _tmp9_;
	PublishingFacebookAlbum** _tmp10_;
	gint _tmp10__length1;
	SpitPublishingPluginHost* _tmp11_;
	GtkBuilder* _tmp12_;
	SpitPublishingAuthenticator* _tmp13_;
	PublishingFacebookPublishingOptionsPane* _tmp14_;
	PublishingFacebookPublishingOptionsPane* _tmp15_;
	PublishingFacebookPublishingOptionsPane* _tmp16_;
	SpitPublishingPluginHost* _tmp17_;
	PublishingFacebookPublishingOptionsPane* _tmp18_;
	GError * _inner_error_ = NULL;
#line 325 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self));
#line 326 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_debug ("FacebookPublishing.vala:326: ACTION: showing publishing options pane.");
#line 328 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->host;
#line 328 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	spit_publishing_plugin_host_set_service_locked (_tmp0_, FALSE);
#line 329 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = gtk_builder_new ();
#line 329 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	builder = _tmp1_;
#line 3265 "FacebookPublishing.c"
	{
		GtkBuilder* _tmp2_;
#line 334 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp2_ = builder;
#line 334 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		gtk_builder_add_from_resource (_tmp2_, PLUGIN_RESOURCE_PATH "/" "facebook_publishing_options_pane.ui", &_inner_error_);
#line 334 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 3274 "FacebookPublishing.c"
			goto __catch2_g_error;
		}
	}
	goto __finally2;
	__catch2_g_error:
	{
		GError* e = NULL;
		GError* _tmp3_;
		const gchar* _tmp4_;
		SpitPublishingPluginHost* _tmp5_;
		GError* _tmp6_;
		GError* _tmp7_;
#line 331 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		e = _inner_error_;
#line 331 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_inner_error_ = NULL;
#line 337 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp3_ = e;
#line 337 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp4_ = _tmp3_->message;
#line 337 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_warning ("FacebookPublishing.vala:337: Could not parse UI file! Error: %s.", _tmp4_);
#line 338 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp5_ = self->priv->host;
#line 338 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp6_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_LOCAL_FILE_ERROR, _ ("A file required for publishing is unavailable. Publishing to Facebook " \
"can’t continue."));
#line 338 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp7_ = _tmp6_;
#line 338 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		spit_publishing_plugin_host_post_error (_tmp5_, _tmp7_);
#line 338 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_error_free0 (_tmp7_);
#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_error_free0 (e);
#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_object_unref0 (builder);
#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return;
#line 3313 "FacebookPublishing.c"
	}
	__finally2:
#line 331 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 331 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_object_unref0 (builder);
#line 331 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 331 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_clear_error (&_inner_error_);
#line 331 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return;
#line 3326 "FacebookPublishing.c"
	}
#line 344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp8_ = self->priv->username;
#line 344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp9_ = self->priv->publishing_params;
#line 344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp10_ = _tmp9_->albums;
#line 344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp10__length1 = _tmp9_->albums_length1;
#line 344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp11_ = self->priv->host;
#line 344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp12_ = builder;
#line 344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp13_ = self->priv->authenticator;
#line 344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp14_ = publishing_facebook_publishing_options_pane_new (_tmp8_, _tmp10_, _tmp10__length1, spit_publishing_plugin_host_get_publishable_media_type (_tmp11_), self, _tmp12_, publishing_facebook_facebook_publisher_get_persistent_strip_metadata (self), spit_publishing_authenticator_can_logout (_tmp13_));
#line 344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->publishing_options_pane);
#line 344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->publishing_options_pane = _tmp14_;
#line 347 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp15_ = self->priv->publishing_options_pane;
#line 347 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_connect_object (_tmp15_, "logout", (GCallback) _publishing_facebook_facebook_publisher_on_publishing_options_pane_logout_publishing_facebook_publishing_options_pane_logout, self, 0);
#line 348 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp16_ = self->priv->publishing_options_pane;
#line 348 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_connect_object (_tmp16_, "publish", (GCallback) _publishing_facebook_facebook_publisher_on_publishing_options_pane_publish_publishing_facebook_publishing_options_pane_publish, self, 0);
#line 349 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp17_ = self->priv->host;
#line 349 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp18_ = self->priv->publishing_options_pane;
#line 349 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	spit_publishing_plugin_host_install_dialog_pane (_tmp17_, G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, SPIT_PUBLISHING_TYPE_DIALOG_PANE, SpitPublishingDialogPane), SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL);
#line 325 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (builder);
#line 3364 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_do_logout (PublishingFacebookFacebookPublisher* self)
{
	SpitPublishingAuthenticator* _tmp0_;
#line 353 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self));
#line 354 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_debug ("FacebookPublishing.vala:354: ACTION: clearing persistent session infor" \
"mation and restaring interaction.");
#line 355 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->authenticator;
#line 355 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	spit_publishing_authenticator_logout (_tmp0_);
#line 357 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->running = FALSE;
#line 358 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	spit_publishing_publisher_start (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher));
#line 3384 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_do_add_new_local_album_from_json (PublishingFacebookFacebookPublisher* self,
                                                                         const gchar* album_name,
                                                                         const gchar* json)
{
	PublishingFacebookPublishingParameters* _tmp18_;
	GError * _inner_error_ = NULL;
#line 361 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self));
#line 361 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (album_name != NULL);
#line 361 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (json != NULL);
#line 3401 "FacebookPublishing.c"
	{
		JsonParser* parser = NULL;
		JsonParser* _tmp0_;
		JsonParser* _tmp1_;
		JsonNode* root = NULL;
		JsonParser* _tmp2_;
		JsonNode* _tmp3_;
		JsonNode* _tmp4_;
		JsonObject* response_object = NULL;
		JsonNode* _tmp5_;
		JsonObject* _tmp6_;
		JsonObject* _tmp7_;
		gchar* album_id = NULL;
		JsonObject* _tmp8_;
		const gchar* _tmp9_;
		gchar* _tmp10_;
		PublishingFacebookPublishingParameters* _tmp11_;
		const gchar* _tmp12_;
#line 363 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp0_ = json_parser_new ();
#line 363 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		parser = _tmp0_;
#line 364 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp1_ = parser;
#line 364 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		json_parser_load_from_data (_tmp1_, json, (gssize) -1, &_inner_error_);
#line 364 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 364 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_g_object_unref0 (parser);
#line 3432 "FacebookPublishing.c"
			goto __catch3_g_error;
		}
#line 366 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp2_ = parser;
#line 366 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp3_ = json_parser_get_root (_tmp2_);
#line 366 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp4_ = __vala_JsonNode_copy0 (_tmp3_);
#line 366 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		root = _tmp4_;
#line 367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp5_ = root;
#line 367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp6_ = json_node_get_object (_tmp5_);
#line 367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp7_ = _json_object_ref0 (_tmp6_);
#line 367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		response_object = _tmp7_;
#line 368 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp8_ = response_object;
#line 368 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp9_ = json_object_get_string_member (_tmp8_, "id");
#line 368 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp10_ = g_strdup (_tmp9_);
#line 368 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		album_id = _tmp10_;
#line 370 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp11_ = self->priv->publishing_params;
#line 370 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp12_ = album_id;
#line 370 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_publishing_parameters_add_album (_tmp11_, album_name, _tmp12_);
#line 362 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_free0 (album_id);
#line 362 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_json_object_unref0 (response_object);
#line 362 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		__vala_JsonNode_free0 (root);
#line 362 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_object_unref0 (parser);
#line 3473 "FacebookPublishing.c"
	}
	goto __finally3;
	__catch3_g_error:
	{
		GError* _error_ = NULL;
		SpitPublishingPluginHost* _tmp13_;
		GError* _tmp14_;
		const gchar* _tmp15_;
		GError* _tmp16_;
		GError* _tmp17_;
#line 362 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_error_ = _inner_error_;
#line 362 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_inner_error_ = NULL;
#line 372 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp13_ = self->priv->host;
#line 372 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp14_ = _error_;
#line 372 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp15_ = _tmp14_->message;
#line 372 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp16_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, _tmp15_);
#line 372 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp17_ = _tmp16_;
#line 372 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		spit_publishing_plugin_host_post_error (_tmp13_, _tmp17_);
#line 372 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_error_free0 (_tmp17_);
#line 373 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_error_free0 (_error_);
#line 373 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return;
#line 3506 "FacebookPublishing.c"
	}
	__finally3:
#line 362 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 362 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 362 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_clear_error (&_inner_error_);
#line 362 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return;
#line 3517 "FacebookPublishing.c"
	}
#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp18_ = self->priv->publishing_params;
#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_publishing_parameters_set_target_album_by_name (_tmp18_, album_name);
#line 377 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_do_upload (self);
#line 3525 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_on_authenticator_succeeded (PublishingFacebookFacebookPublisher* self)
{
#line 381 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self));
#line 382 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_debug ("FacebookPublishing.vala:382: EVENT: Authenticator login succeeded.");
#line 384 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_do_authenticate_session (self);
#line 3538 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_on_authenticator_failed (PublishingFacebookFacebookPublisher* self)
{
#line 387 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self));
#line 3547 "FacebookPublishing.c"
}


static gpointer
_g_variant_ref0 (gpointer self)
{
#line 393 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return self ? g_variant_ref (self) : NULL;
#line 3556 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_do_authenticate_session (PublishingFacebookFacebookPublisher* self)
{
	GHashTable* parameter = NULL;
	SpitPublishingAuthenticator* _tmp0_;
	GHashTable* _tmp1_;
	GVariant* access_token = NULL;
	gconstpointer _tmp2_ = NULL;
	gboolean _tmp3_;
	GVariant* _tmp4_;
	PublishingFacebookGraphSession* _tmp5_;
	PublishingFacebookGraphSession* _tmp6_;
	const gchar* _tmp7_;
#line 390 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self));
#line 391 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->authenticator;
#line 391 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = spit_publishing_authenticator_get_authentication_parameter (_tmp0_);
#line 391 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	parameter = _tmp1_;
#line 393 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3_ = g_hash_table_lookup_extended (parameter, "AccessToken", NULL, &_tmp2_);
#line 393 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_variant_unref0 (access_token);
#line 393 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp4_ = _g_variant_ref0 (_tmp2_);
#line 393 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	access_token = _tmp4_;
#line 393 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!_tmp3_) {
#line 394 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_critical ("FacebookPublishing.vala:394: Authenticator signalled success, but does" \
" not provide access token");
#line 395 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_assert_not_reached ();
#line 3595 "FacebookPublishing.c"
	}
#line 397 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp5_ = self->priv->graph_session;
#line 397 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_connect_object (_tmp5_, "authenticated", (GCallback) _publishing_facebook_facebook_publisher_on_session_authenticated_publishing_facebook_graph_session_authenticated, self, 0);
#line 398 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp6_ = self->priv->graph_session;
#line 398 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp7_ = g_variant_get_string (access_token, NULL);
#line 398 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_graph_session_authenticate (_tmp6_, _tmp7_);
#line 390 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_variant_unref0 (access_token);
#line 390 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_hash_table_unref0 (parameter);
#line 3611 "FacebookPublishing.c"
}


static void
_publishing_facebook_facebook_publisher_on_upload_complete_publishing_facebook_uploader_upload_complete (PublishingFacebookUploader* _sender,
                                                                                                         gint num_photos_published,
                                                                                                         gpointer self)
{
#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_on_upload_complete ((PublishingFacebookFacebookPublisher*) self, _sender, num_photos_published);
#line 3622 "FacebookPublishing.c"
}


static void
_publishing_facebook_facebook_publisher_on_upload_error_publishing_facebook_uploader_upload_error (PublishingFacebookUploader* _sender,
                                                                                                   GError* err,
                                                                                                   gpointer self)
{
#line 422 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_on_upload_error ((PublishingFacebookFacebookPublisher*) self, _sender, err);
#line 3633 "FacebookPublishing.c"
}


static void
_publishing_facebook_facebook_publisher_on_upload_status_updated_spit_publishing_progress_callback (gint file_number,
                                                                                                    gdouble fraction_complete,
                                                                                                    gpointer self)
{
#line 424 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_on_upload_status_updated ((PublishingFacebookFacebookPublisher*) self, file_number, fraction_complete);
#line 3644 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_do_upload (PublishingFacebookFacebookPublisher* self)
{
	gchar* _tmp0_ = NULL;
	PublishingFacebookPublishingParameters* _tmp1_;
	gint _tmp2_;
	SpitPublishingPluginHost* _tmp6_;
	SpitPublishingPluginHost* _tmp7_;
	PublishingFacebookPublishingParameters* _tmp8_;
	PublishingFacebookResolution _tmp9_;
	PublishingFacebookPublishingParameters* _tmp10_;
	gboolean _tmp11_;
	void* _tmp12_;
	GDestroyNotify _tmp13_;
	SpitPublishingProgressCallback _tmp14_;
	SpitPublishingPublishable** publishables = NULL;
	SpitPublishingPluginHost* _tmp15_;
	gint _tmp16_;
	SpitPublishingPublishable** _tmp17_;
	gint publishables_length1;
	gint _publishables_size_;
	PublishingFacebookGraphSession* _tmp18_;
	PublishingFacebookPublishingParameters* _tmp19_;
	SpitPublishingPublishable** _tmp20_;
	gint _tmp20__length1;
	PublishingFacebookUploader* _tmp21_;
	PublishingFacebookUploader* _tmp22_;
	PublishingFacebookUploader* _tmp23_;
	PublishingFacebookUploader* _tmp24_;
#line 401 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self));
#line 403 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = self->priv->publishing_params;
#line 403 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = _tmp1_->target_album;
#line 403 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (_tmp2_ == PUBLISHING_FACEBOOK_PUBLISHING_PARAMETERS_UNKNOWN_ALBUM) {
#line 3685 "FacebookPublishing.c"
		gchar* _tmp3_;
#line 403 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp3_ = g_strdup ("(none)");
#line 403 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_free0 (_tmp0_);
#line 403 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp0_ = _tmp3_;
#line 3693 "FacebookPublishing.c"
	} else {
		PublishingFacebookPublishingParameters* _tmp4_;
		gchar* _tmp5_;
#line 404 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp4_ = self->priv->publishing_params;
#line 404 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp5_ = publishing_facebook_publishing_parameters_get_target_album_name (_tmp4_);
#line 404 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_free0 (_tmp0_);
#line 404 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp0_ = _tmp5_;
#line 3705 "FacebookPublishing.c"
	}
#line 402 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_debug ("FacebookPublishing.vala:402: ACTION: uploading photos to album '%s'", _tmp0_);
#line 406 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp6_ = self->priv->host;
#line 406 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	spit_publishing_plugin_host_set_service_locked (_tmp6_, TRUE);
#line 408 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp7_ = self->priv->host;
#line 408 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp8_ = self->priv->publishing_params;
#line 408 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp9_ = _tmp8_->resolution;
#line 408 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp10_ = self->priv->publishing_params;
#line 408 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp11_ = _tmp10_->strip_metadata;
#line 408 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp14_ = spit_publishing_plugin_host_serialize_publishables (_tmp7_, publishing_facebook_resolution_get_pixels (_tmp9_), _tmp11_, &_tmp12_, &_tmp13_);
#line 408 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	(self->priv->progress_reporter_target_destroy_notify == NULL) ? NULL : (self->priv->progress_reporter_target_destroy_notify (self->priv->progress_reporter_target), NULL);
#line 408 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->progress_reporter = NULL;
#line 408 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->progress_reporter_target = NULL;
#line 408 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->progress_reporter_target_destroy_notify = NULL;
#line 408 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->progress_reporter = _tmp14_;
#line 408 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->progress_reporter_target = _tmp12_;
#line 408 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->progress_reporter_target_destroy_notify = _tmp13_;
#line 415 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher))) {
#line 416 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_free0 (_tmp0_);
#line 416 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return;
#line 3745 "FacebookPublishing.c"
	}
#line 418 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp15_ = self->priv->host;
#line 418 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp17_ = spit_publishing_plugin_host_get_publishables (_tmp15_, &_tmp16_);
#line 418 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishables = _tmp17_;
#line 418 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishables_length1 = _tmp16_;
#line 418 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_publishables_size_ = publishables_length1;
#line 419 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp18_ = self->priv->graph_session;
#line 419 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp19_ = self->priv->publishing_params;
#line 419 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp20_ = publishables;
#line 419 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp20__length1 = publishables_length1;
#line 419 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp21_ = publishing_facebook_uploader_new (_tmp18_, _tmp19_, _tmp20_, _tmp20__length1);
#line 419 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_publishing_facebook_uploader_unref0 (self->priv->uploader);
#line 419 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->uploader = _tmp21_;
#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp22_ = self->priv->uploader;
#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_connect_object (_tmp22_, "upload-complete", (GCallback) _publishing_facebook_facebook_publisher_on_upload_complete_publishing_facebook_uploader_upload_complete, self, 0);
#line 422 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp23_ = self->priv->uploader;
#line 422 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_connect_object (_tmp23_, "upload-error", (GCallback) _publishing_facebook_facebook_publisher_on_upload_error_publishing_facebook_uploader_upload_error, self, 0);
#line 424 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp24_ = self->priv->uploader;
#line 424 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_uploader_upload (_tmp24_, _publishing_facebook_facebook_publisher_on_upload_status_updated_spit_publishing_progress_callback, self);
#line 401 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishables = (_vala_array_free (publishables, publishables_length1, (GDestroyNotify) g_object_unref), NULL);
#line 401 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (_tmp0_);
#line 3787 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_do_show_success_pane (PublishingFacebookFacebookPublisher* self)
{
	SpitPublishingPluginHost* _tmp0_;
	SpitPublishingPluginHost* _tmp1_;
#line 427 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self));
#line 428 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_debug ("FacebookPublishing.vala:428: ACTION: showing success pane.");
#line 430 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->host;
#line 430 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	spit_publishing_plugin_host_set_service_locked (_tmp0_, FALSE);
#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = self->priv->host;
#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	spit_publishing_plugin_host_install_success_pane (_tmp1_);
#line 3808 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_on_generic_error (PublishingFacebookFacebookPublisher* self,
                                                         GError* _error_)
{
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self));
#line 435 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (g_error_matches (_error_, SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_EXPIRED_SESSION)) {
#line 436 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_facebook_publisher_do_logout (self);
#line 3822 "FacebookPublishing.c"
	} else {
		SpitPublishingPluginHost* _tmp0_;
#line 438 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp0_ = self->priv->host;
#line 438 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		spit_publishing_plugin_host_post_error (_tmp0_, _error_);
#line 3829 "FacebookPublishing.c"
	}
}


static void
publishing_facebook_facebook_publisher_on_session_authenticated (PublishingFacebookFacebookPublisher* self)
{
	PublishingFacebookGraphSession* _tmp0_;
	guint _tmp1_;
	PublishingFacebookGraphSession* _tmp2_;
#line 469 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self));
#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->graph_session;
#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_parse_name ("authenticated", PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION, &_tmp1_, NULL, FALSE);
#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_session_authenticated_publishing_facebook_graph_session_authenticated, self);
#line 472 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher))) {
#line 473 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return;
#line 3852 "FacebookPublishing.c"
	}
#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = self->priv->graph_session;
#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_vala_assert (publishing_facebook_graph_session_is_authenticated (_tmp2_), "graph_session.is_authenticated()");
#line 476 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_debug ("FacebookPublishing.vala:476: EVENT: an authenticated session has becom" \
"e available.");
#line 478 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_do_fetch_user_info (self);
#line 3862 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_on_fetch_user_info_completed (PublishingFacebookFacebookPublisher* self,
                                                                     PublishingFacebookGraphMessage* message)
{
	guint _tmp0_;
	guint _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
#line 481 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self));
#line 481 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE (message));
#line 482 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_parse_name ("completed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp0_, NULL, FALSE);
#line 482 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_disconnect_matched (message, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp0_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_fetch_user_info_completed_publishing_facebook_graph_message_completed, self);
#line 483 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_parse_name ("failed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp1_, NULL, FALSE);
#line 483 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_disconnect_matched (message, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_fetch_user_info_error_publishing_facebook_graph_message_failed, self);
#line 485 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher))) {
#line 486 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return;
#line 3892 "FacebookPublishing.c"
	}
#line 488 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = publishing_facebook_graph_message_get_response_body (message);
#line 488 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3_ = _tmp2_;
#line 488 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_debug ("FacebookPublishing.vala:488: EVENT: user info fetch completed; respons" \
"e = '%s'.", _tmp3_);
#line 488 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (_tmp3_);
#line 490 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp4_ = publishing_facebook_graph_message_get_response_body (message);
#line 490 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp5_ = _tmp4_;
#line 490 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_do_extract_user_info_from_json (self, _tmp5_);
#line 490 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (_tmp5_);
#line 3910 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_on_fetch_user_info_error (PublishingFacebookFacebookPublisher* self,
                                                                 PublishingFacebookGraphMessage* message,
                                                                 GError* _error_)
{
	guint _tmp0_;
	guint _tmp1_;
#line 493 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self));
#line 493 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE (message));
#line 495 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_parse_name ("completed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp0_, NULL, FALSE);
#line 495 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_disconnect_matched (message, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp0_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_fetch_user_info_completed_publishing_facebook_graph_message_completed, self);
#line 496 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_parse_name ("failed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp1_, NULL, FALSE);
#line 496 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_disconnect_matched (message, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_fetch_user_info_error_publishing_facebook_graph_message_failed, self);
#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher))) {
#line 499 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return;
#line 3937 "FacebookPublishing.c"
	}
#line 501 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_debug ("FacebookPublishing.vala:501: EVENT: fetching user info generated and e" \
"rror.");
#line 503 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_on_generic_error (self, _error_);
#line 3943 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_on_user_info_extracted (PublishingFacebookFacebookPublisher* self)
{
	const gchar* _tmp0_;
	const gchar* _tmp1_;
#line 506 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self));
#line 507 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher))) {
#line 508 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return;
#line 3958 "FacebookPublishing.c"
	}
#line 510 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->uid;
#line 510 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = self->priv->username;
#line 510 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_debug ("FacebookPublishing.vala:510: EVENT: user info extracted from JSON resp" \
"onse: uid = %s; name = %s.", _tmp0_, _tmp1_);
#line 512 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_do_fetch_album_descriptions (self);
#line 3968 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_on_fetch_albums_completed (PublishingFacebookFacebookPublisher* self,
                                                                  PublishingFacebookGraphMessage* message)
{
	guint _tmp0_;
	guint _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
#line 515 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self));
#line 515 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE (message));
#line 516 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_parse_name ("completed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp0_, NULL, FALSE);
#line 516 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_disconnect_matched (message, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp0_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_fetch_albums_completed_publishing_facebook_graph_message_completed, self);
#line 517 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_parse_name ("failed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp1_, NULL, FALSE);
#line 517 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_disconnect_matched (message, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_fetch_albums_error_publishing_facebook_graph_message_failed, self);
#line 519 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher))) {
#line 520 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return;
#line 3998 "FacebookPublishing.c"
	}
#line 522 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = publishing_facebook_graph_message_get_response_body (message);
#line 522 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3_ = _tmp2_;
#line 522 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_debug ("FacebookPublishing.vala:522: EVENT: album descriptions fetch transacti" \
"on completed; response = '%s'.", _tmp3_);
#line 522 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (_tmp3_);
#line 525 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp4_ = publishing_facebook_graph_message_get_response_body (message);
#line 525 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp5_ = _tmp4_;
#line 525 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_do_extract_albums_from_json (self, _tmp5_);
#line 525 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (_tmp5_);
#line 4016 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_on_fetch_albums_error (PublishingFacebookFacebookPublisher* self,
                                                              PublishingFacebookGraphMessage* message,
                                                              GError* err)
{
	guint _tmp0_;
	guint _tmp1_;
#line 528 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self));
#line 528 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE (message));
#line 530 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_parse_name ("completed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp0_, NULL, FALSE);
#line 530 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_disconnect_matched (message, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp0_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_fetch_albums_completed_publishing_facebook_graph_message_completed, self);
#line 531 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_parse_name ("failed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp1_, NULL, FALSE);
#line 531 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_disconnect_matched (message, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_fetch_albums_error_publishing_facebook_graph_message_failed, self);
#line 533 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher))) {
#line 534 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return;
#line 4043 "FacebookPublishing.c"
	}
#line 536 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_debug ("FacebookPublishing.vala:536: EVENT: album description fetch attempt ge" \
"nerated an error.");
#line 538 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_on_generic_error (self, err);
#line 4049 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_on_albums_extracted (PublishingFacebookFacebookPublisher* self)
{
	PublishingFacebookPublishingParameters* _tmp0_;
	PublishingFacebookAlbum** _tmp1_;
	gint _tmp1__length1;
#line 541 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self));
#line 542 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher))) {
#line 543 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return;
#line 4065 "FacebookPublishing.c"
	}
#line 545 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->publishing_params;
#line 545 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = _tmp0_->albums;
#line 545 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1__length1 = _tmp0_->albums_length1;
#line 545 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_debug ("FacebookPublishing.vala:545: EVENT: successfully extracted %d albums f" \
"rom JSON response", _tmp1__length1);
#line 548 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_do_show_publishing_options_pane (self);
#line 4077 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_on_publishing_options_pane_logout (PublishingFacebookFacebookPublisher* self)
{
	PublishingFacebookPublishingOptionsPane* _tmp0_;
	guint _tmp1_;
	PublishingFacebookPublishingOptionsPane* _tmp2_;
	guint _tmp3_;
#line 551 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self));
#line 552 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->publishing_options_pane;
#line 552 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_parse_name ("publish", PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, &_tmp1_, NULL, FALSE);
#line 552 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_publishing_options_pane_publish_publishing_facebook_publishing_options_pane_publish, self);
#line 553 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = self->priv->publishing_options_pane;
#line 553 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_parse_name ("logout", PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, &_tmp3_, NULL, FALSE);
#line 553 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_publishing_options_pane_logout_publishing_facebook_publishing_options_pane_logout, self);
#line 555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher))) {
#line 556 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return;
#line 4106 "FacebookPublishing.c"
	}
#line 558 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_debug ("FacebookPublishing.vala:558: EVENT: user clicked 'Logout' in publishin" \
"g options pane.");
#line 560 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_do_logout (self);
#line 4112 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_on_publishing_options_pane_publish (PublishingFacebookFacebookPublisher* self,
                                                                           const gchar* target_album,
                                                                           const gchar* privacy_setting,
                                                                           PublishingFacebookResolution resolution,
                                                                           gboolean strip_metadata)
{
	PublishingFacebookPublishingOptionsPane* _tmp0_;
	guint _tmp1_;
	PublishingFacebookPublishingOptionsPane* _tmp2_;
	guint _tmp3_;
	PublishingFacebookPublishingParameters* _tmp4_;
	PublishingFacebookPublishingParameters* _tmp5_;
	PublishingFacebookPublishingParameters* _tmp6_;
	gchar* _tmp7_;
#line 563 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self));
#line 563 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (privacy_setting != NULL);
#line 565 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->publishing_options_pane;
#line 565 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_parse_name ("publish", PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, &_tmp1_, NULL, FALSE);
#line 565 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_publishing_options_pane_publish_publishing_facebook_publishing_options_pane_publish, self);
#line 566 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = self->priv->publishing_options_pane;
#line 566 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_parse_name ("logout", PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, &_tmp3_, NULL, FALSE);
#line 566 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_publishing_options_pane_logout_publishing_facebook_publishing_options_pane_logout, self);
#line 568 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher))) {
#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return;
#line 4151 "FacebookPublishing.c"
	}
#line 571 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_debug ("FacebookPublishing.vala:571: EVENT: user clicked 'Publish' in publishi" \
"ng options pane.");
#line 573 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp4_ = self->priv->publishing_params;
#line 573 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp4_->strip_metadata = strip_metadata;
#line 574 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_set_persistent_strip_metadata (self, strip_metadata);
#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp5_ = self->priv->publishing_params;
#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp5_->resolution = resolution;
#line 576 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_set_persistent_default_size (self, (gint) resolution);
#line 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp6_ = self->priv->publishing_params;
#line 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp7_ = g_strdup (privacy_setting);
#line 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (_tmp6_->privacy_object);
#line 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp6_->privacy_object = _tmp7_;
#line 579 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (target_album != NULL) {
#line 4177 "FacebookPublishing.c"
		PublishingFacebookPublishingParameters* _tmp8_;
		PublishingFacebookPublishingParameters* _tmp9_;
		gint _tmp10_;
#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp8_ = self->priv->publishing_params;
#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_publishing_parameters_set_target_album_by_name (_tmp8_, target_album);
#line 583 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp9_ = self->priv->publishing_params;
#line 583 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp10_ = _tmp9_->target_album;
#line 583 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		if (_tmp10_ != PUBLISHING_FACEBOOK_PUBLISHING_PARAMETERS_UNKNOWN_ALBUM) {
#line 584 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			publishing_facebook_facebook_publisher_do_upload (self);
#line 4193 "FacebookPublishing.c"
		} else {
			PublishingFacebookPublishingParameters* _tmp11_;
			gchar* _tmp12_;
#line 586 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp11_ = self->priv->publishing_params;
#line 586 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp12_ = g_strdup (target_album);
#line 586 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_g_free0 (_tmp11_->new_album_name);
#line 586 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp11_->new_album_name = _tmp12_;
#line 587 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			publishing_facebook_facebook_publisher_do_create_new_album (self);
#line 4207 "FacebookPublishing.c"
		}
	} else {
#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_facebook_publisher_do_upload (self);
#line 4212 "FacebookPublishing.c"
	}
}


static void
publishing_facebook_facebook_publisher_on_create_album_completed (PublishingFacebookFacebookPublisher* self,
                                                                  PublishingFacebookGraphMessage* message)
{
	guint _tmp0_;
	guint _tmp1_;
	PublishingFacebookPublishingParameters* _tmp2_;
	const gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	PublishingFacebookPublishingParameters* _tmp6_;
	const gchar* _tmp7_;
	gchar* _tmp8_;
	gchar* _tmp9_;
#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self));
#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE (message));
#line 596 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_parse_name ("completed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp0_, NULL, FALSE);
#line 596 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_disconnect_matched (message, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp0_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_create_album_completed_publishing_facebook_graph_message_completed, self);
#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_parse_name ("failed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp1_, NULL, FALSE);
#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_disconnect_matched (message, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_create_album_error_publishing_facebook_graph_message_failed, self);
#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = self->priv->publishing_params;
#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3_ = _tmp2_->new_album_name;
#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_vala_assert (_tmp3_ != NULL, "publishing_params.new_album_name != null");
#line 601 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher))) {
#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return;
#line 4253 "FacebookPublishing.c"
	}
#line 604 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp4_ = publishing_facebook_graph_message_get_response_body (message);
#line 604 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp5_ = _tmp4_;
#line 604 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_debug ("FacebookPublishing.vala:604: EVENT: created new album resource on remo" \
"te host; response body = %s.\n", _tmp5_);
#line 604 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (_tmp5_);
#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp6_ = self->priv->publishing_params;
#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp7_ = _tmp6_->new_album_name;
#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp8_ = publishing_facebook_graph_message_get_response_body (message);
#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp9_ = _tmp8_;
#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_do_add_new_local_album_from_json (self, _tmp7_, _tmp9_);
#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (_tmp9_);
#line 4275 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_on_create_album_error (PublishingFacebookFacebookPublisher* self,
                                                              PublishingFacebookGraphMessage* message,
                                                              GError* err)
{
	guint _tmp0_;
	guint _tmp1_;
#line 611 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self));
#line 611 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE (message));
#line 612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_parse_name ("completed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp0_, NULL, FALSE);
#line 612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_disconnect_matched (message, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp0_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_create_album_completed_publishing_facebook_graph_message_completed, self);
#line 613 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_parse_name ("failed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp1_, NULL, FALSE);
#line 613 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_disconnect_matched (message, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_create_album_error_publishing_facebook_graph_message_failed, self);
#line 615 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher))) {
#line 616 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return;
#line 4302 "FacebookPublishing.c"
	}
#line 618 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_debug ("FacebookPublishing.vala:618: EVENT: attempt to create new album genera" \
"ted an error.");
#line 620 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_on_generic_error (self, err);
#line 4308 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_on_upload_status_updated (PublishingFacebookFacebookPublisher* self,
                                                                 gint file_number,
                                                                 gdouble completed_fraction)
{
	SpitPublishingProgressCallback _tmp0_;
	void* _tmp0__target;
	SpitPublishingProgressCallback _tmp1_;
	void* _tmp1__target;
#line 623 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self));
#line 624 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher))) {
#line 625 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return;
#line 4327 "FacebookPublishing.c"
	}
#line 627 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_debug ("FacebookPublishing.vala:627: EVENT: uploader reports upload %.2f perce" \
"nt complete.", 100.0 * completed_fraction);
#line 629 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->progress_reporter;
#line 629 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0__target = self->priv->progress_reporter_target;
#line 629 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_vala_assert (_tmp0_ != NULL, "progress_reporter != null");
#line 631 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = self->priv->progress_reporter;
#line 631 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1__target = self->priv->progress_reporter_target;
#line 631 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ (file_number, completed_fraction, _tmp1__target);
#line 4343 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_on_upload_complete (PublishingFacebookFacebookPublisher* self,
                                                           PublishingFacebookUploader* uploader,
                                                           gint num_published)
{
	guint _tmp0_;
	guint _tmp1_;
#line 634 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self));
#line 634 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_UPLOADER (uploader));
#line 635 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_parse_name ("upload-complete", PUBLISHING_FACEBOOK_TYPE_UPLOADER, &_tmp0_, NULL, FALSE);
#line 635 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_disconnect_matched (uploader, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp0_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_upload_complete_publishing_facebook_uploader_upload_complete, self);
#line 636 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_parse_name ("upload-error", PUBLISHING_FACEBOOK_TYPE_UPLOADER, &_tmp1_, NULL, FALSE);
#line 636 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_disconnect_matched (uploader, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_upload_error_publishing_facebook_uploader_upload_error, self);
#line 638 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher))) {
#line 639 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return;
#line 4370 "FacebookPublishing.c"
	}
#line 641 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_debug ("FacebookPublishing.vala:641: EVENT: uploader reports upload complete; " \
"%d items published.", num_published);
#line 643 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_do_show_success_pane (self);
#line 4376 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_on_upload_error (PublishingFacebookFacebookPublisher* self,
                                                        PublishingFacebookUploader* uploader,
                                                        GError* err)
{
	guint _tmp0_;
	guint _tmp1_;
	const gchar* _tmp2_;
	SpitPublishingPluginHost* _tmp3_;
#line 646 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self));
#line 646 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_UPLOADER (uploader));
#line 647 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_parse_name ("upload-complete", PUBLISHING_FACEBOOK_TYPE_UPLOADER, &_tmp0_, NULL, FALSE);
#line 647 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_disconnect_matched (uploader, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp0_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_upload_complete_publishing_facebook_uploader_upload_complete, self);
#line 648 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_parse_name ("upload-error", PUBLISHING_FACEBOOK_TYPE_UPLOADER, &_tmp1_, NULL, FALSE);
#line 648 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_disconnect_matched (uploader, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_upload_error_publishing_facebook_uploader_upload_error, self);
#line 650 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher))) {
#line 651 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return;
#line 4405 "FacebookPublishing.c"
	}
#line 653 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = err->message;
#line 653 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_debug ("FacebookPublishing.vala:653: EVENT: uploader reports upload error = '%" \
"s'.", _tmp2_);
#line 655 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3_ = self->priv->host;
#line 655 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	spit_publishing_plugin_host_post_error (_tmp3_, err);
#line 4415 "FacebookPublishing.c"
}


static SpitPublishingService*
publishing_facebook_facebook_publisher_real_get_service (SpitPublishingPublisher* base)
{
	PublishingFacebookFacebookPublisher * self;
	SpitPublishingService* result = NULL;
	SpitPublishingService* _tmp0_;
	SpitPublishingService* _tmp1_;
#line 658 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FACEBOOK_TYPE_FACEBOOK_PUBLISHER, PublishingFacebookFacebookPublisher);
#line 659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->service;
#line 659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	result = _tmp1_;
#line 659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return result;
#line 4436 "FacebookPublishing.c"
}


gchar*
publishing_facebook_facebook_publisher_get_service_name (PublishingFacebookFacebookPublisher* self)
{
	gchar* result = NULL;
	gchar* _tmp0_;
#line 662 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self), NULL);
#line 663 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = g_strdup (PUBLISHING_FACEBOOK_SERVICE_NAME);
#line 663 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	result = _tmp0_;
#line 663 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return result;
#line 4453 "FacebookPublishing.c"
}


gchar*
publishing_facebook_facebook_publisher_get_user_visible_name (PublishingFacebookFacebookPublisher* self)
{
	gchar* result = NULL;
	gchar* _tmp0_;
#line 666 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self), NULL);
#line 667 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = g_strdup (PUBLISHING_FACEBOOK_USER_VISIBLE_NAME);
#line 667 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	result = _tmp0_;
#line 667 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return result;
#line 4470 "FacebookPublishing.c"
}


static void
_publishing_facebook_facebook_publisher_on_authenticator_succeeded_spit_publishing_authenticator_authenticated (SpitPublishingAuthenticator* _sender,
                                                                                                                gpointer self)
{
#line 682 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_on_authenticator_succeeded ((PublishingFacebookFacebookPublisher*) self);
#line 4480 "FacebookPublishing.c"
}


static void
_publishing_facebook_facebook_publisher_on_authenticator_failed_spit_publishing_authenticator_authentication_failed (SpitPublishingAuthenticator* _sender,
                                                                                                                     gpointer self)
{
#line 683 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_on_authenticator_failed ((PublishingFacebookFacebookPublisher*) self);
#line 4490 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_real_start (SpitPublishingPublisher* base)
{
	PublishingFacebookFacebookPublisher * self;
	PublishingFacebookPublishingParameters* _tmp0_;
	SpitPublishingAuthenticator* _tmp1_;
	SpitPublishingAuthenticator* _tmp2_;
	SpitPublishingAuthenticator* _tmp3_;
#line 670 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FACEBOOK_TYPE_FACEBOOK_PUBLISHER, PublishingFacebookFacebookPublisher);
#line 671 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher))) {
#line 672 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return;
#line 4508 "FacebookPublishing.c"
	}
#line 674 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_debug ("FacebookPublishing.vala:674: FacebookPublisher: starting interaction.");
#line 676 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->running = TRUE;
#line 680 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = publishing_facebook_publishing_parameters_new ();
#line 680 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_publishing_facebook_publishing_parameters_unref0 (self->priv->publishing_params);
#line 680 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->publishing_params = _tmp0_;
#line 682 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = self->priv->authenticator;
#line 682 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_connect_object (_tmp1_, "authenticated", (GCallback) _publishing_facebook_facebook_publisher_on_authenticator_succeeded_spit_publishing_authenticator_authenticated, self, 0);
#line 683 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = self->priv->authenticator;
#line 683 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_connect_object (_tmp2_, "authentication-failed", (GCallback) _publishing_facebook_facebook_publisher_on_authenticator_failed_spit_publishing_authenticator_authentication_failed, self, 0);
#line 684 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3_ = self->priv->authenticator;
#line 684 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	spit_publishing_authenticator_authenticate (_tmp3_);
#line 4532 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_real_stop (SpitPublishingPublisher* base)
{
	PublishingFacebookFacebookPublisher * self;
	PublishingFacebookGraphSession* _tmp0_;
#line 687 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FACEBOOK_TYPE_FACEBOOK_PUBLISHER, PublishingFacebookFacebookPublisher);
#line 688 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_debug ("FacebookPublishing.vala:688: FacebookPublisher: stop( ) invoked.");
#line 690 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->graph_session;
#line 690 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (_tmp0_ != NULL) {
#line 4549 "FacebookPublishing.c"
		PublishingFacebookGraphSession* _tmp1_;
#line 691 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp1_ = self->priv->graph_session;
#line 691 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_graph_session_stop_transactions (_tmp1_);
#line 4555 "FacebookPublishing.c"
	}
#line 693 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->host = NULL;
#line 694 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->running = FALSE;
#line 4561 "FacebookPublishing.c"
}


static gboolean
publishing_facebook_facebook_publisher_real_is_running (SpitPublishingPublisher* base)
{
	PublishingFacebookFacebookPublisher * self;
	gboolean result = FALSE;
	gboolean _tmp0_;
#line 697 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FACEBOOK_TYPE_FACEBOOK_PUBLISHER, PublishingFacebookFacebookPublisher);
#line 698 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->running;
#line 698 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	result = _tmp0_;
#line 698 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return result;
#line 4579 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_class_init (PublishingFacebookFacebookPublisherClass * klass)
{
#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_parent_class = g_type_class_peek_parent (klass);
#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_type_class_add_private (klass, sizeof (PublishingFacebookFacebookPublisherPrivate));
#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	G_OBJECT_CLASS (klass)->finalize = publishing_facebook_facebook_publisher_finalize;
#line 4592 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_spit_publishing_publisher_interface_init (SpitPublishingPublisherIface * iface)
{
#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_spit_publishing_publisher_parent_iface = g_type_interface_peek_parent (iface);
#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	iface->get_service = (SpitPublishingService* (*) (SpitPublishingPublisher *)) publishing_facebook_facebook_publisher_real_get_service;
#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	iface->start = (void (*) (SpitPublishingPublisher *)) publishing_facebook_facebook_publisher_real_start;
#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	iface->stop = (void (*) (SpitPublishingPublisher *)) publishing_facebook_facebook_publisher_real_stop;
#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	iface->is_running = (gboolean (*) (SpitPublishingPublisher *)) publishing_facebook_facebook_publisher_real_is_running;
#line 4609 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_instance_init (PublishingFacebookFacebookPublisher * self)
{
#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv = PUBLISHING_FACEBOOK_FACEBOOK_PUBLISHER_GET_PRIVATE (self);
#line 170 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->host = NULL;
#line 171 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->progress_reporter = NULL;
#line 171 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->progress_reporter_target = self;
#line 171 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->progress_reporter_target_destroy_notify = NULL;
#line 172 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->service = NULL;
#line 173 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->authenticator = NULL;
#line 174 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->running = FALSE;
#line 176 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->publishing_options_pane = NULL;
#line 177 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->uploader = NULL;
#line 178 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->uid = NULL;
#line 179 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->username = NULL;
#line 4640 "FacebookPublishing.c"
}


static void
publishing_facebook_facebook_publisher_finalize (GObject * obj)
{
	PublishingFacebookFacebookPublisher * self;
#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FACEBOOK_TYPE_FACEBOOK_PUBLISHER, PublishingFacebookFacebookPublisher);
#line 169 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_publishing_facebook_publishing_parameters_unref0 (self->priv->publishing_params);
#line 171 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	(self->priv->progress_reporter_target_destroy_notify == NULL) ? NULL : (self->priv->progress_reporter_target_destroy_notify (self->priv->progress_reporter_target), NULL);
#line 171 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->progress_reporter = NULL;
#line 171 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->progress_reporter_target = NULL;
#line 171 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->progress_reporter_target_destroy_notify = NULL;
#line 173 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->authenticator);
#line 175 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_publishing_facebook_graph_session_unref0 (self->priv->graph_session);
#line 176 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->publishing_options_pane);
#line 177 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_publishing_facebook_uploader_unref0 (self->priv->uploader);
#line 178 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (self->priv->uid);
#line 179 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (self->priv->username);
#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	G_OBJECT_CLASS (publishing_facebook_facebook_publisher_parent_class)->finalize (obj);
#line 4674 "FacebookPublishing.c"
}


GType
publishing_facebook_facebook_publisher_get_type (void)
{
	static volatile gsize publishing_facebook_facebook_publisher_type_id__volatile = 0;
	if (g_once_init_enter (&publishing_facebook_facebook_publisher_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PublishingFacebookFacebookPublisherClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_facebook_facebook_publisher_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFacebookFacebookPublisher), 0, (GInstanceInitFunc) publishing_facebook_facebook_publisher_instance_init, NULL };
		static const GInterfaceInfo spit_publishing_publisher_info = { (GInterfaceInitFunc) publishing_facebook_facebook_publisher_spit_publishing_publisher_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		GType publishing_facebook_facebook_publisher_type_id;
		publishing_facebook_facebook_publisher_type_id = g_type_register_static (G_TYPE_OBJECT, "PublishingFacebookFacebookPublisher", &g_define_type_info, 0);
		g_type_add_interface_static (publishing_facebook_facebook_publisher_type_id, SPIT_PUBLISHING_TYPE_PUBLISHER, &spit_publishing_publisher_info);
		g_once_init_leave (&publishing_facebook_facebook_publisher_type_id__volatile, publishing_facebook_facebook_publisher_type_id);
	}
	return publishing_facebook_facebook_publisher_type_id__volatile;
}


static PublishingFacebookAlbum**
_vala_array_dup2 (PublishingFacebookAlbum** self,
                  int length)
{
	PublishingFacebookAlbum** result;
	int i;
#line 751 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	result = g_new0 (PublishingFacebookAlbum*, length + 1);
#line 751 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	for (i = 0; i < length; i++) {
#line 4704 "FacebookPublishing.c"
		PublishingFacebookAlbum* _tmp0_;
#line 751 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp0_ = _publishing_facebook_album_ref0 (self[i]);
#line 751 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		result[i] = _tmp0_;
#line 4710 "FacebookPublishing.c"
	}
#line 751 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return result;
#line 4714 "FacebookPublishing.c"
}


static void
_publishing_facebook_publishing_options_pane_on_create_new_toggled_gtk_button_clicked (GtkButton* _sender,
                                                                                       gpointer self)
{
#line 777 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_publishing_options_pane_on_create_new_toggled ((PublishingFacebookPublishingOptionsPane*) self);
#line 4724 "FacebookPublishing.c"
}


static void
_publishing_facebook_publishing_options_pane_on_use_existing_toggled_gtk_button_clicked (GtkButton* _sender,
                                                                                         gpointer self)
{
#line 778 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_publishing_options_pane_on_use_existing_toggled ((PublishingFacebookPublishingOptionsPane*) self);
#line 4734 "FacebookPublishing.c"
}


static void
_publishing_facebook_publishing_options_pane_on_publish_button_clicked_gtk_button_clicked (GtkButton* _sender,
                                                                                           gpointer self)
{
#line 789 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_publishing_options_pane_on_publish_button_clicked ((PublishingFacebookPublishingOptionsPane*) self);
#line 4744 "FacebookPublishing.c"
}


static void
_publishing_facebook_publishing_options_pane_on_logout_button_clicked_gtk_button_clicked (GtkButton* _sender,
                                                                                          gpointer self)
{
#line 790 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_publishing_options_pane_on_logout_button_clicked ((PublishingFacebookPublishingOptionsPane*) self);
#line 4754 "FacebookPublishing.c"
}


static void
_publishing_facebook_publishing_options_pane_on_size_changed_gtk_combo_box_changed (GtkComboBox* _sender,
                                                                                    gpointer self)
{
#line 794 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_publishing_options_pane_on_size_changed ((PublishingFacebookPublishingOptionsPane*) self);
#line 4764 "FacebookPublishing.c"
}


PublishingFacebookPublishingOptionsPane*
publishing_facebook_publishing_options_pane_construct (GType object_type,
                                                       const gchar* username,
                                                       PublishingFacebookAlbum** albums,
                                                       int albums_length1,
                                                       SpitPublishingPublisherMediaType media_type,
                                                       PublishingFacebookFacebookPublisher* publisher,
                                                       GtkBuilder* builder,
                                                       gboolean strip_metadata,
                                                       gboolean can_logout)
{
	PublishingFacebookPublishingOptionsPane * self = NULL;
	GtkBuilder* _tmp0_;
	GSList* _tmp1_;
	GSList* _tmp2_;
	PublishingFacebookAlbum** _tmp3_;
	gint _tmp3__length1;
	gint _tmp4_;
	PublishingFacebookPublishingOptionsPanePrivacyDescription** _tmp5_;
	gint _tmp6_;
	PublishingFacebookResolution* _tmp7_;
	PublishingFacebookFacebookPublisher* _tmp8_;
	GObject* _tmp9_;
	GtkBox* _tmp10_;
	GtkBox* _tmp11_;
	GtkBuilder* _tmp12_;
	GObject* _tmp13_;
	GtkRadioButton* _tmp14_;
	GtkBuilder* _tmp15_;
	GObject* _tmp16_;
	GtkRadioButton* _tmp17_;
	GtkBuilder* _tmp18_;
	GObject* _tmp19_;
	GtkComboBoxText* _tmp20_;
	GtkBuilder* _tmp21_;
	GObject* _tmp22_;
	GtkComboBoxText* _tmp23_;
	GtkBuilder* _tmp24_;
	GObject* _tmp25_;
	GtkButton* _tmp26_;
	GtkBuilder* _tmp27_;
	GObject* _tmp28_;
	GtkButton* _tmp29_;
	GtkBuilder* _tmp34_;
	GObject* _tmp35_;
	GtkEntry* _tmp36_;
	GtkBuilder* _tmp37_;
	GObject* _tmp38_;
	GtkComboBoxText* _tmp39_;
	GtkBuilder* _tmp40_;
	GObject* _tmp41_;
	GtkLabel* _tmp42_;
	GtkBuilder* _tmp43_;
	GObject* _tmp44_;
	GtkCheckButton* _tmp45_;
	GtkRadioButton* _tmp46_;
	GtkRadioButton* _tmp47_;
	gchar* label_text = NULL;
	gchar* _tmp48_;
	GtkLabel* _tmp51_;
	const gchar* _tmp52_;
	GtkCheckButton* _tmp53_;
	GtkComboBoxText* _tmp54_;
	GtkButton* _tmp55_;
	GtkButton* _tmp56_;
	GtkComboBoxText* _tmp57_;
	GtkComboBoxText* _tmp58_;
	gboolean _tmp59_ = FALSE;
	gboolean _tmp60_ = FALSE;
	GtkRadioButton* _tmp61_;
	GtkComboBoxText* _tmp65_;
#line 743 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (username != NULL, NULL);
#line 743 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (publisher), NULL);
#line 743 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (GTK_IS_BUILDER (builder), NULL);
#line 743 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = (PublishingFacebookPublishingOptionsPane*) g_object_new (object_type, NULL);
#line 747 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = _g_object_ref0 (builder);
#line 747 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->builder);
#line 747 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->builder = _tmp0_;
#line 748 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_vala_assert (builder != NULL, "builder != null");
#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = gtk_builder_get_objects (builder);
#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = _tmp1_;
#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_vala_assert (g_slist_length (_tmp2_) > ((guint) 0), "builder.get_objects().length() > 0");
#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_slist_free0 (_tmp2_);
#line 751 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3_ = (albums != NULL) ? _vala_array_dup2 (albums, albums_length1) : ((gpointer) albums);
#line 751 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3__length1 = albums_length1;
#line 751 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->albums = (_vala_array_free (self->priv->albums, self->priv->albums_length1, (GDestroyNotify) publishing_facebook_album_unref), NULL);
#line 751 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->albums = _tmp3_;
#line 751 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->albums_length1 = _tmp3__length1;
#line 751 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->_albums_size_ = self->priv->albums_length1;
#line 752 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp5_ = publishing_facebook_publishing_options_pane_create_privacy_descriptions (self, &_tmp4_);
#line 752 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->privacy_descriptions = (_vala_array_free (self->priv->privacy_descriptions, self->priv->privacy_descriptions_length1, (GDestroyNotify) publishing_facebook_publishing_options_pane_privacy_description_unref), NULL);
#line 752 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->privacy_descriptions = _tmp5_;
#line 752 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->privacy_descriptions_length1 = _tmp4_;
#line 752 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->_privacy_descriptions_size_ = self->priv->privacy_descriptions_length1;
#line 754 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp7_ = publishing_facebook_publishing_options_pane_create_resolution_list (self, &_tmp6_);
#line 754 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->possible_resolutions = (g_free (self->priv->possible_resolutions), NULL);
#line 754 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->possible_resolutions = _tmp7_;
#line 754 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->possible_resolutions_length1 = _tmp6_;
#line 754 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->_possible_resolutions_size_ = self->priv->possible_resolutions_length1;
#line 755 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp8_ = _g_object_ref0 (publisher);
#line 755 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->publisher);
#line 755 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->publisher = _tmp8_;
#line 758 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->media_type = media_type;
#line 760 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp9_ = gtk_builder_get_object (builder, "facebook_pane_box");
#line 760 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp10_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_box_get_type (), GtkBox));
#line 760 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->pane_widget);
#line 760 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->pane_widget = _tmp10_;
#line 761 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp11_ = self->priv->pane_widget;
#line 761 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	gtk_container_set_border_width (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_container_get_type (), GtkContainer), (guint) 16);
#line 763 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp12_ = self->priv->builder;
#line 763 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp13_ = gtk_builder_get_object (_tmp12_, "use_existing_radio");
#line 763 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp14_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, gtk_radio_button_get_type (), GtkRadioButton));
#line 763 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->use_existing_radio);
#line 763 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->use_existing_radio = _tmp14_;
#line 764 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp15_ = self->priv->builder;
#line 764 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp16_ = gtk_builder_get_object (_tmp15_, "create_new_radio");
#line 764 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp17_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_radio_button_get_type (), GtkRadioButton));
#line 764 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->create_new_radio);
#line 764 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->create_new_radio = _tmp17_;
#line 765 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp18_ = self->priv->builder;
#line 765 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp19_ = gtk_builder_get_object (_tmp18_, "existing_albums_combo");
#line 765 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp20_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, gtk_combo_box_text_get_type (), GtkComboBoxText));
#line 765 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->existing_albums_combo);
#line 765 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->existing_albums_combo = _tmp20_;
#line 766 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp21_ = self->priv->builder;
#line 766 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp22_ = gtk_builder_get_object (_tmp21_, "visibility_combo");
#line 766 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp23_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, gtk_combo_box_text_get_type (), GtkComboBoxText));
#line 766 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->visibility_combo);
#line 766 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->visibility_combo = _tmp23_;
#line 767 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp24_ = self->priv->builder;
#line 767 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp25_ = gtk_builder_get_object (_tmp24_, "publish_button");
#line 767 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp26_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, gtk_button_get_type (), GtkButton));
#line 767 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->publish_button);
#line 767 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->publish_button = _tmp26_;
#line 768 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp27_ = self->priv->builder;
#line 768 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp28_ = gtk_builder_get_object (_tmp27_, "logout_button");
#line 768 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp29_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, gtk_button_get_type (), GtkButton));
#line 768 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->logout_button);
#line 768 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->logout_button = _tmp29_;
#line 769 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!can_logout) {
#line 4977 "FacebookPublishing.c"
		GtkButton* _tmp30_;
		GtkContainer* _tmp31_;
		GtkContainer* _tmp32_;
		GtkButton* _tmp33_;
#line 770 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp30_ = self->priv->logout_button;
#line 770 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp31_ = gtk_widget_get_parent (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, gtk_widget_get_type (), GtkWidget));
#line 770 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp32_ = _tmp31_;
#line 770 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp33_ = self->priv->logout_button;
#line 770 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		gtk_container_remove (_tmp32_, G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, gtk_widget_get_type (), GtkWidget));
#line 4992 "FacebookPublishing.c"
	}
#line 772 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp34_ = self->priv->builder;
#line 772 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp35_ = gtk_builder_get_object (_tmp34_, "new_album_entry");
#line 772 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp36_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, gtk_entry_get_type (), GtkEntry));
#line 772 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->new_album_entry);
#line 772 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->new_album_entry = _tmp36_;
#line 773 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp37_ = self->priv->builder;
#line 773 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp38_ = gtk_builder_get_object (_tmp37_, "resolution_combo");
#line 773 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp39_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, gtk_combo_box_text_get_type (), GtkComboBoxText));
#line 773 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->resolution_combo);
#line 773 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->resolution_combo = _tmp39_;
#line 774 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp40_ = self->priv->builder;
#line 774 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp41_ = gtk_builder_get_object (_tmp40_, "how_to_label");
#line 774 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp42_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, gtk_label_get_type (), GtkLabel));
#line 774 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->how_to_label);
#line 774 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->how_to_label = _tmp42_;
#line 775 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp43_ = self->priv->builder;
#line 775 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp44_ = gtk_builder_get_object (_tmp43_, "strip_metadata_check");
#line 775 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp45_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, gtk_check_button_get_type (), GtkCheckButton));
#line 775 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->strip_metadata_check);
#line 775 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->strip_metadata_check = _tmp45_;
#line 777 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp46_ = self->priv->create_new_radio;
#line 777 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, gtk_button_get_type (), GtkButton), "clicked", (GCallback) _publishing_facebook_publishing_options_pane_on_create_new_toggled_gtk_button_clicked, self, 0);
#line 778 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp47_ = self->priv->use_existing_radio;
#line 778 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, gtk_button_get_type (), GtkButton), "clicked", (GCallback) _publishing_facebook_publishing_options_pane_on_use_existing_toggled_gtk_button_clicked, self, 0);
#line 780 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp48_ = g_strdup_printf (PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_HEADER_LABEL_TEXT, username);
#line 780 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	label_text = _tmp48_;
#line 781 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if ((media_type & SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO) != 0) {
#line 5048 "FacebookPublishing.c"
		const gchar* _tmp49_;
		gchar* _tmp50_;
#line 782 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp49_ = label_text;
#line 782 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp50_ = g_strconcat (_tmp49_, PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_PHOTOS_LABEL_TEXT, NULL);
#line 782 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_free0 (label_text);
#line 782 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		label_text = _tmp50_;
#line 5059 "FacebookPublishing.c"
	}
#line 783 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp51_ = self->priv->how_to_label;
#line 783 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp52_ = label_text;
#line 783 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	gtk_label_set_label (_tmp51_, _tmp52_);
#line 784 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp53_ = self->priv->strip_metadata_check;
#line 784 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, gtk_toggle_button_get_type (), GtkToggleButton), strip_metadata);
#line 786 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_publishing_options_pane_setup_visibility_combo (self);
#line 787 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp54_ = self->priv->visibility_combo;
#line 787 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp54_, gtk_combo_box_get_type (), GtkComboBox), 0);
#line 789 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp55_ = self->priv->publish_button;
#line 789 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_connect_object (_tmp55_, "clicked", (GCallback) _publishing_facebook_publishing_options_pane_on_publish_button_clicked_gtk_button_clicked, self, 0);
#line 790 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp56_ = self->priv->logout_button;
#line 790 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_connect_object (_tmp56_, "clicked", (GCallback) _publishing_facebook_publishing_options_pane_on_logout_button_clicked_gtk_button_clicked, self, 0);
#line 792 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_publishing_options_pane_setup_resolution_combo (self);
#line 793 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp57_ = self->priv->resolution_combo;
#line 793 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp57_, gtk_combo_box_get_type (), GtkComboBox), publishing_facebook_facebook_publisher_get_persistent_default_size (publisher));
#line 794 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp58_ = self->priv->resolution_combo;
#line 794 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp58_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _publishing_facebook_publishing_options_pane_on_size_changed_gtk_combo_box_changed, self, 0);
#line 800 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp61_ = self->priv->create_new_radio;
#line 800 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (_tmp61_ != NULL) {
#line 5099 "FacebookPublishing.c"
		GtkRadioButton* _tmp62_;
		gboolean _tmp63_;
		gboolean _tmp64_;
#line 800 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp62_ = self->priv->create_new_radio;
#line 800 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp63_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp62_, gtk_toggle_button_get_type (), GtkToggleButton));
#line 800 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp64_ = _tmp63_;
#line 800 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp60_ = _tmp64_;
#line 5111 "FacebookPublishing.c"
	} else {
#line 800 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp60_ = FALSE;
#line 5115 "FacebookPublishing.c"
	}
#line 800 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (_tmp60_) {
#line 800 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp59_ = TRUE;
#line 5121 "FacebookPublishing.c"
	} else {
#line 801 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp59_ = (media_type & SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO) != 0;
#line 5125 "FacebookPublishing.c"
	}
#line 799 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp65_ = self->priv->visibility_combo;
#line 799 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp65_, gtk_widget_get_type (), GtkWidget), _tmp59_);
#line 804 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (media_type == SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO) {
#line 5133 "FacebookPublishing.c"
		GtkCheckButton* _tmp66_;
		GtkCheckButton* _tmp67_;
		GtkComboBoxText* _tmp68_;
		GtkRadioButton* _tmp69_;
		GtkRadioButton* _tmp70_;
		GtkComboBoxText* _tmp71_;
		GtkEntry* _tmp72_;
#line 805 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp66_ = self->priv->strip_metadata_check;
#line 805 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp66_, gtk_toggle_button_get_type (), GtkToggleButton), FALSE);
#line 806 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp67_ = self->priv->strip_metadata_check;
#line 806 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp67_, gtk_widget_get_type (), GtkWidget), FALSE);
#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp68_ = self->priv->resolution_combo;
#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp68_, gtk_widget_get_type (), GtkWidget), FALSE);
#line 808 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp69_ = self->priv->use_existing_radio;
#line 808 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp69_, gtk_widget_get_type (), GtkWidget), FALSE);
#line 809 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp70_ = self->priv->create_new_radio;
#line 809 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp70_, gtk_widget_get_type (), GtkWidget), FALSE);
#line 810 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp71_ = self->priv->existing_albums_combo;
#line 810 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp71_, gtk_widget_get_type (), GtkWidget), FALSE);
#line 811 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp72_ = self->priv->new_album_entry;
#line 811 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp72_, gtk_widget_get_type (), GtkWidget), FALSE);
#line 5169 "FacebookPublishing.c"
	}
#line 743 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (label_text);
#line 743 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return self;
#line 5175 "FacebookPublishing.c"
}


PublishingFacebookPublishingOptionsPane*
publishing_facebook_publishing_options_pane_new (const gchar* username,
                                                 PublishingFacebookAlbum** albums,
                                                 int albums_length1,
                                                 SpitPublishingPublisherMediaType media_type,
                                                 PublishingFacebookFacebookPublisher* publisher,
                                                 GtkBuilder* builder,
                                                 gboolean strip_metadata,
                                                 gboolean can_logout)
{
#line 743 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return publishing_facebook_publishing_options_pane_construct (PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, username, albums, albums_length1, media_type, publisher, builder, strip_metadata, can_logout);
#line 5191 "FacebookPublishing.c"
}


static gboolean
publishing_facebook_publishing_options_pane_publishing_photos (PublishingFacebookPublishingOptionsPane* self)
{
	gboolean result = FALSE;
	SpitPublishingPublisherMediaType _tmp0_;
#line 815 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_OPTIONS_PANE (self), FALSE);
#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->media_type;
#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	result = (_tmp0_ & SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO) != 0;
#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return result;
#line 5208 "FacebookPublishing.c"
}


static gpointer
_publishing_facebook_publishing_options_pane_privacy_description_ref0 (gpointer self)
{
#line 820 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return self ? publishing_facebook_publishing_options_pane_privacy_description_ref (self) : NULL;
#line 5217 "FacebookPublishing.c"
}


static void
publishing_facebook_publishing_options_pane_setup_visibility_combo (PublishingFacebookPublishingOptionsPane* self)
{
	PublishingFacebookPublishingOptionsPanePrivacyDescription** _tmp0_;
	gint _tmp0__length1;
#line 819 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_OPTIONS_PANE (self));
#line 820 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->privacy_descriptions;
#line 820 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0__length1 = self->priv->privacy_descriptions_length1;
#line 5232 "FacebookPublishing.c"
	{
		PublishingFacebookPublishingOptionsPanePrivacyDescription** p_collection = NULL;
		gint p_collection_length1 = 0;
		gint _p_collection_size_ = 0;
		gint p_it = 0;
#line 820 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		p_collection = _tmp0_;
#line 820 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		p_collection_length1 = _tmp0__length1;
#line 820 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		for (p_it = 0; p_it < _tmp0__length1; p_it = p_it + 1) {
#line 5244 "FacebookPublishing.c"
			PublishingFacebookPublishingOptionsPanePrivacyDescription* _tmp1_;
			PublishingFacebookPublishingOptionsPanePrivacyDescription* p = NULL;
#line 820 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp1_ = _publishing_facebook_publishing_options_pane_privacy_description_ref0 (p_collection[p_it]);
#line 820 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			p = _tmp1_;
#line 5251 "FacebookPublishing.c"
			{
				GtkComboBoxText* _tmp2_;
				PublishingFacebookPublishingOptionsPanePrivacyDescription* _tmp3_;
				const gchar* _tmp4_;
#line 821 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp2_ = self->priv->visibility_combo;
#line 821 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp3_ = p;
#line 821 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp4_ = _tmp3_->description;
#line 821 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				gtk_combo_box_text_append_text (_tmp2_, _tmp4_);
#line 820 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_publishing_facebook_publishing_options_pane_privacy_description_unref0 (p);
#line 5266 "FacebookPublishing.c"
			}
		}
	}
}


static void
publishing_facebook_publishing_options_pane_setup_resolution_combo (PublishingFacebookPublishingOptionsPane* self)
{
	PublishingFacebookResolution* _tmp0_;
	gint _tmp0__length1;
#line 824 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_OPTIONS_PANE (self));
#line 825 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->possible_resolutions;
#line 825 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0__length1 = self->priv->possible_resolutions_length1;
#line 5284 "FacebookPublishing.c"
	{
		PublishingFacebookResolution* res_collection = NULL;
		gint res_collection_length1 = 0;
		gint _res_collection_size_ = 0;
		gint res_it = 0;
#line 825 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		res_collection = _tmp0_;
#line 825 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		res_collection_length1 = _tmp0__length1;
#line 825 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		for (res_it = 0; res_it < _tmp0__length1; res_it = res_it + 1) {
#line 5296 "FacebookPublishing.c"
			PublishingFacebookResolution res = 0;
#line 825 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			res = res_collection[res_it];
#line 5300 "FacebookPublishing.c"
			{
				GtkComboBoxText* _tmp1_;
				PublishingFacebookResolution _tmp2_;
				gchar* _tmp3_;
				gchar* _tmp4_;
#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp1_ = self->priv->resolution_combo;
#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp2_ = res;
#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp3_ = publishing_facebook_resolution_get_name (_tmp2_);
#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp4_ = _tmp3_;
#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				gtk_combo_box_text_append_text (_tmp1_, _tmp4_);
#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_g_free0 (_tmp4_);
#line 5318 "FacebookPublishing.c"
			}
		}
	}
}


static void
publishing_facebook_publishing_options_pane_on_use_existing_toggled (PublishingFacebookPublishingOptionsPane* self)
{
	GtkRadioButton* _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
#line 829 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_OPTIONS_PANE (self));
#line 830 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->use_existing_radio;
#line 830 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_button_get_type (), GtkToggleButton));
#line 830 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = _tmp1_;
#line 830 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (_tmp2_) {
#line 5341 "FacebookPublishing.c"
		GtkComboBoxText* _tmp3_;
		GtkEntry* _tmp4_;
		GtkComboBoxText* _tmp5_;
		SpitPublishingPublisherMediaType _tmp6_;
		GtkComboBoxText* _tmp7_;
#line 831 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp3_ = self->priv->existing_albums_combo;
#line 831 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget), TRUE);
#line 832 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp4_ = self->priv->new_album_entry;
#line 832 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget), FALSE);
#line 837 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp5_ = self->priv->visibility_combo;
#line 837 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp6_ = self->priv->media_type;
#line 837 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget), (_tmp6_ & SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO) != 0);
#line 839 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp7_ = self->priv->existing_albums_combo;
#line 839 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget));
#line 5365 "FacebookPublishing.c"
	}
}


static void
publishing_facebook_publishing_options_pane_on_create_new_toggled (PublishingFacebookPublishingOptionsPane* self)
{
	GtkRadioButton* _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
#line 843 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_OPTIONS_PANE (self));
#line 844 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->create_new_radio;
#line 844 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_button_get_type (), GtkToggleButton));
#line 844 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = _tmp1_;
#line 844 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (_tmp2_) {
#line 5386 "FacebookPublishing.c"
		GtkComboBoxText* _tmp3_;
		GtkEntry* _tmp4_;
		GtkEntry* _tmp5_;
		GtkComboBoxText* _tmp6_;
#line 845 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp3_ = self->priv->existing_albums_combo;
#line 845 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget), FALSE);
#line 846 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp4_ = self->priv->new_album_entry;
#line 846 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget), TRUE);
#line 847 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp5_ = self->priv->new_album_entry;
#line 847 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget));
#line 851 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp6_ = self->priv->visibility_combo;
#line 851 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget), TRUE);
#line 5407 "FacebookPublishing.c"
	}
}


static void
publishing_facebook_publishing_options_pane_on_size_changed (PublishingFacebookPublishingOptionsPane* self)
{
	PublishingFacebookFacebookPublisher* _tmp0_;
	GtkComboBoxText* _tmp1_;
#line 855 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_OPTIONS_PANE (self));
#line 856 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->publisher;
#line 856 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = self->priv->resolution_combo;
#line 856 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_facebook_publisher_set_persistent_default_size (_tmp0_, gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_combo_box_get_type (), GtkComboBox)));
#line 5425 "FacebookPublishing.c"
}


static void
publishing_facebook_publishing_options_pane_on_logout_button_clicked (PublishingFacebookPublishingOptionsPane* self)
{
#line 859 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_OPTIONS_PANE (self));
#line 860 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_emit (self, publishing_facebook_publishing_options_pane_signals[PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_LOGOUT_SIGNAL], 0);
#line 5436 "FacebookPublishing.c"
}


static void
publishing_facebook_publishing_options_pane_on_publish_button_clicked (PublishingFacebookPublishingOptionsPane* self)
{
	gchar* album_name = NULL;
	gchar* privacy_setting = NULL;
	PublishingFacebookPublishingOptionsPanePrivacyDescription** _tmp0_;
	gint _tmp0__length1;
	GtkComboBoxText* _tmp1_;
	PublishingFacebookPublishingOptionsPanePrivacyDescription* _tmp2_;
	const gchar* _tmp3_;
	gchar* _tmp4_;
	PublishingFacebookResolution resolution_setting = 0;
	const gchar* _tmp16_;
	const gchar* _tmp17_;
	PublishingFacebookResolution _tmp18_;
	GtkCheckButton* _tmp19_;
#line 863 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_OPTIONS_PANE (self));
#line 865 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->privacy_descriptions;
#line 865 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0__length1 = self->priv->privacy_descriptions_length1;
#line 865 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = self->priv->visibility_combo;
#line 865 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = _tmp0_[gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_combo_box_get_type (), GtkComboBox))];
#line 865 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3_ = _tmp2_->privacy_setting;
#line 865 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp4_ = g_strdup (_tmp3_);
#line 865 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	privacy_setting = _tmp4_;
#line 869 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (publishing_facebook_publishing_options_pane_publishing_photos (self)) {
#line 5474 "FacebookPublishing.c"
		PublishingFacebookResolution* _tmp5_;
		gint _tmp5__length1;
		GtkComboBoxText* _tmp6_;
		PublishingFacebookResolution _tmp7_;
		GtkRadioButton* _tmp8_;
		gboolean _tmp9_;
		gboolean _tmp10_;
#line 870 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp5_ = self->priv->possible_resolutions;
#line 870 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp5__length1 = self->priv->possible_resolutions_length1;
#line 870 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp6_ = self->priv->resolution_combo;
#line 870 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp7_ = _tmp5_[gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_combo_box_get_type (), GtkComboBox))];
#line 870 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		resolution_setting = _tmp7_;
#line 871 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp8_ = self->priv->use_existing_radio;
#line 871 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp9_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_toggle_button_get_type (), GtkToggleButton));
#line 871 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp10_ = _tmp9_;
#line 871 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		if (_tmp10_) {
#line 5500 "FacebookPublishing.c"
			GtkComboBoxText* _tmp11_;
			gchar* _tmp12_;
#line 872 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp11_ = self->priv->existing_albums_combo;
#line 872 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp12_ = gtk_combo_box_text_get_active_text (_tmp11_);
#line 872 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_g_free0 (album_name);
#line 872 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			album_name = _tmp12_;
#line 5511 "FacebookPublishing.c"
		} else {
			GtkEntry* _tmp13_;
			const gchar* _tmp14_;
			gchar* _tmp15_;
#line 874 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp13_ = self->priv->new_album_entry;
#line 874 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp14_ = gtk_entry_get_text (_tmp13_);
#line 874 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp15_ = g_strdup (_tmp14_);
#line 874 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_g_free0 (album_name);
#line 874 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			album_name = _tmp15_;
#line 5526 "FacebookPublishing.c"
		}
	} else {
#line 877 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		resolution_setting = PUBLISHING_FACEBOOK_RESOLUTION_STANDARD;
#line 878 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_free0 (album_name);
#line 878 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		album_name = NULL;
#line 5535 "FacebookPublishing.c"
	}
#line 881 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp16_ = album_name;
#line 881 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp17_ = privacy_setting;
#line 881 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp18_ = resolution_setting;
#line 881 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp19_ = self->priv->strip_metadata_check;
#line 881 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_emit (self, publishing_facebook_publishing_options_pane_signals[PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_PUBLISH_SIGNAL], 0, _tmp16_, _tmp17_, _tmp18_, gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, gtk_toggle_button_get_type (), GtkToggleButton)));
#line 863 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (privacy_setting);
#line 863 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (album_name);
#line 5551 "FacebookPublishing.c"
}


static void
_vala_array_add8 (PublishingFacebookPublishingOptionsPanePrivacyDescription** * array,
                  int* length,
                  int* size,
                  PublishingFacebookPublishingOptionsPanePrivacyDescription* value)
{
#line 887 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if ((*length) == (*size)) {
#line 887 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 887 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*array = g_renew (PublishingFacebookPublishingOptionsPanePrivacyDescription*, *array, (*size) + 1);
#line 5567 "FacebookPublishing.c"
	}
#line 887 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	(*array)[(*length)++] = value;
#line 887 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	(*array)[*length] = NULL;
#line 5573 "FacebookPublishing.c"
}


static void
_vala_array_add9 (PublishingFacebookPublishingOptionsPanePrivacyDescription** * array,
                  int* length,
                  int* size,
                  PublishingFacebookPublishingOptionsPanePrivacyDescription* value)
{
#line 888 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if ((*length) == (*size)) {
#line 888 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 888 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*array = g_renew (PublishingFacebookPublishingOptionsPanePrivacyDescription*, *array, (*size) + 1);
#line 5589 "FacebookPublishing.c"
	}
#line 888 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	(*array)[(*length)++] = value;
#line 888 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	(*array)[*length] = NULL;
#line 5595 "FacebookPublishing.c"
}


static void
_vala_array_add10 (PublishingFacebookPublishingOptionsPanePrivacyDescription** * array,
                   int* length,
                   int* size,
                   PublishingFacebookPublishingOptionsPanePrivacyDescription* value)
{
#line 889 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if ((*length) == (*size)) {
#line 889 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 889 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*array = g_renew (PublishingFacebookPublishingOptionsPanePrivacyDescription*, *array, (*size) + 1);
#line 5611 "FacebookPublishing.c"
	}
#line 889 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	(*array)[(*length)++] = value;
#line 889 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	(*array)[*length] = NULL;
#line 5617 "FacebookPublishing.c"
}


static PublishingFacebookPublishingOptionsPanePrivacyDescription**
publishing_facebook_publishing_options_pane_create_privacy_descriptions (PublishingFacebookPublishingOptionsPane* self,
                                                                         int* result_length1)
{
	PublishingFacebookPublishingOptionsPanePrivacyDescription** result = NULL;
	PublishingFacebookPublishingOptionsPanePrivacyDescription** _result_ = NULL;
	PublishingFacebookPublishingOptionsPanePrivacyDescription** _tmp0_;
	gint _result__length1;
	gint __result__size_;
	PublishingFacebookPublishingOptionsPanePrivacyDescription** _tmp1_;
	gint _tmp1__length1;
	PublishingFacebookPublishingOptionsPanePrivacyDescription* _tmp2_;
	PublishingFacebookPublishingOptionsPanePrivacyDescription** _tmp3_;
	gint _tmp3__length1;
	PublishingFacebookPublishingOptionsPanePrivacyDescription* _tmp4_;
	PublishingFacebookPublishingOptionsPanePrivacyDescription** _tmp5_;
	gint _tmp5__length1;
	PublishingFacebookPublishingOptionsPanePrivacyDescription* _tmp6_;
	PublishingFacebookPublishingOptionsPanePrivacyDescription** _tmp7_;
	gint _tmp7__length1;
#line 884 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_OPTIONS_PANE (self), NULL);
#line 885 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = g_new0 (PublishingFacebookPublishingOptionsPanePrivacyDescription*, 0 + 1);
#line 885 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_result_ = _tmp0_;
#line 885 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_result__length1 = 0;
#line 885 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	__result__size_ = _result__length1;
#line 887 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = _result_;
#line 887 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1__length1 = _result__length1;
#line 887 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = publishing_facebook_publishing_options_pane_privacy_description_new (_ ("Just me"), "{ 'value' : 'SELF' }");
#line 887 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_vala_array_add8 (&_result_, &_result__length1, &__result__size_, _tmp2_);
#line 888 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3_ = _result_;
#line 888 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3__length1 = _result__length1;
#line 888 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp4_ = publishing_facebook_publishing_options_pane_privacy_description_new (_ ("Friends"), "{ 'value' : 'ALL_FRIENDS' }");
#line 888 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_vala_array_add9 (&_result_, &_result__length1, &__result__size_, _tmp4_);
#line 889 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp5_ = _result_;
#line 889 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp5__length1 = _result__length1;
#line 889 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp6_ = publishing_facebook_publishing_options_pane_privacy_description_new (_ ("Everyone"), "{ 'value' : 'EVERYONE' }");
#line 889 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_vala_array_add10 (&_result_, &_result__length1, &__result__size_, _tmp6_);
#line 891 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp7_ = _result_;
#line 891 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp7__length1 = _result__length1;
#line 891 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (result_length1) {
#line 891 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*result_length1 = _tmp7__length1;
#line 5683 "FacebookPublishing.c"
	}
#line 891 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	result = _tmp7_;
#line 891 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return result;
#line 5689 "FacebookPublishing.c"
}


static void
_vala_array_add11 (PublishingFacebookResolution* * array,
                   int* length,
                   int* size,
                   PublishingFacebookResolution value)
{
#line 897 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if ((*length) == (*size)) {
#line 897 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 897 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*array = g_renew (PublishingFacebookResolution, *array, *size);
#line 5705 "FacebookPublishing.c"
	}
#line 897 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	(*array)[(*length)++] = value;
#line 5709 "FacebookPublishing.c"
}


static void
_vala_array_add12 (PublishingFacebookResolution* * array,
                   int* length,
                   int* size,
                   PublishingFacebookResolution value)
{
#line 898 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if ((*length) == (*size)) {
#line 898 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 898 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*array = g_renew (PublishingFacebookResolution, *array, *size);
#line 5725 "FacebookPublishing.c"
	}
#line 898 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	(*array)[(*length)++] = value;
#line 5729 "FacebookPublishing.c"
}


static PublishingFacebookResolution*
publishing_facebook_publishing_options_pane_create_resolution_list (PublishingFacebookPublishingOptionsPane* self,
                                                                    int* result_length1)
{
	PublishingFacebookResolution* result = NULL;
	PublishingFacebookResolution* _result_ = NULL;
	PublishingFacebookResolution* _tmp0_;
	gint _result__length1;
	gint __result__size_;
	PublishingFacebookResolution* _tmp1_;
	gint _tmp1__length1;
	PublishingFacebookResolution* _tmp2_;
	gint _tmp2__length1;
	PublishingFacebookResolution* _tmp3_;
	gint _tmp3__length1;
#line 894 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_OPTIONS_PANE (self), NULL);
#line 895 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = g_new0 (PublishingFacebookResolution, 0);
#line 895 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_result_ = _tmp0_;
#line 895 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_result__length1 = 0;
#line 895 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	__result__size_ = _result__length1;
#line 897 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = _result_;
#line 897 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1__length1 = _result__length1;
#line 897 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_vala_array_add11 (&_result_, &_result__length1, &__result__size_, PUBLISHING_FACEBOOK_RESOLUTION_STANDARD);
#line 898 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = _result_;
#line 898 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2__length1 = _result__length1;
#line 898 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_vala_array_add12 (&_result_, &_result__length1, &__result__size_, PUBLISHING_FACEBOOK_RESOLUTION_HIGH);
#line 900 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3_ = _result_;
#line 900 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3__length1 = _result__length1;
#line 900 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (result_length1) {
#line 900 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*result_length1 = _tmp3__length1;
#line 5778 "FacebookPublishing.c"
	}
#line 900 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	result = _tmp3_;
#line 900 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return result;
#line 5784 "FacebookPublishing.c"
}


void
publishing_facebook_publishing_options_pane_installed (PublishingFacebookPublishingOptionsPane* self)
{
	GtkButton* _tmp23_;
#line 903 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_OPTIONS_PANE (self));
#line 904 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (publishing_facebook_publishing_options_pane_publishing_photos (self)) {
#line 5796 "FacebookPublishing.c"
		PublishingFacebookAlbum** _tmp0_;
		gint _tmp0__length1;
#line 905 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp0_ = self->priv->albums;
#line 905 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp0__length1 = self->priv->albums_length1;
#line 905 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		if (_tmp0__length1 == 0) {
#line 5805 "FacebookPublishing.c"
			GtkRadioButton* _tmp1_;
			GtkEntry* _tmp2_;
			GtkComboBoxText* _tmp3_;
			GtkRadioButton* _tmp4_;
#line 906 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp1_ = self->priv->create_new_radio;
#line 906 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_toggle_button_get_type (), GtkToggleButton), TRUE);
#line 907 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp2_ = self->priv->new_album_entry;
#line 907 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			gtk_entry_set_text (_tmp2_, PUBLISHING_FACEBOOK_DEFAULT_ALBUM_NAME);
#line 908 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp3_ = self->priv->existing_albums_combo;
#line 908 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget), FALSE);
#line 909 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp4_ = self->priv->use_existing_radio;
#line 909 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget), FALSE);
#line 5826 "FacebookPublishing.c"
		} else {
			gint default_album_seq_num = 0;
			gint ticker = 0;
			PublishingFacebookAlbum** _tmp5_;
			gint _tmp5__length1;
			gint _tmp14_;
#line 911 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			default_album_seq_num = -1;
#line 912 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			ticker = 0;
#line 913 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp5_ = self->priv->albums;
#line 913 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp5__length1 = self->priv->albums_length1;
#line 5841 "FacebookPublishing.c"
			{
				PublishingFacebookAlbum** album_collection = NULL;
				gint album_collection_length1 = 0;
				gint _album_collection_size_ = 0;
				gint album_it = 0;
#line 913 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				album_collection = _tmp5_;
#line 913 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				album_collection_length1 = _tmp5__length1;
#line 913 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				for (album_it = 0; album_it < _tmp5__length1; album_it = album_it + 1) {
#line 5853 "FacebookPublishing.c"
					PublishingFacebookAlbum* _tmp6_;
					PublishingFacebookAlbum* album = NULL;
#line 913 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					_tmp6_ = _publishing_facebook_album_ref0 (album_collection[album_it]);
#line 913 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
					album = _tmp6_;
#line 5860 "FacebookPublishing.c"
					{
						GtkComboBoxText* _tmp7_;
						PublishingFacebookAlbum* _tmp8_;
						const gchar* _tmp9_;
						PublishingFacebookAlbum* _tmp10_;
						const gchar* _tmp11_;
						gint _tmp13_;
#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
						_tmp7_ = self->priv->existing_albums_combo;
#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
						_tmp8_ = album;
#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
						_tmp9_ = _tmp8_->name;
#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
						gtk_combo_box_text_append_text (_tmp7_, _tmp9_);
#line 915 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
						_tmp10_ = album;
#line 915 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
						_tmp11_ = _tmp10_->name;
#line 915 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
						if (g_strcmp0 (_tmp11_, PUBLISHING_FACEBOOK_DEFAULT_ALBUM_NAME) == 0) {
#line 5882 "FacebookPublishing.c"
							gint _tmp12_;
#line 916 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
							_tmp12_ = ticker;
#line 916 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
							default_album_seq_num = _tmp12_;
#line 5888 "FacebookPublishing.c"
						}
#line 917 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
						_tmp13_ = ticker;
#line 917 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
						ticker = _tmp13_ + 1;
#line 913 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
						_publishing_facebook_album_unref0 (album);
#line 5896 "FacebookPublishing.c"
					}
				}
			}
#line 919 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp14_ = default_album_seq_num;
#line 919 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			if (_tmp14_ != -1) {
#line 5904 "FacebookPublishing.c"
				GtkComboBoxText* _tmp15_;
				gint _tmp16_;
				GtkRadioButton* _tmp17_;
				GtkEntry* _tmp18_;
#line 920 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp15_ = self->priv->existing_albums_combo;
#line 920 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp16_ = default_album_seq_num;
#line 920 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_combo_box_get_type (), GtkComboBox), _tmp16_);
#line 921 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp17_ = self->priv->use_existing_radio;
#line 921 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_toggle_button_get_type (), GtkToggleButton), TRUE);
#line 922 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp18_ = self->priv->new_album_entry;
#line 922 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_widget_get_type (), GtkWidget), FALSE);
#line 5923 "FacebookPublishing.c"
			} else {
				GtkRadioButton* _tmp19_;
				GtkComboBoxText* _tmp20_;
				GtkComboBoxText* _tmp21_;
				GtkEntry* _tmp22_;
#line 925 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp19_ = self->priv->create_new_radio;
#line 925 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, gtk_toggle_button_get_type (), GtkToggleButton), TRUE);
#line 926 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp20_ = self->priv->existing_albums_combo;
#line 926 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, gtk_combo_box_get_type (), GtkComboBox), 0);
#line 927 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp21_ = self->priv->existing_albums_combo;
#line 927 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, gtk_widget_get_type (), GtkWidget), FALSE);
#line 928 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp22_ = self->priv->new_album_entry;
#line 928 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				gtk_entry_set_text (_tmp22_, PUBLISHING_FACEBOOK_DEFAULT_ALBUM_NAME);
#line 5945 "FacebookPublishing.c"
			}
		}
	}
#line 933 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp23_ = self->priv->publish_button;
#line 933 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, gtk_widget_get_type (), GtkWidget));
#line 5953 "FacebookPublishing.c"
}


static void
publishing_facebook_publishing_options_pane_notify_logout (PublishingFacebookPublishingOptionsPane* self)
{
#line 936 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_OPTIONS_PANE (self));
#line 937 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_emit (self, publishing_facebook_publishing_options_pane_signals[PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_LOGOUT_SIGNAL], 0);
#line 5964 "FacebookPublishing.c"
}


static void
publishing_facebook_publishing_options_pane_notify_publish (PublishingFacebookPublishingOptionsPane* self,
                                                            const gchar* target_album,
                                                            const gchar* privacy_setting,
                                                            PublishingFacebookResolution target_resolution)
{
	GtkCheckButton* _tmp0_;
#line 940 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_OPTIONS_PANE (self));
#line 940 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (privacy_setting != NULL);
#line 941 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->strip_metadata_check;
#line 941 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_emit (self, publishing_facebook_publishing_options_pane_signals[PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_PUBLISH_SIGNAL], 0, target_album, privacy_setting, target_resolution, gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_button_get_type (), GtkToggleButton)));
#line 5983 "FacebookPublishing.c"
}


static GtkWidget*
publishing_facebook_publishing_options_pane_real_get_widget (SpitPublishingDialogPane* base)
{
	PublishingFacebookPublishingOptionsPane * self;
	GtkWidget* result = NULL;
	GtkBox* _tmp0_;
	GtkWidget* _tmp1_;
#line 944 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, PublishingFacebookPublishingOptionsPane);
#line 945 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->pane_widget;
#line 945 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget));
#line 945 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	result = _tmp1_;
#line 945 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return result;
#line 6004 "FacebookPublishing.c"
}


static SpitPublishingDialogPaneGeometryOptions
publishing_facebook_publishing_options_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base)
{
	PublishingFacebookPublishingOptionsPane * self;
	SpitPublishingDialogPaneGeometryOptions result = 0;
#line 948 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, PublishingFacebookPublishingOptionsPane);
#line 949 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	result = SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_NONE;
#line 949 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return result;
#line 6019 "FacebookPublishing.c"
}


static void
_publishing_facebook_publishing_options_pane_notify_logout_publishing_facebook_publishing_options_pane_logout (PublishingFacebookPublishingOptionsPane* _sender,
                                                                                                               gpointer self)
{
#line 953 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_publishing_options_pane_notify_logout ((PublishingFacebookPublishingOptionsPane*) self);
#line 6029 "FacebookPublishing.c"
}


static void
_publishing_facebook_publishing_options_pane_notify_publish_publishing_facebook_publishing_options_pane_publish (PublishingFacebookPublishingOptionsPane* _sender,
                                                                                                                 const gchar* target_album,
                                                                                                                 const gchar* privacy_setting,
                                                                                                                 PublishingFacebookResolution target_resolution,
                                                                                                                 gboolean strip_metadata,
                                                                                                                 gpointer self)
{
#line 954 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_publishing_options_pane_notify_publish ((PublishingFacebookPublishingOptionsPane*) self, target_album, privacy_setting, target_resolution);
#line 6043 "FacebookPublishing.c"
}


static void
publishing_facebook_publishing_options_pane_real_on_pane_installed (SpitPublishingDialogPane* base)
{
	PublishingFacebookPublishingOptionsPane * self;
#line 952 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, PublishingFacebookPublishingOptionsPane);
#line 953 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_connect_object (self, "logout", (GCallback) _publishing_facebook_publishing_options_pane_notify_logout_publishing_facebook_publishing_options_pane_logout, self, 0);
#line 954 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_connect_object (self, "publish", (GCallback) _publishing_facebook_publishing_options_pane_notify_publish_publishing_facebook_publishing_options_pane_publish, self, 0);
#line 956 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_publishing_options_pane_installed (self);
#line 6059 "FacebookPublishing.c"
}


static void
publishing_facebook_publishing_options_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base)
{
	PublishingFacebookPublishingOptionsPane * self;
	guint _tmp0_;
	guint _tmp1_;
#line 959 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, PublishingFacebookPublishingOptionsPane);
#line 960 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_parse_name ("logout", PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, &_tmp0_, NULL, FALSE);
#line 960 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_disconnect_matched (self, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp0_, 0, NULL, (GCallback) _publishing_facebook_publishing_options_pane_notify_logout_publishing_facebook_publishing_options_pane_logout, self);
#line 961 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_parse_name ("publish", PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, &_tmp1_, NULL, FALSE);
#line 961 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_disconnect_matched (self, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_publishing_options_pane_notify_publish_publishing_facebook_publishing_options_pane_publish, self);
#line 6079 "FacebookPublishing.c"
}


static void
g_cclosure_user_marshal_VOID__STRING_STRING_ENUM_BOOLEAN (GClosure * closure,
                                                          GValue * return_value,
                                                          guint n_param_values,
                                                          const GValue * param_values,
                                                          gpointer invocation_hint,
                                                          gpointer marshal_data)
{
	typedef void (*GMarshalFunc_VOID__STRING_STRING_ENUM_BOOLEAN) (gpointer data1, const char* arg_1, const char* arg_2, gint arg_3, gboolean arg_4, gpointer data2);
	register GMarshalFunc_VOID__STRING_STRING_ENUM_BOOLEAN callback;
	register GCClosure * cc;
	register gpointer data1;
	register gpointer data2;
	cc = (GCClosure *) closure;
#line 702 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (n_param_values == 5);
#line 702 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (G_CCLOSURE_SWAP_DATA (closure)) {
#line 702 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		data1 = closure->data;
#line 702 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		data2 = param_values->data[0].v_pointer;
#line 6105 "FacebookPublishing.c"
	} else {
#line 702 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		data1 = param_values->data[0].v_pointer;
#line 702 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		data2 = closure->data;
#line 6111 "FacebookPublishing.c"
	}
#line 702 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	callback = (GMarshalFunc_VOID__STRING_STRING_ENUM_BOOLEAN) (marshal_data ? marshal_data : cc->callback);
#line 702 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	callback (data1, g_value_get_string (param_values + 1), g_value_get_string (param_values + 2), g_value_get_enum (param_values + 3), g_value_get_boolean (param_values + 4), data2);
#line 6117 "FacebookPublishing.c"
}


static PublishingFacebookPublishingOptionsPanePrivacyDescription*
publishing_facebook_publishing_options_pane_privacy_description_construct (GType object_type,
                                                                           const gchar* description,
                                                                           const gchar* privacy_setting)
{
	PublishingFacebookPublishingOptionsPanePrivacyDescription* self = NULL;
	gchar* _tmp0_;
	gchar* _tmp1_;
#line 737 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (description != NULL, NULL);
#line 737 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (privacy_setting != NULL, NULL);
#line 737 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = (PublishingFacebookPublishingOptionsPanePrivacyDescription*) g_type_create_instance (object_type);
#line 738 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = g_strdup (description);
#line 738 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (self->description);
#line 738 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->description = _tmp0_;
#line 739 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = g_strdup (privacy_setting);
#line 739 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (self->privacy_setting);
#line 739 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->privacy_setting = _tmp1_;
#line 737 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return self;
#line 6149 "FacebookPublishing.c"
}


static PublishingFacebookPublishingOptionsPanePrivacyDescription*
publishing_facebook_publishing_options_pane_privacy_description_new (const gchar* description,
                                                                     const gchar* privacy_setting)
{
#line 737 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return publishing_facebook_publishing_options_pane_privacy_description_construct (PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION, description, privacy_setting);
#line 6159 "FacebookPublishing.c"
}


static void
publishing_facebook_publishing_options_pane_value_privacy_description_init (GValue* value)
{
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	value->data[0].v_pointer = NULL;
#line 6168 "FacebookPublishing.c"
}


static void
publishing_facebook_publishing_options_pane_value_privacy_description_free_value (GValue* value)
{
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (value->data[0].v_pointer) {
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_publishing_options_pane_privacy_description_unref (value->data[0].v_pointer);
#line 6179 "FacebookPublishing.c"
	}
}


static void
publishing_facebook_publishing_options_pane_value_privacy_description_copy_value (const GValue* src_value,
                                                                                  GValue* dest_value)
{
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (src_value->data[0].v_pointer) {
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		dest_value->data[0].v_pointer = publishing_facebook_publishing_options_pane_privacy_description_ref (src_value->data[0].v_pointer);
#line 6192 "FacebookPublishing.c"
	} else {
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		dest_value->data[0].v_pointer = NULL;
#line 6196 "FacebookPublishing.c"
	}
}


static gpointer
publishing_facebook_publishing_options_pane_value_privacy_description_peek_pointer (const GValue* value)
{
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return value->data[0].v_pointer;
#line 6206 "FacebookPublishing.c"
}


static gchar*
publishing_facebook_publishing_options_pane_value_privacy_description_collect_value (GValue* value,
                                                                                     guint n_collect_values,
                                                                                     GTypeCValue* collect_values,
                                                                                     guint collect_flags)
{
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (collect_values[0].v_pointer) {
#line 6218 "FacebookPublishing.c"
		PublishingFacebookPublishingOptionsPanePrivacyDescription * object;
		object = collect_values[0].v_pointer;
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		if (object->parent_instance.g_class == NULL) {
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 6225 "FacebookPublishing.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.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 6229 "FacebookPublishing.c"
		}
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = publishing_facebook_publishing_options_pane_privacy_description_ref (object);
#line 6233 "FacebookPublishing.c"
	} else {
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = NULL;
#line 6237 "FacebookPublishing.c"
	}
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return NULL;
#line 6241 "FacebookPublishing.c"
}


static gchar*
publishing_facebook_publishing_options_pane_value_privacy_description_lcopy_value (const GValue* value,
                                                                                   guint n_collect_values,
                                                                                   GTypeCValue* collect_values,
                                                                                   guint collect_flags)
{
	PublishingFacebookPublishingOptionsPanePrivacyDescription ** object_p;
	object_p = collect_values[0].v_pointer;
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!object_p) {
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 6257 "FacebookPublishing.c"
	}
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!value->data[0].v_pointer) {
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*object_p = NULL;
#line 6263 "FacebookPublishing.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*object_p = value->data[0].v_pointer;
#line 6267 "FacebookPublishing.c"
	} else {
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*object_p = publishing_facebook_publishing_options_pane_privacy_description_ref (value->data[0].v_pointer);
#line 6271 "FacebookPublishing.c"
	}
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return NULL;
#line 6275 "FacebookPublishing.c"
}


static GParamSpec*
publishing_facebook_publishing_options_pane_param_spec_privacy_description (const gchar* name,
                                                                            const gchar* nick,
                                                                            const gchar* blurb,
                                                                            GType object_type,
                                                                            GParamFlags flags)
{
	PublishingFacebookPublishingOptionsPaneParamSpecPrivacyDescription* spec;
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION), NULL);
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return G_PARAM_SPEC (spec);
#line 6295 "FacebookPublishing.c"
}


static gpointer
publishing_facebook_publishing_options_pane_value_get_privacy_description (const GValue* value)
{
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION), NULL);
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return value->data[0].v_pointer;
#line 6306 "FacebookPublishing.c"
}


static void
publishing_facebook_publishing_options_pane_value_set_privacy_description (GValue* value,
                                                                           gpointer v_object)
{
	PublishingFacebookPublishingOptionsPanePrivacyDescription * old;
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION));
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	old = value->data[0].v_pointer;
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (v_object) {
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION));
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = v_object;
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_publishing_options_pane_privacy_description_ref (value->data[0].v_pointer);
#line 6329 "FacebookPublishing.c"
	} else {
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = NULL;
#line 6333 "FacebookPublishing.c"
	}
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (old) {
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_publishing_options_pane_privacy_description_unref (old);
#line 6339 "FacebookPublishing.c"
	}
}


static void
publishing_facebook_publishing_options_pane_value_take_privacy_description (GValue* value,
                                                                            gpointer v_object)
{
	PublishingFacebookPublishingOptionsPanePrivacyDescription * old;
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION));
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	old = value->data[0].v_pointer;
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (v_object) {
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION));
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = v_object;
#line 6361 "FacebookPublishing.c"
	} else {
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = NULL;
#line 6365 "FacebookPublishing.c"
	}
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (old) {
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_publishing_options_pane_privacy_description_unref (old);
#line 6371 "FacebookPublishing.c"
	}
}


static void
publishing_facebook_publishing_options_pane_privacy_description_class_init (PublishingFacebookPublishingOptionsPanePrivacyDescriptionClass * klass)
{
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_publishing_options_pane_privacy_description_parent_class = g_type_class_peek_parent (klass);
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	((PublishingFacebookPublishingOptionsPanePrivacyDescriptionClass *) klass)->finalize = publishing_facebook_publishing_options_pane_privacy_description_finalize;
#line 6383 "FacebookPublishing.c"
}


static void
publishing_facebook_publishing_options_pane_privacy_description_instance_init (PublishingFacebookPublishingOptionsPanePrivacyDescription * self)
{
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->ref_count = 1;
#line 6392 "FacebookPublishing.c"
}


static void
publishing_facebook_publishing_options_pane_privacy_description_finalize (PublishingFacebookPublishingOptionsPanePrivacyDescription * obj)
{
	PublishingFacebookPublishingOptionsPanePrivacyDescription * self;
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION, PublishingFacebookPublishingOptionsPanePrivacyDescription);
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_destroy (self);
#line 734 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (self->description);
#line 735 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (self->privacy_setting);
#line 6408 "FacebookPublishing.c"
}


static GType
publishing_facebook_publishing_options_pane_privacy_description_get_type (void)
{
	static volatile gsize publishing_facebook_publishing_options_pane_privacy_description_type_id__volatile = 0;
	if (g_once_init_enter (&publishing_facebook_publishing_options_pane_privacy_description_type_id__volatile)) {
		static const GTypeValueTable g_define_type_value_table = { publishing_facebook_publishing_options_pane_value_privacy_description_init, publishing_facebook_publishing_options_pane_value_privacy_description_free_value, publishing_facebook_publishing_options_pane_value_privacy_description_copy_value, publishing_facebook_publishing_options_pane_value_privacy_description_peek_pointer, "p", publishing_facebook_publishing_options_pane_value_privacy_description_collect_value, "p", publishing_facebook_publishing_options_pane_value_privacy_description_lcopy_value };
		static const GTypeInfo g_define_type_info = { sizeof (PublishingFacebookPublishingOptionsPanePrivacyDescriptionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_facebook_publishing_options_pane_privacy_description_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFacebookPublishingOptionsPanePrivacyDescription), 0, (GInstanceInitFunc) publishing_facebook_publishing_options_pane_privacy_description_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 publishing_facebook_publishing_options_pane_privacy_description_type_id;
		publishing_facebook_publishing_options_pane_privacy_description_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingFacebookPublishingOptionsPanePrivacyDescription", &g_define_type_info, &g_define_type_fundamental_info, 0);
		g_once_init_leave (&publishing_facebook_publishing_options_pane_privacy_description_type_id__volatile, publishing_facebook_publishing_options_pane_privacy_description_type_id);
	}
	return publishing_facebook_publishing_options_pane_privacy_description_type_id__volatile;
}


static gpointer
publishing_facebook_publishing_options_pane_privacy_description_ref (gpointer instance)
{
	PublishingFacebookPublishingOptionsPanePrivacyDescription * self;
	self = instance;
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_atomic_int_inc (&self->ref_count);
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return instance;
#line 6437 "FacebookPublishing.c"
}


static void
publishing_facebook_publishing_options_pane_privacy_description_unref (gpointer instance)
{
	PublishingFacebookPublishingOptionsPanePrivacyDescription * self;
	self = instance;
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_PRIVACY_DESCRIPTION_GET_CLASS (self)->finalize (self);
#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 6452 "FacebookPublishing.c"
	}
}


static void
publishing_facebook_publishing_options_pane_class_init (PublishingFacebookPublishingOptionsPaneClass * klass)
{
#line 702 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_publishing_options_pane_parent_class = g_type_class_peek_parent (klass);
#line 702 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_type_class_add_private (klass, sizeof (PublishingFacebookPublishingOptionsPanePrivate));
#line 702 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	G_OBJECT_CLASS (klass)->finalize = publishing_facebook_publishing_options_pane_finalize;
#line 702 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_publishing_options_pane_signals[PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_LOGOUT_SIGNAL] = g_signal_new ("logout", PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
#line 702 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_publishing_options_pane_signals[PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_PUBLISH_SIGNAL] = g_signal_new ("publish", PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__STRING_STRING_ENUM_BOOLEAN, G_TYPE_NONE, 4, G_TYPE_STRING, G_TYPE_STRING, PUBLISHING_FACEBOOK_TYPE_RESOLUTION, G_TYPE_BOOLEAN);
#line 6470 "FacebookPublishing.c"
}


static void
publishing_facebook_publishing_options_pane_spit_publishing_dialog_pane_interface_init (SpitPublishingDialogPaneIface * iface)
{
#line 702 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_publishing_options_pane_spit_publishing_dialog_pane_parent_iface = g_type_interface_peek_parent (iface);
#line 702 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	iface->get_widget = (GtkWidget* (*) (SpitPublishingDialogPane *)) publishing_facebook_publishing_options_pane_real_get_widget;
#line 702 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	iface->get_preferred_geometry = (SpitPublishingDialogPaneGeometryOptions (*) (SpitPublishingDialogPane *)) publishing_facebook_publishing_options_pane_real_get_preferred_geometry;
#line 702 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	iface->on_pane_installed = (void (*) (SpitPublishingDialogPane *)) publishing_facebook_publishing_options_pane_real_on_pane_installed;
#line 702 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	iface->on_pane_uninstalled = (void (*) (SpitPublishingDialogPane *)) publishing_facebook_publishing_options_pane_real_on_pane_uninstalled;
#line 6487 "FacebookPublishing.c"
}


static void
publishing_facebook_publishing_options_pane_instance_init (PublishingFacebookPublishingOptionsPane * self)
{
#line 702 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv = PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_GET_PRIVATE (self);
#line 704 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->pane_widget = NULL;
#line 705 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->use_existing_radio = NULL;
#line 706 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->create_new_radio = NULL;
#line 707 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->existing_albums_combo = NULL;
#line 708 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->visibility_combo = NULL;
#line 709 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->new_album_entry = NULL;
#line 710 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->strip_metadata_check = NULL;
#line 711 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->publish_button = NULL;
#line 712 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->logout_button = NULL;
#line 713 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->how_to_label = NULL;
#line 714 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->albums = NULL;
#line 714 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->albums_length1 = 0;
#line 714 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->_albums_size_ = self->priv->albums_length1;
#line 715 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->publisher = NULL;
#line 719 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->resolution_combo = NULL;
#line 6526 "FacebookPublishing.c"
}


static void
publishing_facebook_publishing_options_pane_finalize (GObject * obj)
{
	PublishingFacebookPublishingOptionsPane * self;
#line 702 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, PublishingFacebookPublishingOptionsPane);
#line 703 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->builder);
#line 704 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->pane_widget);
#line 705 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->use_existing_radio);
#line 706 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->create_new_radio);
#line 707 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->existing_albums_combo);
#line 708 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->visibility_combo);
#line 709 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->new_album_entry);
#line 710 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->strip_metadata_check);
#line 711 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->publish_button);
#line 712 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->logout_button);
#line 713 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->how_to_label);
#line 714 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->albums = (_vala_array_free (self->priv->albums, self->priv->albums_length1, (GDestroyNotify) publishing_facebook_album_unref), NULL);
#line 715 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->publisher);
#line 716 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->privacy_descriptions = (_vala_array_free (self->priv->privacy_descriptions, self->priv->privacy_descriptions_length1, (GDestroyNotify) publishing_facebook_publishing_options_pane_privacy_description_unref), NULL);
#line 718 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->possible_resolutions = (g_free (self->priv->possible_resolutions), NULL);
#line 719 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->resolution_combo);
#line 702 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	G_OBJECT_CLASS (publishing_facebook_publishing_options_pane_parent_class)->finalize (obj);
#line 6570 "FacebookPublishing.c"
}


GType
publishing_facebook_publishing_options_pane_get_type (void)
{
	static volatile gsize publishing_facebook_publishing_options_pane_type_id__volatile = 0;
	if (g_once_init_enter (&publishing_facebook_publishing_options_pane_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PublishingFacebookPublishingOptionsPaneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_facebook_publishing_options_pane_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFacebookPublishingOptionsPane), 0, (GInstanceInitFunc) publishing_facebook_publishing_options_pane_instance_init, NULL };
		static const GInterfaceInfo spit_publishing_dialog_pane_info = { (GInterfaceInitFunc) publishing_facebook_publishing_options_pane_spit_publishing_dialog_pane_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		GType publishing_facebook_publishing_options_pane_type_id;
		publishing_facebook_publishing_options_pane_type_id = g_type_register_static (G_TYPE_OBJECT, "PublishingFacebookPublishingOptionsPane", &g_define_type_info, 0);
		g_type_add_interface_static (publishing_facebook_publishing_options_pane_type_id, SPIT_PUBLISHING_TYPE_DIALOG_PANE, &spit_publishing_dialog_pane_info);
		g_once_init_leave (&publishing_facebook_publishing_options_pane_type_id__volatile, publishing_facebook_publishing_options_pane_type_id);
	}
	return publishing_facebook_publishing_options_pane_type_id__volatile;
}


gchar*
publishing_facebook_endpoint_to_uri (PublishingFacebookEndpoint self)
{
	gchar* result = NULL;
#line 971 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	switch (self) {
#line 971 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		case PUBLISHING_FACEBOOK_ENDPOINT_DEFAULT:
#line 6598 "FacebookPublishing.c"
		{
			gchar* _tmp0_;
#line 973 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp0_ = g_strdup ("https://graph.facebook.com/");
#line 973 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			result = _tmp0_;
#line 973 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			return result;
#line 6607 "FacebookPublishing.c"
		}
#line 971 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		case PUBLISHING_FACEBOOK_ENDPOINT_VIDEO:
#line 6611 "FacebookPublishing.c"
		{
			gchar* _tmp1_;
#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp1_ = g_strdup ("https://graph-video.facebook.com/");
#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			result = _tmp1_;
#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			return result;
#line 6620 "FacebookPublishing.c"
		}
#line 971 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		case PUBLISHING_FACEBOOK_ENDPOINT_TEST_CONNECTION:
#line 6624 "FacebookPublishing.c"
		{
			gchar* _tmp2_;
#line 979 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp2_ = g_strdup ("https://www.facebook.com/");
#line 979 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			result = _tmp2_;
#line 979 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			return result;
#line 6633 "FacebookPublishing.c"
		}
		default:
		{
#line 982 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			g_assert_not_reached ();
#line 6639 "FacebookPublishing.c"
		}
	}
}


GType
publishing_facebook_endpoint_get_type (void)
{
	static volatile gsize publishing_facebook_endpoint_type_id__volatile = 0;
	if (g_once_init_enter (&publishing_facebook_endpoint_type_id__volatile)) {
		static const GEnumValue values[] = {{PUBLISHING_FACEBOOK_ENDPOINT_DEFAULT, "PUBLISHING_FACEBOOK_ENDPOINT_DEFAULT", "default"}, {PUBLISHING_FACEBOOK_ENDPOINT_VIDEO, "PUBLISHING_FACEBOOK_ENDPOINT_VIDEO", "video"}, {PUBLISHING_FACEBOOK_ENDPOINT_TEST_CONNECTION, "PUBLISHING_FACEBOOK_ENDPOINT_TEST_CONNECTION", "test-connection"}, {0, NULL, NULL}};
		GType publishing_facebook_endpoint_type_id;
		publishing_facebook_endpoint_type_id = g_enum_register_static ("PublishingFacebookEndpoint", values);
		g_once_init_leave (&publishing_facebook_endpoint_type_id__volatile, publishing_facebook_endpoint_type_id);
	}
	return publishing_facebook_endpoint_type_id__volatile;
}


static gchar*
publishing_facebook_graph_message_real_get_uri (PublishingFacebookGraphMessage* self)
{
#line 992 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_critical ("Type `%s' does not implement abstract method `publishing_facebook_graph_message_get_uri'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
#line 992 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return NULL;
#line 6666 "FacebookPublishing.c"
}


gchar*
publishing_facebook_graph_message_get_uri (PublishingFacebookGraphMessage* self)
{
#line 992 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE (self), NULL);
#line 992 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return PUBLISHING_FACEBOOK_GRAPH_MESSAGE_GET_CLASS (self)->get_uri (self);
#line 6677 "FacebookPublishing.c"
}


static gchar*
publishing_facebook_graph_message_real_get_response_body (PublishingFacebookGraphMessage* self)
{
#line 993 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_critical ("Type `%s' does not implement abstract method `publishing_facebook_graph_message_get_response_body'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
#line 993 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return NULL;
#line 6688 "FacebookPublishing.c"
}


gchar*
publishing_facebook_graph_message_get_response_body (PublishingFacebookGraphMessage* self)
{
#line 993 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE (self), NULL);
#line 993 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return PUBLISHING_FACEBOOK_GRAPH_MESSAGE_GET_CLASS (self)->get_response_body (self);
#line 6699 "FacebookPublishing.c"
}


PublishingFacebookGraphMessage*
publishing_facebook_graph_message_construct (GType object_type)
{
	PublishingFacebookGraphMessage* self = NULL;
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = (PublishingFacebookGraphMessage*) g_type_create_instance (object_type);
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return self;
#line 6711 "FacebookPublishing.c"
}


static void
g_cclosure_user_marshal_VOID__INT_INT (GClosure * closure,
                                       GValue * return_value,
                                       guint n_param_values,
                                       const GValue * param_values,
                                       gpointer invocation_hint,
                                       gpointer marshal_data)
{
	typedef void (*GMarshalFunc_VOID__INT_INT) (gpointer data1, gint arg_1, gint arg_2, gpointer data2);
	register GMarshalFunc_VOID__INT_INT callback;
	register GCClosure * cc;
	register gpointer data1;
	register gpointer data2;
	cc = (GCClosure *) closure;
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (n_param_values == 3);
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (G_CCLOSURE_SWAP_DATA (closure)) {
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		data1 = closure->data;
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		data2 = param_values->data[0].v_pointer;
#line 6737 "FacebookPublishing.c"
	} else {
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		data1 = param_values->data[0].v_pointer;
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		data2 = closure->data;
#line 6743 "FacebookPublishing.c"
	}
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	callback = (GMarshalFunc_VOID__INT_INT) (marshal_data ? marshal_data : cc->callback);
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	callback (data1, g_value_get_int (param_values + 1), g_value_get_int (param_values + 2), data2);
#line 6749 "FacebookPublishing.c"
}


static void
publishing_facebook_value_graph_message_init (GValue* value)
{
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	value->data[0].v_pointer = NULL;
#line 6758 "FacebookPublishing.c"
}


static void
publishing_facebook_value_graph_message_free_value (GValue* value)
{
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (value->data[0].v_pointer) {
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_graph_message_unref (value->data[0].v_pointer);
#line 6769 "FacebookPublishing.c"
	}
}


static void
publishing_facebook_value_graph_message_copy_value (const GValue* src_value,
                                                    GValue* dest_value)
{
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (src_value->data[0].v_pointer) {
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		dest_value->data[0].v_pointer = publishing_facebook_graph_message_ref (src_value->data[0].v_pointer);
#line 6782 "FacebookPublishing.c"
	} else {
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		dest_value->data[0].v_pointer = NULL;
#line 6786 "FacebookPublishing.c"
	}
}


static gpointer
publishing_facebook_value_graph_message_peek_pointer (const GValue* value)
{
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return value->data[0].v_pointer;
#line 6796 "FacebookPublishing.c"
}


static gchar*
publishing_facebook_value_graph_message_collect_value (GValue* value,
                                                       guint n_collect_values,
                                                       GTypeCValue* collect_values,
                                                       guint collect_flags)
{
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (collect_values[0].v_pointer) {
#line 6808 "FacebookPublishing.c"
		PublishingFacebookGraphMessage * object;
		object = collect_values[0].v_pointer;
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		if (object->parent_instance.g_class == NULL) {
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 6815 "FacebookPublishing.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.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 6819 "FacebookPublishing.c"
		}
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = publishing_facebook_graph_message_ref (object);
#line 6823 "FacebookPublishing.c"
	} else {
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = NULL;
#line 6827 "FacebookPublishing.c"
	}
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return NULL;
#line 6831 "FacebookPublishing.c"
}


static gchar*
publishing_facebook_value_graph_message_lcopy_value (const GValue* value,
                                                     guint n_collect_values,
                                                     GTypeCValue* collect_values,
                                                     guint collect_flags)
{
	PublishingFacebookGraphMessage ** object_p;
	object_p = collect_values[0].v_pointer;
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!object_p) {
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 6847 "FacebookPublishing.c"
	}
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!value->data[0].v_pointer) {
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*object_p = NULL;
#line 6853 "FacebookPublishing.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*object_p = value->data[0].v_pointer;
#line 6857 "FacebookPublishing.c"
	} else {
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*object_p = publishing_facebook_graph_message_ref (value->data[0].v_pointer);
#line 6861 "FacebookPublishing.c"
	}
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return NULL;
#line 6865 "FacebookPublishing.c"
}


GParamSpec*
publishing_facebook_param_spec_graph_message (const gchar* name,
                                              const gchar* nick,
                                              const gchar* blurb,
                                              GType object_type,
                                              GParamFlags flags)
{
	PublishingFacebookParamSpecGraphMessage* spec;
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE), NULL);
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return G_PARAM_SPEC (spec);
#line 6885 "FacebookPublishing.c"
}


gpointer
publishing_facebook_value_get_graph_message (const GValue* value)
{
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE), NULL);
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return value->data[0].v_pointer;
#line 6896 "FacebookPublishing.c"
}


void
publishing_facebook_value_set_graph_message (GValue* value,
                                             gpointer v_object)
{
	PublishingFacebookGraphMessage * old;
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE));
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	old = value->data[0].v_pointer;
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (v_object) {
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE));
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = v_object;
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_graph_message_ref (value->data[0].v_pointer);
#line 6919 "FacebookPublishing.c"
	} else {
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = NULL;
#line 6923 "FacebookPublishing.c"
	}
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (old) {
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_graph_message_unref (old);
#line 6929 "FacebookPublishing.c"
	}
}


void
publishing_facebook_value_take_graph_message (GValue* value,
                                              gpointer v_object)
{
	PublishingFacebookGraphMessage * old;
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE));
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	old = value->data[0].v_pointer;
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (v_object) {
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE));
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = v_object;
#line 6951 "FacebookPublishing.c"
	} else {
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = NULL;
#line 6955 "FacebookPublishing.c"
	}
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (old) {
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_graph_message_unref (old);
#line 6961 "FacebookPublishing.c"
	}
}


static void
publishing_facebook_graph_message_class_init (PublishingFacebookGraphMessageClass * klass)
{
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_graph_message_parent_class = g_type_class_peek_parent (klass);
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	((PublishingFacebookGraphMessageClass *) klass)->finalize = publishing_facebook_graph_message_finalize;
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	((PublishingFacebookGraphMessageClass *) klass)->get_uri = (gchar* (*) (PublishingFacebookGraphMessage *)) publishing_facebook_graph_message_real_get_uri;
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	((PublishingFacebookGraphMessageClass *) klass)->get_response_body = (gchar* (*) (PublishingFacebookGraphMessage *)) publishing_facebook_graph_message_real_get_response_body;
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_graph_message_signals[PUBLISHING_FACEBOOK_GRAPH_MESSAGE_COMPLETED_SIGNAL] = g_signal_new ("completed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_graph_message_signals[PUBLISHING_FACEBOOK_GRAPH_MESSAGE_FAILED_SIGNAL] = g_signal_new ("failed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER);
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_graph_message_signals[PUBLISHING_FACEBOOK_GRAPH_MESSAGE_DATA_TRANSMITTED_SIGNAL] = g_signal_new ("data-transmitted", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__INT_INT, G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_INT);
#line 6983 "FacebookPublishing.c"
}


static void
publishing_facebook_graph_message_instance_init (PublishingFacebookGraphMessage * self)
{
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->ref_count = 1;
#line 6992 "FacebookPublishing.c"
}


static void
publishing_facebook_graph_message_finalize (PublishingFacebookGraphMessage * obj)
{
	PublishingFacebookGraphMessage * self;
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessage);
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_destroy (self);
#line 7004 "FacebookPublishing.c"
}


GType
publishing_facebook_graph_message_get_type (void)
{
	static volatile gsize publishing_facebook_graph_message_type_id__volatile = 0;
	if (g_once_init_enter (&publishing_facebook_graph_message_type_id__volatile)) {
		static const GTypeValueTable g_define_type_value_table = { publishing_facebook_value_graph_message_init, publishing_facebook_value_graph_message_free_value, publishing_facebook_value_graph_message_copy_value, publishing_facebook_value_graph_message_peek_pointer, "p", publishing_facebook_value_graph_message_collect_value, "p", publishing_facebook_value_graph_message_lcopy_value };
		static const GTypeInfo g_define_type_info = { sizeof (PublishingFacebookGraphMessageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_facebook_graph_message_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFacebookGraphMessage), 0, (GInstanceInitFunc) publishing_facebook_graph_message_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 publishing_facebook_graph_message_type_id;
		publishing_facebook_graph_message_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingFacebookGraphMessage", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT);
		g_once_init_leave (&publishing_facebook_graph_message_type_id__volatile, publishing_facebook_graph_message_type_id);
	}
	return publishing_facebook_graph_message_type_id__volatile;
}


gpointer
publishing_facebook_graph_message_ref (gpointer instance)
{
	PublishingFacebookGraphMessage * self;
	self = instance;
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_atomic_int_inc (&self->ref_count);
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return instance;
#line 7033 "FacebookPublishing.c"
}


void
publishing_facebook_graph_message_unref (gpointer instance)
{
	PublishingFacebookGraphMessage * self;
	self = instance;
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		PUBLISHING_FACEBOOK_GRAPH_MESSAGE_GET_CLASS (self)->finalize (self);
#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 7048 "FacebookPublishing.c"
	}
}


static void
_publishing_facebook_graph_session_on_request_unqueued_soup_session_request_unqueued (SoupSession* _sender,
                                                                                      SoupMessage* msg,
                                                                                      gpointer self)
{
#line 1172 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_graph_session_on_request_unqueued ((PublishingFacebookGraphSession*) self, msg);
#line 7060 "FacebookPublishing.c"
}


PublishingFacebookGraphSession*
publishing_facebook_graph_session_construct (GType object_type)
{
	PublishingFacebookGraphSession* self = NULL;
	SoupSession* _tmp0_;
	SoupSession* _tmp1_;
	SoupSession* _tmp2_;
	SoupSession* _tmp3_;
#line 1162 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = (PublishingFacebookGraphSession*) g_type_create_instance (object_type);
#line 1163 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = soup_session_new ();
#line 1163 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->soup_session);
#line 1163 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->soup_session = _tmp0_;
#line 1164 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = self->priv->soup_session;
#line 1164 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_connect (_tmp1_, "request-unqueued", (GCallback) _publishing_facebook_graph_session_on_request_unqueued_soup_session_request_unqueued, self);
#line 1165 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = self->priv->soup_session;
#line 1165 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_object_set (_tmp2_, "timeout", (guint) 15, NULL);
#line 1166 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (self->priv->access_token);
#line 1166 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->access_token = NULL;
#line 1167 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_publishing_facebook_graph_message_unref0 (self->priv->current_message);
#line 1167 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->current_message = NULL;
#line 1168 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3_ = self->priv->soup_session;
#line 1168 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_object_set (_tmp3_, "ssl-use-system-ca-file", TRUE, NULL);
#line 1162 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return self;
#line 7102 "FacebookPublishing.c"
}


PublishingFacebookGraphSession*
publishing_facebook_graph_session_new (void)
{
#line 1162 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return publishing_facebook_graph_session_construct (PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION);
#line 7111 "FacebookPublishing.c"
}


static gpointer
_publishing_facebook_graph_message_ref0 (gpointer self)
{
#line 1178 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return self ? publishing_facebook_graph_message_ref (self) : NULL;
#line 7120 "FacebookPublishing.c"
}


static void
publishing_facebook_graph_session_manage_message (PublishingFacebookGraphSession* self,
                                                  PublishingFacebookGraphMessage* msg)
{
	PublishingFacebookGraphMessage* _tmp0_;
	PublishingFacebookGraphMessage* _tmp1_;
#line 1175 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (self));
#line 1175 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE (msg));
#line 1176 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->current_message;
#line 1176 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_vala_assert (_tmp0_ == NULL, "current_message == null");
#line 1178 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = _publishing_facebook_graph_message_ref0 (msg);
#line 1178 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_publishing_facebook_graph_message_unref0 (self->priv->current_message);
#line 1178 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->current_message = _tmp1_;
#line 7144 "FacebookPublishing.c"
}


static void
publishing_facebook_graph_session_unmanage_message (PublishingFacebookGraphSession* self,
                                                    PublishingFacebookGraphMessage* msg)
{
	PublishingFacebookGraphMessage* _tmp0_;
#line 1181 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (self));
#line 1181 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE (msg));
#line 1182 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->current_message;
#line 1182 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_vala_assert (_tmp0_ != NULL, "current_message != null");
#line 1184 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_publishing_facebook_graph_message_unref0 (self->priv->current_message);
#line 1184 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->current_message = NULL;
#line 7165 "FacebookPublishing.c"
}


static void
_publishing_facebook_graph_session_graph_message_impl_on_wrote_body_data_soup_message_wrote_body_data (SoupMessage* _sender,
                                                                                                       SoupBuffer* chunk,
                                                                                                       gpointer self)
{
#line 1203 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_graph_session_graph_message_impl_on_wrote_body_data ((PublishingFacebookGraphSessionGraphMessageImpl*) self, chunk);
#line 7176 "FacebookPublishing.c"
}


static void
publishing_facebook_graph_session_on_request_unqueued (PublishingFacebookGraphSession* self,
                                                       SoupMessage* msg)
{
	PublishingFacebookGraphMessage* _tmp0_;
	PublishingFacebookGraphSessionGraphMessageImpl* real_message = NULL;
	PublishingFacebookGraphMessage* _tmp1_;
	PublishingFacebookGraphSessionGraphMessageImpl* _tmp2_;
	PublishingFacebookGraphSessionGraphMessageImpl* _tmp3_;
	SoupMessage* _tmp4_;
	gboolean _tmp5_ = FALSE;
	gboolean _tmp6_ = FALSE;
	guint _tmp7_;
	guint _tmp8_;
	PublishingFacebookGraphSessionGraphMessageImpl* _tmp16_;
	PublishingFacebookGraphSessionGraphMessageImpl* _tmp17_;
	guint _tmp18_;
	GError* _error_ = NULL;
	guint _tmp19_;
	guint _tmp20_;
	GError* _tmp54_;
	GError* _tmp64_;
#line 1187 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (self));
#line 1187 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (SOUP_IS_MESSAGE (msg));
#line 1188 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->current_message;
#line 1188 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_vala_assert (_tmp0_ != NULL, "current_message != null");
#line 1189 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = self->priv->current_message;
#line 1189 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = _publishing_facebook_graph_message_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl));
#line 1189 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	real_message = _tmp2_;
#line 1190 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3_ = real_message;
#line 1190 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp4_ = _tmp3_->soup_message;
#line 1190 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_vala_assert (_tmp4_ == msg, "real_message.soup_message == msg");
#line 1194 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_object_get (msg, "status-code", &_tmp7_, NULL);
#line 1194 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp8_ = _tmp7_;
#line 1194 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (_tmp8_ == ((guint) SOUP_STATUS_IO_ERROR)) {
#line 1194 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp6_ = TRUE;
#line 7230 "FacebookPublishing.c"
	} else {
		guint _tmp9_;
		guint _tmp10_;
#line 1195 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_object_get (msg, "status-code", &_tmp9_, NULL);
#line 1195 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp10_ = _tmp9_;
#line 1195 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp6_ = _tmp10_ == ((guint) SOUP_STATUS_MALFORMED);
#line 7240 "FacebookPublishing.c"
	}
#line 1194 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (_tmp6_) {
#line 1194 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp5_ = TRUE;
#line 7246 "FacebookPublishing.c"
	} else {
		guint _tmp11_;
		guint _tmp12_;
#line 1196 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_object_get (msg, "status-code", &_tmp11_, NULL);
#line 1196 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp12_ = _tmp11_;
#line 1196 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp5_ = _tmp12_ == ((guint) SOUP_STATUS_TRY_AGAIN);
#line 7256 "FacebookPublishing.c"
	}
#line 1194 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (_tmp5_) {
#line 7260 "FacebookPublishing.c"
		PublishingFacebookGraphSessionGraphMessageImpl* _tmp13_;
		SoupSession* _tmp14_;
		SoupMessage* _tmp15_;
#line 1197 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp13_ = real_message;
#line 1197 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp13_->bytes_so_far = 0;
#line 1198 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp14_ = self->priv->soup_session;
#line 1198 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp15_ = _g_object_ref0 (msg);
#line 1198 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		soup_session_queue_message (_tmp14_, _tmp15_, NULL, NULL);
#line 1199 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_publishing_facebook_graph_message_unref0 (real_message);
#line 1199 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return;
#line 7278 "FacebookPublishing.c"
	}
#line 1202 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp16_ = real_message;
#line 1202 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_graph_session_unmanage_message (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessage));
#line 1203 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp17_ = real_message;
#line 1203 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_parse_name ("wrote-body-data", soup_message_get_type (), &_tmp18_, NULL, FALSE);
#line 1203 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_disconnect_matched (msg, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp18_, 0, NULL, (GCallback) _publishing_facebook_graph_session_graph_message_impl_on_wrote_body_data_soup_message_wrote_body_data, _tmp17_);
#line 1205 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_error_ = NULL;
#line 1206 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_object_get (msg, "status-code", &_tmp19_, NULL);
#line 1206 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp20_ = _tmp19_;
#line 1206 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	switch (_tmp20_) {
#line 1206 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		case SOUP_STATUS_OK:
#line 1206 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		case SOUP_STATUS_CREATED:
#line 7302 "FacebookPublishing.c"
		{
#line 1211 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			break;
#line 7306 "FacebookPublishing.c"
		}
#line 1206 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		case PUBLISHING_FACEBOOK_EXPIRED_SESSION_STATUS_CODE:
#line 7310 "FacebookPublishing.c"
		{
			GError* _tmp21_;
#line 1214 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp21_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_EXPIRED_SESSION, "OAuth Access Token has Expired. Logout user.");
#line 1214 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_g_error_free0 (_error_);
#line 1214 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_error_ = _tmp21_;
#line 1216 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			break;
#line 7321 "FacebookPublishing.c"
		}
#line 1206 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		case SOUP_STATUS_CANT_RESOLVE:
#line 1206 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		case SOUP_STATUS_CANT_RESOLVE_PROXY:
#line 7327 "FacebookPublishing.c"
		{
			PublishingFacebookGraphSessionGraphMessageImpl* _tmp22_;
			gchar* _tmp23_;
			gchar* _tmp24_;
			guint _tmp25_;
			guint _tmp26_;
			GError* _tmp27_;
#line 1220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp22_ = real_message;
#line 1220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp23_ = publishing_facebook_graph_message_get_uri (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessage));
#line 1220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp24_ = _tmp23_;
#line 1220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			g_object_get (msg, "status-code", &_tmp25_, NULL);
#line 1220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp26_ = _tmp25_;
#line 1220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp27_ = g_error_new (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_NO_ANSWER, "Unable to resolve %s (error code %u)", _tmp24_, _tmp26_);
#line 1220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_g_error_free0 (_error_);
#line 1220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_error_ = _tmp27_;
#line 1220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_g_free0 (_tmp24_);
#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			break;
#line 7355 "FacebookPublishing.c"
		}
#line 1206 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		case SOUP_STATUS_CANT_CONNECT:
#line 1206 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		case SOUP_STATUS_CANT_CONNECT_PROXY:
#line 7361 "FacebookPublishing.c"
		{
			PublishingFacebookGraphSessionGraphMessageImpl* _tmp28_;
			gchar* _tmp29_;
			gchar* _tmp30_;
			guint _tmp31_;
			guint _tmp32_;
			GError* _tmp33_;
#line 1226 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp28_ = real_message;
#line 1226 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp29_ = publishing_facebook_graph_message_get_uri (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessage));
#line 1226 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp30_ = _tmp29_;
#line 1226 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			g_object_get (msg, "status-code", &_tmp31_, NULL);
#line 1226 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp32_ = _tmp31_;
#line 1226 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp33_ = g_error_new (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_NO_ANSWER, "Unable to connect to %s (error code %u)", _tmp30_, _tmp32_);
#line 1226 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_g_error_free0 (_error_);
#line 1226 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_error_ = _tmp33_;
#line 1226 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_g_free0 (_tmp30_);
#line 1228 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			break;
#line 7389 "FacebookPublishing.c"
		}
		default:
		{
			guint _tmp34_;
			guint _tmp35_;
#line 1233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			g_object_get (msg, "status-code", &_tmp34_, NULL);
#line 1233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp35_ = _tmp34_;
#line 1233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			if (_tmp35_ >= ((guint) 100)) {
#line 7401 "FacebookPublishing.c"
				PublishingFacebookGraphSessionGraphMessageImpl* _tmp36_;
				gchar* _tmp37_;
				gchar* _tmp38_;
				guint _tmp39_;
				guint _tmp40_;
				gchar* _tmp41_;
				gchar* _tmp42_;
				gchar* _tmp43_;
				GError* _tmp44_;
#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp36_ = real_message;
#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp37_ = publishing_facebook_graph_message_get_uri (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessage));
#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp38_ = _tmp37_;
#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				g_object_get (msg, "status-code", &_tmp39_, NULL);
#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp40_ = _tmp39_;
#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				g_object_get (msg, "reason-phrase", &_tmp41_, NULL);
#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp42_ = _tmp41_;
#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp43_ = _tmp42_;
#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp44_ = g_error_new (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_NO_ANSWER, "Service %s returned HTTP status code %u %s", _tmp38_, _tmp40_, _tmp43_);
#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_g_error_free0 (_error_);
#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_error_ = _tmp44_;
#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_g_free0 (_tmp43_);
#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_g_free0 (_tmp38_);
#line 7437 "FacebookPublishing.c"
			} else {
				gchar* _tmp45_;
				gchar* _tmp46_;
				gchar* _tmp47_;
				PublishingFacebookGraphSessionGraphMessageImpl* _tmp48_;
				gchar* _tmp49_;
				gchar* _tmp50_;
				guint _tmp51_;
				guint _tmp52_;
				GError* _tmp53_;
#line 1238 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				g_object_get (msg, "reason-phrase", &_tmp45_, NULL);
#line 1238 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp46_ = _tmp45_;
#line 1238 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp47_ = _tmp46_;
#line 1238 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				g_debug ("FacebookPublishing.vala:1238: %s", _tmp47_);
#line 1238 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_g_free0 (_tmp47_);
#line 1239 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp48_ = real_message;
#line 1239 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp49_ = publishing_facebook_graph_message_get_uri (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessage));
#line 1239 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp50_ = _tmp49_;
#line 1239 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				g_object_get (msg, "status-code", &_tmp51_, NULL);
#line 1239 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp52_ = _tmp51_;
#line 1239 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_tmp53_ = g_error_new (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_NO_ANSWER, "Failure communicating with %s (error code %u)", _tmp50_, _tmp52_);
#line 1239 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_g_error_free0 (_error_);
#line 1239 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_error_ = _tmp53_;
#line 1239 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
				_g_free0 (_tmp50_);
#line 7476 "FacebookPublishing.c"
			}
#line 1243 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			break;
#line 7480 "FacebookPublishing.c"
		}
	}
#line 1247 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp54_ = _error_;
#line 1247 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (_tmp54_ == NULL) {
#line 7487 "FacebookPublishing.c"
		gboolean _tmp55_ = FALSE;
		SoupMessageBody* _tmp56_;
		guint8* _tmp57_;
		gint _tmp57__length1;
#line 1248 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp56_ = msg->response_body;
#line 1248 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp57_ = _tmp56_->data;
#line 1248 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp57__length1 = (gint) _tmp56_->length;
#line 1248 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		if (_tmp57_ == NULL) {
#line 1248 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp55_ = TRUE;
#line 7502 "FacebookPublishing.c"
		} else {
			SoupMessageBody* _tmp58_;
			guint8* _tmp59_;
			gint _tmp59__length1;
#line 1248 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp58_ = msg->response_body;
#line 1248 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp59_ = _tmp58_->data;
#line 1248 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp59__length1 = (gint) _tmp58_->length;
#line 1248 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp55_ = _tmp59__length1 == 0;
#line 7515 "FacebookPublishing.c"
		}
#line 1248 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		if (_tmp55_) {
#line 7519 "FacebookPublishing.c"
			PublishingFacebookGraphSessionGraphMessageImpl* _tmp60_;
			gchar* _tmp61_;
			gchar* _tmp62_;
			GError* _tmp63_;
#line 1249 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp60_ = real_message;
#line 1249 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp61_ = publishing_facebook_graph_message_get_uri (G_TYPE_CHECK_INSTANCE_CAST (_tmp60_, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessage));
#line 1249 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp62_ = _tmp61_;
#line 1249 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_tmp63_ = g_error_new (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, "No response data from %s", _tmp62_);
#line 1249 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_g_error_free0 (_error_);
#line 1249 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_error_ = _tmp63_;
#line 1249 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_g_free0 (_tmp62_);
#line 7538 "FacebookPublishing.c"
		}
	}
#line 1252 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp64_ = _error_;
#line 1252 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (_tmp64_ == NULL) {
#line 7545 "FacebookPublishing.c"
		PublishingFacebookGraphSessionGraphMessageImpl* _tmp65_;
#line 1253 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp65_ = real_message;
#line 1253 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_signal_emit (G_TYPE_CHECK_INSTANCE_CAST (_tmp65_, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessage), publishing_facebook_graph_message_signals[PUBLISHING_FACEBOOK_GRAPH_MESSAGE_COMPLETED_SIGNAL], 0);
#line 7551 "FacebookPublishing.c"
	} else {
		PublishingFacebookGraphSessionGraphMessageImpl* _tmp66_;
		GError* _tmp67_;
#line 1255 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp66_ = real_message;
#line 1255 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp67_ = _error_;
#line 1255 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_signal_emit (G_TYPE_CHECK_INSTANCE_CAST (_tmp66_, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessage), publishing_facebook_graph_message_signals[PUBLISHING_FACEBOOK_GRAPH_MESSAGE_FAILED_SIGNAL], 0, _tmp67_);
#line 7561 "FacebookPublishing.c"
	}
#line 1187 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_error_free0 (_error_);
#line 1187 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_publishing_facebook_graph_message_unref0 (real_message);
#line 7567 "FacebookPublishing.c"
}


void
publishing_facebook_graph_session_authenticate (PublishingFacebookGraphSession* self,
                                                const gchar* access_token)
{
	gchar* _tmp0_;
#line 1258 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (self));
#line 1258 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (access_token != NULL);
#line 1259 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = g_strdup (access_token);
#line 1259 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (self->priv->access_token);
#line 1259 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->access_token = _tmp0_;
#line 1260 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_emit (self, publishing_facebook_graph_session_signals[PUBLISHING_FACEBOOK_GRAPH_SESSION_AUTHENTICATED_SIGNAL], 0);
#line 7588 "FacebookPublishing.c"
}


gboolean
publishing_facebook_graph_session_is_authenticated (PublishingFacebookGraphSession* self)
{
	gboolean result = FALSE;
	const gchar* _tmp0_;
#line 1263 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (self), FALSE);
#line 1264 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->access_token;
#line 1264 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	result = _tmp0_ != NULL;
#line 1264 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return result;
#line 7605 "FacebookPublishing.c"
}


PublishingFacebookGraphMessage*
publishing_facebook_graph_session_new_query (PublishingFacebookGraphSession* self,
                                             const gchar* resource_path)
{
	PublishingFacebookGraphMessage* result = NULL;
	const gchar* _tmp0_;
	PublishingFacebookGraphSessionGraphQueryMessage* _tmp1_;
#line 1273 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (self), NULL);
#line 1273 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (resource_path != NULL, NULL);
#line 1274 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->access_token;
#line 1274 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = publishing_facebook_graph_session_graph_query_message_new (self, resource_path, _tmp0_);
#line 1274 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessage);
#line 1274 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return result;
#line 7628 "FacebookPublishing.c"
}


PublishingFacebookGraphMessage*
publishing_facebook_graph_session_new_upload (PublishingFacebookGraphSession* self,
                                              const gchar* resource_path,
                                              SpitPublishingPublishable* publishable,
                                              gboolean suppress_titling,
                                              const gchar* resource_privacy)
{
	PublishingFacebookGraphMessage* result = NULL;
	const gchar* _tmp0_;
	PublishingFacebookGraphSessionGraphUploadMessage* _tmp1_;
#line 1277 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (self), NULL);
#line 1277 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (resource_path != NULL, NULL);
#line 1277 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (publishable), NULL);
#line 1279 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->access_token;
#line 1279 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = publishing_facebook_graph_session_graph_upload_message_new (self, _tmp0_, resource_path, publishable, suppress_titling, resource_privacy);
#line 1279 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessage);
#line 1279 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return result;
#line 7656 "FacebookPublishing.c"
}


PublishingFacebookGraphMessage*
publishing_facebook_graph_session_new_create_album (PublishingFacebookGraphSession* self,
                                                    const gchar* album_name,
                                                    const gchar* privacy)
{
	PublishingFacebookGraphMessage* result = NULL;
	const gchar* _tmp0_;
	PublishingFacebookGraphSessionGraphCreateAlbumMessage* _tmp1_;
#line 1283 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (self), NULL);
#line 1283 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (album_name != NULL, NULL);
#line 1283 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (privacy != NULL, NULL);
#line 1284 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->access_token;
#line 1284 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = publishing_facebook_graph_session_graph_create_album_message_new (self, _tmp0_, album_name, privacy);
#line 1284 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessage);
#line 1284 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return result;
#line 7682 "FacebookPublishing.c"
}


void
publishing_facebook_graph_session_send_message (PublishingFacebookGraphSession* self,
                                                PublishingFacebookGraphMessage* message)
{
	PublishingFacebookGraphSessionGraphMessageImpl* real_message = NULL;
	PublishingFacebookGraphSessionGraphMessageImpl* _tmp0_;
	PublishingFacebookGraphSessionGraphMessageImpl* _tmp1_;
	SoupMessage* _tmp2_;
	SoupURI* _tmp3_;
	SoupURI* _tmp4_;
	gchar* _tmp5_;
	gchar* _tmp6_;
	gchar* _tmp7_;
	gchar* _tmp8_;
	PublishingFacebookGraphSessionGraphMessageImpl* _tmp9_;
#line 1287 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (self));
#line 1287 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE (message));
#line 1288 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = _publishing_facebook_graph_message_ref0 (G_TYPE_CHECK_INSTANCE_CAST (message, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl));
#line 1288 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	real_message = _tmp0_;
#line 1290 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = real_message;
#line 1290 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = _tmp1_->soup_message;
#line 1290 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3_ = soup_message_get_uri (_tmp2_);
#line 1290 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp4_ = _tmp3_;
#line 1290 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp5_ = soup_uri_to_string (_tmp4_, FALSE);
#line 1290 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp6_ = _tmp5_;
#line 1290 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp7_ = g_strconcat ("making HTTP request to URI: ", _tmp6_, NULL);
#line 1290 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp8_ = _tmp7_;
#line 1290 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_debug ("FacebookPublishing.vala:1290: %s", _tmp8_);
#line 1290 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (_tmp8_);
#line 1290 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (_tmp6_);
#line 1292 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp9_ = real_message;
#line 1292 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (publishing_facebook_graph_session_graph_message_impl_prepare_for_transmission (_tmp9_)) {
#line 7735 "FacebookPublishing.c"
		SoupSession* _tmp10_;
		PublishingFacebookGraphSessionGraphMessageImpl* _tmp11_;
		SoupMessage* _tmp12_;
		SoupMessage* _tmp13_;
#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_graph_session_manage_message (self, message);
#line 1294 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp10_ = self->priv->soup_session;
#line 1294 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp11_ = real_message;
#line 1294 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp12_ = _tmp11_->soup_message;
#line 1294 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp13_ = _g_object_ref0 (_tmp12_);
#line 1294 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		soup_session_queue_message (_tmp10_, _tmp13_, NULL, NULL);
#line 7752 "FacebookPublishing.c"
	}
#line 1287 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_publishing_facebook_graph_message_unref0 (real_message);
#line 7756 "FacebookPublishing.c"
}


void
publishing_facebook_graph_session_stop_transactions (PublishingFacebookGraphSession* self)
{
	SoupSession* _tmp0_;
#line 1298 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (self));
#line 1299 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->soup_session;
#line 1299 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	soup_session_abort (_tmp0_);
#line 7770 "FacebookPublishing.c"
}


static PublishingFacebookGraphSessionGraphMessageImpl*
publishing_facebook_graph_session_graph_message_impl_construct (GType object_type,
                                                                PublishingFacebookGraphSession* host_session,
                                                                PublishingRESTSupportHttpMethod method,
                                                                const gchar* relative_uri,
                                                                const gchar* access_token,
                                                                PublishingFacebookEndpoint endpoint)
{
	PublishingFacebookGraphSessionGraphMessageImpl* self = NULL;
	gchar* _tmp0_;
	gchar* endpoint_uri = NULL;
	gchar* _tmp1_;
	GError * _inner_error_ = NULL;
#line 1005 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (host_session), NULL);
#line 1005 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (relative_uri != NULL, NULL);
#line 1005 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (access_token != NULL, NULL);
#line 1005 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = (PublishingFacebookGraphSessionGraphMessageImpl*) publishing_facebook_graph_message_construct (object_type);
#line 1007 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->method = method;
#line 1008 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = g_strdup (access_token);
#line 1008 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (self->access_token);
#line 1008 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->access_token = _tmp0_;
#line 1009 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->host_session = host_session;
#line 1010 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->bytes_so_far = 0;
#line 1012 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = publishing_facebook_endpoint_to_uri (endpoint);
#line 1012 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	endpoint_uri = _tmp1_;
#line 7811 "FacebookPublishing.c"
	{
		GRegex* starting_slashes = NULL;
		GRegex* _tmp2_;
		gchar* _tmp3_ = NULL;
		GRegex* _tmp4_;
		gchar* _tmp5_;
		const gchar* _tmp6_;
		gchar* _tmp7_;
#line 1014 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp2_ = g_regex_new ("^/+", 0, 0, &_inner_error_);
#line 1014 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		starting_slashes = _tmp2_;
#line 1014 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1014 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			if (_inner_error_->domain == G_REGEX_ERROR) {
#line 7828 "FacebookPublishing.c"
				goto __catch4_g_regex_error;
			}
#line 1014 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_g_free0 (endpoint_uri);
#line 1014 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1014 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			g_clear_error (&_inner_error_);
#line 1014 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			return NULL;
#line 7839 "FacebookPublishing.c"
		}
#line 1015 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp4_ = starting_slashes;
#line 1015 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp5_ = g_regex_replace (_tmp4_, relative_uri, (gssize) -1, 0, "", 0, &_inner_error_);
#line 1015 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp3_ = _tmp5_;
#line 1015 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1015 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_g_regex_unref0 (starting_slashes);
#line 1015 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			if (_inner_error_->domain == G_REGEX_ERROR) {
#line 7853 "FacebookPublishing.c"
				goto __catch4_g_regex_error;
			}
#line 1015 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_g_regex_unref0 (starting_slashes);
#line 1015 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			_g_free0 (endpoint_uri);
#line 1015 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1015 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			g_clear_error (&_inner_error_);
#line 1015 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			return NULL;
#line 7866 "FacebookPublishing.c"
		}
#line 1015 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp6_ = endpoint_uri;
#line 1015 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp7_ = g_strconcat (_tmp6_, _tmp3_, NULL);
#line 1015 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_free0 (self->uri);
#line 1015 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		self->uri = _tmp7_;
#line 1013 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_free0 (_tmp3_);
#line 1013 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_regex_unref0 (starting_slashes);
#line 7880 "FacebookPublishing.c"
	}
	goto __finally4;
	__catch4_g_regex_error:
	{
		GError* err = NULL;
#line 1013 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		err = _inner_error_;
#line 1013 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_inner_error_ = NULL;
#line 1017 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_assert_not_reached ();
#line 1013 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_error_free0 (err);
#line 7894 "FacebookPublishing.c"
	}
	__finally4:
#line 1013 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1013 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_free0 (endpoint_uri);
#line 1013 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1013 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_clear_error (&_inner_error_);
#line 1013 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return NULL;
#line 7907 "FacebookPublishing.c"
	}
#line 1005 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (endpoint_uri);
#line 1005 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return self;
#line 7913 "FacebookPublishing.c"
}


static gboolean
publishing_facebook_graph_session_graph_message_impl_real_prepare_for_transmission (PublishingFacebookGraphSessionGraphMessageImpl* self)
{
	gboolean result = FALSE;
#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	result = TRUE;
#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return result;
#line 7925 "FacebookPublishing.c"
}


gboolean
publishing_facebook_graph_session_graph_message_impl_prepare_for_transmission (PublishingFacebookGraphSessionGraphMessageImpl* self)
{
#line 1021 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (PUBLISHING_FACEBOOK_GRAPH_SESSION_IS_GRAPH_MESSAGE_IMPL (self), FALSE);
#line 1021 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_MESSAGE_IMPL_GET_CLASS (self)->prepare_for_transmission (self);
#line 7936 "FacebookPublishing.c"
}


static gchar*
publishing_facebook_graph_session_graph_message_impl_real_get_uri (PublishingFacebookGraphMessage* base)
{
	PublishingFacebookGraphSessionGraphMessageImpl * self;
	gchar* result = NULL;
	const gchar* _tmp0_;
	gchar* _tmp1_;
#line 1025 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl);
#line 1026 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->uri;
#line 1026 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 1026 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	result = _tmp1_;
#line 1026 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return result;
#line 7957 "FacebookPublishing.c"
}


static gchar*
publishing_facebook_graph_session_graph_message_impl_real_get_response_body (PublishingFacebookGraphMessage* base)
{
	PublishingFacebookGraphSessionGraphMessageImpl * self;
	gchar* result = NULL;
	SoupMessage* _tmp0_;
	SoupMessageBody* _tmp1_;
	guint8* _tmp2_;
	gint _tmp2__length1;
	gchar* _tmp3_;
#line 1029 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl);
#line 1030 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->soup_message;
#line 1030 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = _tmp0_->response_body;
#line 1030 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = _tmp1_->data;
#line 1030 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2__length1 = (gint) _tmp1_->length;
#line 1030 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3_ = g_strdup ((const gchar*) _tmp2_);
#line 1030 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	result = _tmp3_;
#line 1030 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return result;
#line 7987 "FacebookPublishing.c"
}


static void
publishing_facebook_graph_session_graph_message_impl_on_wrote_body_data (PublishingFacebookGraphSessionGraphMessageImpl* self,
                                                                         SoupBuffer* chunk)
{
	gint _tmp0_;
	gsize _tmp1_;
	gint _tmp2_;
	SoupMessage* _tmp3_;
	SoupMessageBody* _tmp4_;
	gint64 _tmp5_;
#line 1033 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_GRAPH_SESSION_IS_GRAPH_MESSAGE_IMPL (self));
#line 1033 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (chunk != NULL);
#line 1034 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->bytes_so_far;
#line 1034 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = chunk->length;
#line 1034 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->bytes_so_far = _tmp0_ + ((gint) _tmp1_);
#line 1036 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = self->bytes_so_far;
#line 1036 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3_ = self->soup_message;
#line 1036 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp4_ = _tmp3_->request_body;
#line 1036 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp5_ = _tmp4_->length;
#line 1036 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_emit (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessage), publishing_facebook_graph_message_signals[PUBLISHING_FACEBOOK_GRAPH_MESSAGE_DATA_TRANSMITTED_SIGNAL], 0, _tmp2_, (gint) _tmp5_);
#line 8021 "FacebookPublishing.c"
}


static void
publishing_facebook_graph_session_graph_message_impl_class_init (PublishingFacebookGraphSessionGraphMessageImplClass * klass)
{
#line 997 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_graph_session_graph_message_impl_parent_class = g_type_class_peek_parent (klass);
#line 997 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	((PublishingFacebookGraphMessageClass *) klass)->finalize = publishing_facebook_graph_session_graph_message_impl_finalize;
#line 997 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	((PublishingFacebookGraphSessionGraphMessageImplClass *) klass)->prepare_for_transmission = (gboolean (*) (PublishingFacebookGraphSessionGraphMessageImpl *)) publishing_facebook_graph_session_graph_message_impl_real_prepare_for_transmission;
#line 997 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	((PublishingFacebookGraphMessageClass *) klass)->get_uri = (gchar* (*) (PublishingFacebookGraphMessage *)) publishing_facebook_graph_session_graph_message_impl_real_get_uri;
#line 997 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	((PublishingFacebookGraphMessageClass *) klass)->get_response_body = (gchar* (*) (PublishingFacebookGraphMessage *)) publishing_facebook_graph_session_graph_message_impl_real_get_response_body;
#line 8038 "FacebookPublishing.c"
}


static void
publishing_facebook_graph_session_graph_message_impl_instance_init (PublishingFacebookGraphSessionGraphMessageImpl * self)
{
}


static void
publishing_facebook_graph_session_graph_message_impl_finalize (PublishingFacebookGraphMessage * obj)
{
	PublishingFacebookGraphSessionGraphMessageImpl * self;
#line 997 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl);
#line 999 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (self->uri);
#line 1000 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (self->access_token);
#line 1001 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->soup_message);
#line 997 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	PUBLISHING_FACEBOOK_GRAPH_MESSAGE_CLASS (publishing_facebook_graph_session_graph_message_impl_parent_class)->finalize (obj);
#line 8062 "FacebookPublishing.c"
}


static GType
publishing_facebook_graph_session_graph_message_impl_get_type (void)
{
	static volatile gsize publishing_facebook_graph_session_graph_message_impl_type_id__volatile = 0;
	if (g_once_init_enter (&publishing_facebook_graph_session_graph_message_impl_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PublishingFacebookGraphSessionGraphMessageImplClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_facebook_graph_session_graph_message_impl_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFacebookGraphSessionGraphMessageImpl), 0, (GInstanceInitFunc) publishing_facebook_graph_session_graph_message_impl_instance_init, NULL };
		GType publishing_facebook_graph_session_graph_message_impl_type_id;
		publishing_facebook_graph_session_graph_message_impl_type_id = g_type_register_static (PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, "PublishingFacebookGraphSessionGraphMessageImpl", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
		g_once_init_leave (&publishing_facebook_graph_session_graph_message_impl_type_id__volatile, publishing_facebook_graph_session_graph_message_impl_type_id);
	}
	return publishing_facebook_graph_session_graph_message_impl_type_id__volatile;
}


static void
_vala_SoupURI_free (SoupURI* self)
{
#line 1041 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_boxed_free (soup_uri_get_type (), self);
#line 8085 "FacebookPublishing.c"
}


static PublishingFacebookGraphSessionGraphQueryMessage*
publishing_facebook_graph_session_graph_query_message_construct (GType object_type,
                                                                 PublishingFacebookGraphSession* host_session,
                                                                 const gchar* relative_uri,
                                                                 const gchar* access_token)
{
	PublishingFacebookGraphSessionGraphQueryMessage* self = NULL;
	SoupURI* destination_uri = NULL;
	const gchar* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	SoupURI* _tmp5_;
	SoupURI* _tmp6_;
	PublishingRESTSupportHttpMethod _tmp7_;
	gchar* _tmp8_;
	gchar* _tmp9_;
	SoupMessage* _tmp10_;
	SoupMessage* _tmp11_;
#line 1041 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (host_session), NULL);
#line 1041 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (relative_uri != NULL, NULL);
#line 1041 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (access_token != NULL, NULL);
#line 1043 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = (PublishingFacebookGraphSessionGraphQueryMessage*) publishing_facebook_graph_session_graph_message_impl_construct (object_type, host_session, PUBLISHING_REST_SUPPORT_HTTP_METHOD_GET, relative_uri, access_token, PUBLISHING_FACEBOOK_ENDPOINT_DEFAULT);
#line 1045 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->uri;
#line 1045 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = g_strconcat (_tmp0_, "?access_token=", NULL);
#line 1045 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = _tmp1_;
#line 1045 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3_ = g_strconcat (_tmp2_, access_token, NULL);
#line 1045 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp4_ = _tmp3_;
#line 1045 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp5_ = soup_uri_new (_tmp4_);
#line 1045 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp6_ = _tmp5_;
#line 1045 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (_tmp4_);
#line 1045 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (_tmp2_);
#line 1045 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	destination_uri = _tmp6_;
#line 1046 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->method;
#line 1046 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp8_ = publishing_rest_support_http_method_to_string (_tmp7_);
#line 1046 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp9_ = _tmp8_;
#line 1046 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp10_ = soup_message_new_from_uri (_tmp9_, destination_uri);
#line 1046 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->soup_message);
#line 1046 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->soup_message = _tmp10_;
#line 1046 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (_tmp9_);
#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp11_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->soup_message;
#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_connect (_tmp11_, "wrote-body-data", (GCallback) _publishing_facebook_graph_session_graph_message_impl_on_wrote_body_data_soup_message_wrote_body_data, G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl));
#line 1041 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	__vala_SoupURI_free0 (destination_uri);
#line 1041 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return self;
#line 8159 "FacebookPublishing.c"
}


static PublishingFacebookGraphSessionGraphQueryMessage*
publishing_facebook_graph_session_graph_query_message_new (PublishingFacebookGraphSession* host_session,
                                                           const gchar* relative_uri,
                                                           const gchar* access_token)
{
#line 1041 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return publishing_facebook_graph_session_graph_query_message_construct (PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_QUERY_MESSAGE, host_session, relative_uri, access_token);
#line 8170 "FacebookPublishing.c"
}


static void
publishing_facebook_graph_session_graph_query_message_class_init (PublishingFacebookGraphSessionGraphQueryMessageClass * klass)
{
#line 1040 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_graph_session_graph_query_message_parent_class = g_type_class_peek_parent (klass);
#line 8179 "FacebookPublishing.c"
}


static void
publishing_facebook_graph_session_graph_query_message_instance_init (PublishingFacebookGraphSessionGraphQueryMessage * self)
{
}


static GType
publishing_facebook_graph_session_graph_query_message_get_type (void)
{
	static volatile gsize publishing_facebook_graph_session_graph_query_message_type_id__volatile = 0;
	if (g_once_init_enter (&publishing_facebook_graph_session_graph_query_message_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PublishingFacebookGraphSessionGraphQueryMessageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_facebook_graph_session_graph_query_message_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFacebookGraphSessionGraphQueryMessage), 0, (GInstanceInitFunc) publishing_facebook_graph_session_graph_query_message_instance_init, NULL };
		GType publishing_facebook_graph_session_graph_query_message_type_id;
		publishing_facebook_graph_session_graph_query_message_type_id = g_type_register_static (PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, "PublishingFacebookGraphSessionGraphQueryMessage", &g_define_type_info, 0);
		g_once_init_leave (&publishing_facebook_graph_session_graph_query_message_type_id__volatile, publishing_facebook_graph_session_graph_query_message_type_id);
	}
	return publishing_facebook_graph_session_graph_query_message_type_id__volatile;
}


static PublishingFacebookGraphSessionGraphEndpointProbeMessage*
publishing_facebook_graph_session_graph_endpoint_probe_message_construct (GType object_type,
                                                                          PublishingFacebookGraphSession* host_session)
{
	PublishingFacebookGraphSessionGraphEndpointProbeMessage* self = NULL;
	PublishingRESTSupportHttpMethod _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	const gchar* _tmp3_;
	SoupURI* _tmp4_;
	SoupURI* _tmp5_;
	SoupMessage* _tmp6_;
	SoupMessage* _tmp7_;
#line 1052 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (host_session), NULL);
#line 1053 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = (PublishingFacebookGraphSessionGraphEndpointProbeMessage*) publishing_facebook_graph_session_graph_message_impl_construct (object_type, host_session, PUBLISHING_REST_SUPPORT_HTTP_METHOD_GET, "/", "", PUBLISHING_FACEBOOK_ENDPOINT_TEST_CONNECTION);
#line 1056 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->method;
#line 1056 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = publishing_rest_support_http_method_to_string (_tmp0_);
#line 1056 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = _tmp1_;
#line 1056 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->uri;
#line 1056 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp4_ = soup_uri_new (_tmp3_);
#line 1056 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp5_ = _tmp4_;
#line 1056 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp6_ = soup_message_new_from_uri (_tmp2_, _tmp5_);
#line 1056 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->soup_message);
#line 1056 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->soup_message = _tmp6_;
#line 1056 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	__vala_SoupURI_free0 (_tmp5_);
#line 1056 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (_tmp2_);
#line 1057 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->soup_message;
#line 1057 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_connect (_tmp7_, "wrote-body-data", (GCallback) _publishing_facebook_graph_session_graph_message_impl_on_wrote_body_data_soup_message_wrote_body_data, G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl));
#line 1052 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return self;
#line 8248 "FacebookPublishing.c"
}


static PublishingFacebookGraphSessionGraphEndpointProbeMessage*
publishing_facebook_graph_session_graph_endpoint_probe_message_new (PublishingFacebookGraphSession* host_session)
{
#line 1052 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return publishing_facebook_graph_session_graph_endpoint_probe_message_construct (PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_ENDPOINT_PROBE_MESSAGE, host_session);
#line 8257 "FacebookPublishing.c"
}


static void
publishing_facebook_graph_session_graph_endpoint_probe_message_class_init (PublishingFacebookGraphSessionGraphEndpointProbeMessageClass * klass)
{
#line 1051 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_graph_session_graph_endpoint_probe_message_parent_class = g_type_class_peek_parent (klass);
#line 8266 "FacebookPublishing.c"
}


static void
publishing_facebook_graph_session_graph_endpoint_probe_message_instance_init (PublishingFacebookGraphSessionGraphEndpointProbeMessage * self)
{
}


static GType
publishing_facebook_graph_session_graph_endpoint_probe_message_get_type (void)
{
	static volatile gsize publishing_facebook_graph_session_graph_endpoint_probe_message_type_id__volatile = 0;
	if (g_once_init_enter (&publishing_facebook_graph_session_graph_endpoint_probe_message_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PublishingFacebookGraphSessionGraphEndpointProbeMessageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_facebook_graph_session_graph_endpoint_probe_message_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFacebookGraphSessionGraphEndpointProbeMessage), 0, (GInstanceInitFunc) publishing_facebook_graph_session_graph_endpoint_probe_message_instance_init, NULL };
		GType publishing_facebook_graph_session_graph_endpoint_probe_message_type_id;
		publishing_facebook_graph_session_graph_endpoint_probe_message_type_id = g_type_register_static (PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, "PublishingFacebookGraphSessionGraphEndpointProbeMessage", &g_define_type_info, 0);
		g_once_init_leave (&publishing_facebook_graph_session_graph_endpoint_probe_message_type_id__volatile, publishing_facebook_graph_session_graph_endpoint_probe_message_type_id);
	}
	return publishing_facebook_graph_session_graph_endpoint_probe_message_type_id__volatile;
}


static gchar*
g_date_time_to_string (GDateTime* self)
{
	gchar* result = NULL;
	gchar* _tmp0_;
#line 2952 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, NULL);
#line 2953 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	_tmp0_ = g_date_time_format (self, "%FT%H:%M:%S%z");
#line 2953 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	result = _tmp0_;
#line 2953 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	return result;
#line 8303 "FacebookPublishing.c"
}


static void
_vala_SoupMultipart_free (SoupMultipart* self)
{
#line 1065 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_boxed_free (soup_multipart_get_type (), self);
#line 8312 "FacebookPublishing.c"
}


static void
_vala_SoupBuffer_free (SoupBuffer* self)
{
#line 1065 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_boxed_free (soup_buffer_get_type (), self);
#line 8321 "FacebookPublishing.c"
}


static PublishingFacebookGraphSessionGraphUploadMessage*
publishing_facebook_graph_session_graph_upload_message_construct (GType object_type,
                                                                  PublishingFacebookGraphSession* host_session,
                                                                  const gchar* access_token,
                                                                  const gchar* relative_uri,
                                                                  SpitPublishingPublishable* publishable,
                                                                  gboolean suppress_titling,
                                                                  const gchar* resource_privacy)
{
	PublishingFacebookGraphSessionGraphUploadMessage* self = NULL;
	PublishingFacebookEndpoint _tmp0_ = 0;
	gboolean _tmp1_ = FALSE;
	SpitPublishingPublishable* _tmp2_;
	PublishingRESTSupportHttpMethod _tmp11_;
	gchar* _tmp12_;
	gchar* _tmp13_;
	const gchar* _tmp14_;
	SoupURI* _tmp15_;
	SoupURI* _tmp16_;
	SoupMessage* _tmp17_;
	SoupMessage* _tmp18_;
	guint8* payload = NULL;
	GMappedFile* _tmp19_;
	gchar* _tmp20_;
	gint payload_length1;
	gint _payload_size_;
	GMappedFile* _tmp21_;
	gint _tmp22_;
	SoupBuffer* image_data = NULL;
	guint8* _tmp23_;
	gint _tmp23__length1;
	SoupBuffer* _tmp24_;
	SoupMultipart* mp_envelope = NULL;
	SoupMultipart* _tmp25_;
	SoupMultipart* _tmp26_;
	gchar* publishable_title = NULL;
	gchar* _tmp28_;
	gboolean _tmp29_ = FALSE;
	gchar* publishable_comment = NULL;
	gchar* _tmp33_;
	gboolean _tmp34_ = FALSE;
	const gchar* _tmp43_ = NULL;
	gchar* source_file_mime_type = NULL;
	gchar* _tmp44_;
	SoupMultipart* _tmp45_;
	GFile* _tmp46_;
	GFile* _tmp47_;
	gchar* _tmp48_;
	gchar* _tmp49_;
	const gchar* _tmp50_;
	SoupBuffer* _tmp51_;
	SoupMultipart* _tmp52_;
	SoupMessage* _tmp53_;
	SoupMessageHeaders* _tmp54_;
	SoupMessage* _tmp55_;
	SoupMessageBody* _tmp56_;
	GError * _inner_error_ = NULL;
#line 1065 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (host_session), NULL);
#line 1065 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (access_token != NULL, NULL);
#line 1065 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (relative_uri != NULL, NULL);
#line 1065 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (publishable), NULL);
#line 1069 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (spit_publishing_publishable_get_media_type (publishable) == SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO) {
#line 1070 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp0_ = PUBLISHING_FACEBOOK_ENDPOINT_VIDEO;
#line 8394 "FacebookPublishing.c"
	} else {
#line 1070 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp0_ = PUBLISHING_FACEBOOK_ENDPOINT_DEFAULT;
#line 8398 "FacebookPublishing.c"
	}
#line 1068 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = (PublishingFacebookGraphSessionGraphUploadMessage*) publishing_facebook_graph_session_graph_message_impl_construct (object_type, host_session, PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST, relative_uri, access_token, _tmp0_);
#line 1075 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (spit_publishing_publishable_get_media_type (publishable) != SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO) {
#line 1075 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp1_ = TRUE;
#line 8406 "FacebookPublishing.c"
	} else {
#line 1076 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp1_ = resource_privacy != NULL;
#line 8410 "FacebookPublishing.c"
	}
#line 1075 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_vala_assert (_tmp1_, "publishable.get_media_type() != Spit.Publishing.Publisher.MediaType.VIDEO ||                 resource_privacy != null");
#line 1078 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = _g_object_ref0 (publishable);
#line 1078 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->publishable);
#line 1078 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->publishable = _tmp2_;
#line 8420 "FacebookPublishing.c"
	{
		GMappedFile* _tmp3_ = NULL;
		GFile* _tmp4_;
		GFile* _tmp5_;
		gchar* _tmp6_;
		gchar* _tmp7_;
		GMappedFile* _tmp8_;
		GMappedFile* _tmp9_;
		GMappedFile* _tmp10_;
#line 1082 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp4_ = spit_publishing_publishable_get_serialized_file (publishable);
#line 1082 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp5_ = _tmp4_;
#line 1082 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp6_ = g_file_get_path (_tmp5_);
#line 1082 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp7_ = _tmp6_;
#line 1082 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp8_ = g_mapped_file_new (_tmp7_, FALSE, &_inner_error_);
#line 1082 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp9_ = _tmp8_;
#line 1082 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_free0 (_tmp7_);
#line 1082 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_object_unref0 (_tmp5_);
#line 1082 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp3_ = _tmp9_;
#line 1082 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1082 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			if (_inner_error_->domain == G_FILE_ERROR) {
#line 8452 "FacebookPublishing.c"
				goto __catch5_g_file_error;
			}
#line 1082 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1082 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			g_clear_error (&_inner_error_);
#line 1082 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			return NULL;
#line 8461 "FacebookPublishing.c"
		}
#line 1082 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp10_ = _tmp3_;
#line 1082 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp3_ = NULL;
#line 1082 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_mapped_file_unref0 (self->priv->mapped_file);
#line 1082 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		self->priv->mapped_file = _tmp10_;
#line 1081 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_mapped_file_unref0 (_tmp3_);
#line 8473 "FacebookPublishing.c"
	}
	goto __finally5;
	__catch5_g_file_error:
	{
		GError* e = NULL;
#line 1081 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		e = _inner_error_;
#line 1081 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_inner_error_ = NULL;
#line 1085 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_error_free0 (e);
#line 1085 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return self;
#line 8487 "FacebookPublishing.c"
	}
	__finally5:
#line 1081 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1081 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1081 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_clear_error (&_inner_error_);
#line 1081 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return NULL;
#line 8498 "FacebookPublishing.c"
	}
#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp11_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->method;
#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp12_ = publishing_rest_support_http_method_to_string (_tmp11_);
#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp13_ = _tmp12_;
#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp14_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->uri;
#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp15_ = soup_uri_new (_tmp14_);
#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp16_ = _tmp15_;
#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp17_ = soup_message_new_from_uri (_tmp13_, _tmp16_);
#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->soup_message);
#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->soup_message = _tmp17_;
#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	__vala_SoupURI_free0 (_tmp16_);
#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (_tmp13_);
#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp18_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->soup_message;
#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_connect (_tmp18_, "wrote-body-data", (GCallback) _publishing_facebook_graph_session_graph_message_impl_on_wrote_body_data_soup_message_wrote_body_data, G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl));
#line 1091 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp19_ = self->priv->mapped_file;
#line 1091 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp20_ = g_mapped_file_get_contents (_tmp19_);
#line 1091 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	payload = (guint8*) _tmp20_;
#line 1091 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	payload_length1 = sizeof (gchar) / sizeof (guint8);
#line 1091 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_payload_size_ = payload_length1;
#line 1092 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp21_ = self->priv->mapped_file;
#line 1092 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	payload_length1 = (gint) g_mapped_file_get_length (_tmp21_);
#line 1092 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp22_ = payload_length1;
#line 1094 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp23_ = payload;
#line 1094 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp23__length1 = payload_length1;
#line 1094 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp24_ = soup_buffer_new (SOUP_MEMORY_TEMPORARY, _tmp23_, _tmp23__length1);
#line 1094 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	image_data = _tmp24_;
#line 1096 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp25_ = soup_multipart_new ("multipart/form-data");
#line 1096 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	mp_envelope = _tmp25_;
#line 1098 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp26_ = mp_envelope;
#line 1098 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	soup_multipart_append_form_string (_tmp26_, "access_token", access_token);
#line 1100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (spit_publishing_publishable_get_media_type (publishable) == SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO) {
#line 8560 "FacebookPublishing.c"
		SoupMultipart* _tmp27_;
#line 1101 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp27_ = mp_envelope;
#line 1101 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		soup_multipart_append_form_string (_tmp27_, "privacy", resource_privacy);
#line 8566 "FacebookPublishing.c"
	}
#line 1104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp28_ = spit_publishing_publishable_get_param_string (publishable, "title");
#line 1104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishable_title = _tmp28_;
#line 1105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!suppress_titling) {
#line 8574 "FacebookPublishing.c"
		const gchar* _tmp30_;
#line 1105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp30_ = publishable_title;
#line 1105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp29_ = _tmp30_ != NULL;
#line 8580 "FacebookPublishing.c"
	} else {
#line 1105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp29_ = FALSE;
#line 8584 "FacebookPublishing.c"
	}
#line 1105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (_tmp29_) {
#line 8588 "FacebookPublishing.c"
		SoupMultipart* _tmp31_;
		const gchar* _tmp32_;
#line 1106 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp31_ = mp_envelope;
#line 1106 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp32_ = publishable_title;
#line 1106 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		soup_multipart_append_form_string (_tmp31_, "name", _tmp32_);
#line 8597 "FacebookPublishing.c"
	}
#line 1109 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp33_ = spit_publishing_publishable_get_param_string (publishable, "comment");
#line 1109 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishable_comment = _tmp33_;
#line 1110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!suppress_titling) {
#line 8605 "FacebookPublishing.c"
		const gchar* _tmp35_;
#line 1110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp35_ = publishable_comment;
#line 1110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp34_ = _tmp35_ != NULL;
#line 8611 "FacebookPublishing.c"
	} else {
#line 1110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp34_ = FALSE;
#line 8615 "FacebookPublishing.c"
	}
#line 1110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (_tmp34_) {
#line 8619 "FacebookPublishing.c"
		SoupMultipart* _tmp36_;
		const gchar* _tmp37_;
#line 1111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp36_ = mp_envelope;
#line 1111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp37_ = publishable_comment;
#line 1111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		soup_multipart_append_form_string (_tmp36_, "message", _tmp37_);
#line 8628 "FacebookPublishing.c"
	}
#line 1114 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!suppress_titling) {
#line 8632 "FacebookPublishing.c"
		SoupMultipart* _tmp38_;
		GDateTime* _tmp39_;
		GDateTime* _tmp40_;
		gchar* _tmp41_;
		gchar* _tmp42_;
#line 1115 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp38_ = mp_envelope;
#line 1115 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp39_ = spit_publishing_publishable_get_exposure_date_time (publishable);
#line 1115 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp40_ = _tmp39_;
#line 1115 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp41_ = g_date_time_to_string (_tmp40_);
#line 1115 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp42_ = _tmp41_;
#line 1115 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		soup_multipart_append_form_string (_tmp38_, "backdated_time", _tmp42_);
#line 1115 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_free0 (_tmp42_);
#line 1115 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_date_time_unref0 (_tmp40_);
#line 8654 "FacebookPublishing.c"
	}
#line 1118 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (spit_publishing_publishable_get_media_type (publishable) == SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO) {
#line 1119 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp43_ = "video";
#line 8660 "FacebookPublishing.c"
	} else {
#line 1119 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp43_ = "image/jpeg";
#line 8664 "FacebookPublishing.c"
	}
#line 1117 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp44_ = g_strdup (_tmp43_);
#line 1117 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	source_file_mime_type = _tmp44_;
#line 1120 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp45_ = mp_envelope;
#line 1120 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp46_ = spit_publishing_publishable_get_serialized_file (publishable);
#line 1120 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp47_ = _tmp46_;
#line 1120 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp48_ = g_file_get_basename (_tmp47_);
#line 1120 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp49_ = _tmp48_;
#line 1120 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp50_ = source_file_mime_type;
#line 1120 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp51_ = image_data;
#line 1120 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	soup_multipart_append_form_file (_tmp45_, "source", _tmp49_, _tmp50_, _tmp51_);
#line 1120 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (_tmp49_);
#line 1120 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (_tmp47_);
#line 1123 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp52_ = mp_envelope;
#line 1123 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp53_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->soup_message;
#line 1123 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp54_ = _tmp53_->request_headers;
#line 1123 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp55_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->soup_message;
#line 1123 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp56_ = _tmp55_->request_body;
#line 1123 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	soup_multipart_to_message (_tmp52_, _tmp54_, _tmp56_);
#line 1065 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (source_file_mime_type);
#line 1065 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (publishable_comment);
#line 1065 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (publishable_title);
#line 1065 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	__vala_SoupMultipart_free0 (mp_envelope);
#line 1065 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	__vala_SoupBuffer_free0 (image_data);
#line 1065 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return self;
#line 8714 "FacebookPublishing.c"
}


static PublishingFacebookGraphSessionGraphUploadMessage*
publishing_facebook_graph_session_graph_upload_message_new (PublishingFacebookGraphSession* host_session,
                                                            const gchar* access_token,
                                                            const gchar* relative_uri,
                                                            SpitPublishingPublishable* publishable,
                                                            gboolean suppress_titling,
                                                            const gchar* resource_privacy)
{
#line 1065 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return publishing_facebook_graph_session_graph_upload_message_construct (PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_UPLOAD_MESSAGE, host_session, access_token, relative_uri, publishable, suppress_titling, resource_privacy);
#line 8728 "FacebookPublishing.c"
}


static gboolean
publishing_facebook_graph_session_graph_upload_message_real_prepare_for_transmission (PublishingFacebookGraphSessionGraphMessageImpl* base)
{
	PublishingFacebookGraphSessionGraphUploadMessage * self;
	gboolean result = FALSE;
	GMappedFile* _tmp0_;
#line 1126 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_UPLOAD_MESSAGE, PublishingFacebookGraphSessionGraphUploadMessage);
#line 1127 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->mapped_file;
#line 1127 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (_tmp0_ == NULL) {
#line 8744 "FacebookPublishing.c"
		SpitPublishingPublishable* _tmp1_;
		GFile* _tmp2_;
		GFile* _tmp3_;
		gchar* _tmp4_;
		gchar* _tmp5_;
		gchar* _tmp6_;
		gchar* _tmp7_;
		GError* _tmp8_;
		GError* _tmp9_;
#line 1128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp1_ = self->priv->publishable;
#line 1128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp2_ = spit_publishing_publishable_get_serialized_file (_tmp1_);
#line 1128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp3_ = _tmp2_;
#line 1128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp4_ = g_file_get_path (_tmp3_);
#line 1128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp5_ = _tmp4_;
#line 1128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp6_ = g_strdup_printf ("File %s is unavailable.", _tmp5_);
#line 1128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp7_ = _tmp6_;
#line 1128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp8_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_LOCAL_FILE_ERROR, _tmp7_);
#line 1128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp9_ = _tmp8_;
#line 1128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_signal_emit (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessage), publishing_facebook_graph_message_signals[PUBLISHING_FACEBOOK_GRAPH_MESSAGE_FAILED_SIGNAL], 0, _tmp9_);
#line 1128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_error_free0 (_tmp9_);
#line 1128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_free0 (_tmp7_);
#line 1128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_free0 (_tmp5_);
#line 1128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_object_unref0 (_tmp3_);
#line 1130 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		result = FALSE;
#line 1130 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return result;
#line 8786 "FacebookPublishing.c"
	} else {
#line 1132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		result = TRUE;
#line 1132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return result;
#line 8792 "FacebookPublishing.c"
	}
}


static void
publishing_facebook_graph_session_graph_upload_message_class_init (PublishingFacebookGraphSessionGraphUploadMessageClass * klass)
{
#line 1061 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_graph_session_graph_upload_message_parent_class = g_type_class_peek_parent (klass);
#line 1061 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	((PublishingFacebookGraphMessageClass *) klass)->finalize = publishing_facebook_graph_session_graph_upload_message_finalize;
#line 1061 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_type_class_add_private (klass, sizeof (PublishingFacebookGraphSessionGraphUploadMessagePrivate));
#line 1061 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	((PublishingFacebookGraphSessionGraphMessageImplClass *) klass)->prepare_for_transmission = (gboolean (*) (PublishingFacebookGraphSessionGraphMessageImpl *)) publishing_facebook_graph_session_graph_upload_message_real_prepare_for_transmission;
#line 8808 "FacebookPublishing.c"
}


static void
publishing_facebook_graph_session_graph_upload_message_instance_init (PublishingFacebookGraphSessionGraphUploadMessage * self)
{
#line 1061 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv = PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_UPLOAD_MESSAGE_GET_PRIVATE (self);
#line 1062 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->mapped_file = NULL;
#line 8819 "FacebookPublishing.c"
}


static void
publishing_facebook_graph_session_graph_upload_message_finalize (PublishingFacebookGraphMessage * obj)
{
	PublishingFacebookGraphSessionGraphUploadMessage * self;
#line 1061 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_UPLOAD_MESSAGE, PublishingFacebookGraphSessionGraphUploadMessage);
#line 1062 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_mapped_file_unref0 (self->priv->mapped_file);
#line 1063 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->publishable);
#line 1061 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	PUBLISHING_FACEBOOK_GRAPH_MESSAGE_CLASS (publishing_facebook_graph_session_graph_upload_message_parent_class)->finalize (obj);
#line 8835 "FacebookPublishing.c"
}


static GType
publishing_facebook_graph_session_graph_upload_message_get_type (void)
{
	static volatile gsize publishing_facebook_graph_session_graph_upload_message_type_id__volatile = 0;
	if (g_once_init_enter (&publishing_facebook_graph_session_graph_upload_message_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PublishingFacebookGraphSessionGraphUploadMessageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_facebook_graph_session_graph_upload_message_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFacebookGraphSessionGraphUploadMessage), 0, (GInstanceInitFunc) publishing_facebook_graph_session_graph_upload_message_instance_init, NULL };
		GType publishing_facebook_graph_session_graph_upload_message_type_id;
		publishing_facebook_graph_session_graph_upload_message_type_id = g_type_register_static (PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, "PublishingFacebookGraphSessionGraphUploadMessage", &g_define_type_info, 0);
		g_once_init_leave (&publishing_facebook_graph_session_graph_upload_message_type_id__volatile, publishing_facebook_graph_session_graph_upload_message_type_id);
	}
	return publishing_facebook_graph_session_graph_upload_message_type_id__volatile;
}


static PublishingFacebookGraphSessionGraphCreateAlbumMessage*
publishing_facebook_graph_session_graph_create_album_message_construct (GType object_type,
                                                                        PublishingFacebookGraphSession* host_session,
                                                                        const gchar* access_token,
                                                                        const gchar* album_name,
                                                                        const gchar* album_privacy)
{
	PublishingFacebookGraphSessionGraphCreateAlbumMessage* self = NULL;
	gboolean _tmp0_ = FALSE;
	PublishingRESTSupportHttpMethod _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	const gchar* _tmp4_;
	SoupURI* _tmp5_;
	SoupURI* _tmp6_;
	SoupMessage* _tmp7_;
	SoupMultipart* mp_envelope = NULL;
	SoupMultipart* _tmp8_;
	SoupMessage* _tmp9_;
	SoupMessageHeaders* _tmp10_;
	SoupMessage* _tmp11_;
	SoupMessageBody* _tmp12_;
#line 1138 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (host_session), NULL);
#line 1138 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (access_token != NULL, NULL);
#line 1138 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (album_name != NULL, NULL);
#line 1138 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (album_privacy != NULL, NULL);
#line 1140 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = (PublishingFacebookGraphSessionGraphCreateAlbumMessage*) publishing_facebook_graph_session_graph_message_impl_construct (object_type, host_session, PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST, "/me/albums", access_token, PUBLISHING_FACEBOOK_ENDPOINT_DEFAULT);
#line 1142 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (album_privacy != NULL) {
#line 1142 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp0_ = g_strcmp0 (album_privacy, "") != 0;
#line 8889 "FacebookPublishing.c"
	} else {
#line 1142 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp0_ = FALSE;
#line 8893 "FacebookPublishing.c"
	}
#line 1142 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_vala_assert (_tmp0_, "album_privacy != null && album_privacy != \"\"");
#line 1144 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->method;
#line 1144 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = publishing_rest_support_http_method_to_string (_tmp1_);
#line 1144 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3_ = _tmp2_;
#line 1144 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->uri;
#line 1144 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp5_ = soup_uri_new (_tmp4_);
#line 1144 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp6_ = _tmp5_;
#line 1144 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp7_ = soup_message_new_from_uri (_tmp3_, _tmp6_);
#line 1144 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->soup_message);
#line 1144 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->soup_message = _tmp7_;
#line 1144 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	__vala_SoupURI_free0 (_tmp6_);
#line 1144 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (_tmp3_);
#line 1146 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp8_ = soup_multipart_new ("multipart/form-data");
#line 1146 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	mp_envelope = _tmp8_;
#line 1148 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	soup_multipart_append_form_string (mp_envelope, "access_token", access_token);
#line 1149 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	soup_multipart_append_form_string (mp_envelope, "name", album_name);
#line 1150 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	soup_multipart_append_form_string (mp_envelope, "privacy", album_privacy);
#line 1152 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp9_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->soup_message;
#line 1152 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp10_ = _tmp9_->request_headers;
#line 1152 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp11_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->soup_message;
#line 1152 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp12_ = _tmp11_->request_body;
#line 1152 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	soup_multipart_to_message (mp_envelope, _tmp10_, _tmp12_);
#line 1138 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	__vala_SoupMultipart_free0 (mp_envelope);
#line 1138 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return self;
#line 8943 "FacebookPublishing.c"
}


static PublishingFacebookGraphSessionGraphCreateAlbumMessage*
publishing_facebook_graph_session_graph_create_album_message_new (PublishingFacebookGraphSession* host_session,
                                                                  const gchar* access_token,
                                                                  const gchar* album_name,
                                                                  const gchar* album_privacy)
{
#line 1138 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return publishing_facebook_graph_session_graph_create_album_message_construct (PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_CREATE_ALBUM_MESSAGE, host_session, access_token, album_name, album_privacy);
#line 8955 "FacebookPublishing.c"
}


static void
publishing_facebook_graph_session_graph_create_album_message_class_init (PublishingFacebookGraphSessionGraphCreateAlbumMessageClass * klass)
{
#line 1137 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_graph_session_graph_create_album_message_parent_class = g_type_class_peek_parent (klass);
#line 8964 "FacebookPublishing.c"
}


static void
publishing_facebook_graph_session_graph_create_album_message_instance_init (PublishingFacebookGraphSessionGraphCreateAlbumMessage * self)
{
}


static GType
publishing_facebook_graph_session_graph_create_album_message_get_type (void)
{
	static volatile gsize publishing_facebook_graph_session_graph_create_album_message_type_id__volatile = 0;
	if (g_once_init_enter (&publishing_facebook_graph_session_graph_create_album_message_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PublishingFacebookGraphSessionGraphCreateAlbumMessageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_facebook_graph_session_graph_create_album_message_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFacebookGraphSessionGraphCreateAlbumMessage), 0, (GInstanceInitFunc) publishing_facebook_graph_session_graph_create_album_message_instance_init, NULL };
		GType publishing_facebook_graph_session_graph_create_album_message_type_id;
		publishing_facebook_graph_session_graph_create_album_message_type_id = g_type_register_static (PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, "PublishingFacebookGraphSessionGraphCreateAlbumMessage", &g_define_type_info, 0);
		g_once_init_leave (&publishing_facebook_graph_session_graph_create_album_message_type_id__volatile, publishing_facebook_graph_session_graph_create_album_message_type_id);
	}
	return publishing_facebook_graph_session_graph_create_album_message_type_id__volatile;
}


static void
publishing_facebook_value_graph_session_init (GValue* value)
{
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	value->data[0].v_pointer = NULL;
#line 8993 "FacebookPublishing.c"
}


static void
publishing_facebook_value_graph_session_free_value (GValue* value)
{
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (value->data[0].v_pointer) {
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_graph_session_unref (value->data[0].v_pointer);
#line 9004 "FacebookPublishing.c"
	}
}


static void
publishing_facebook_value_graph_session_copy_value (const GValue* src_value,
                                                    GValue* dest_value)
{
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (src_value->data[0].v_pointer) {
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		dest_value->data[0].v_pointer = publishing_facebook_graph_session_ref (src_value->data[0].v_pointer);
#line 9017 "FacebookPublishing.c"
	} else {
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		dest_value->data[0].v_pointer = NULL;
#line 9021 "FacebookPublishing.c"
	}
}


static gpointer
publishing_facebook_value_graph_session_peek_pointer (const GValue* value)
{
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return value->data[0].v_pointer;
#line 9031 "FacebookPublishing.c"
}


static gchar*
publishing_facebook_value_graph_session_collect_value (GValue* value,
                                                       guint n_collect_values,
                                                       GTypeCValue* collect_values,
                                                       guint collect_flags)
{
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (collect_values[0].v_pointer) {
#line 9043 "FacebookPublishing.c"
		PublishingFacebookGraphSession * object;
		object = collect_values[0].v_pointer;
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		if (object->parent_instance.g_class == NULL) {
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 9050 "FacebookPublishing.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.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 9054 "FacebookPublishing.c"
		}
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = publishing_facebook_graph_session_ref (object);
#line 9058 "FacebookPublishing.c"
	} else {
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = NULL;
#line 9062 "FacebookPublishing.c"
	}
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return NULL;
#line 9066 "FacebookPublishing.c"
}


static gchar*
publishing_facebook_value_graph_session_lcopy_value (const GValue* value,
                                                     guint n_collect_values,
                                                     GTypeCValue* collect_values,
                                                     guint collect_flags)
{
	PublishingFacebookGraphSession ** object_p;
	object_p = collect_values[0].v_pointer;
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!object_p) {
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 9082 "FacebookPublishing.c"
	}
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!value->data[0].v_pointer) {
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*object_p = NULL;
#line 9088 "FacebookPublishing.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*object_p = value->data[0].v_pointer;
#line 9092 "FacebookPublishing.c"
	} else {
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*object_p = publishing_facebook_graph_session_ref (value->data[0].v_pointer);
#line 9096 "FacebookPublishing.c"
	}
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return NULL;
#line 9100 "FacebookPublishing.c"
}


GParamSpec*
publishing_facebook_param_spec_graph_session (const gchar* name,
                                              const gchar* nick,
                                              const gchar* blurb,
                                              GType object_type,
                                              GParamFlags flags)
{
	PublishingFacebookParamSpecGraphSession* spec;
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION), NULL);
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return G_PARAM_SPEC (spec);
#line 9120 "FacebookPublishing.c"
}


gpointer
publishing_facebook_value_get_graph_session (const GValue* value)
{
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION), NULL);
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return value->data[0].v_pointer;
#line 9131 "FacebookPublishing.c"
}


void
publishing_facebook_value_set_graph_session (GValue* value,
                                             gpointer v_object)
{
	PublishingFacebookGraphSession * old;
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION));
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	old = value->data[0].v_pointer;
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (v_object) {
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION));
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = v_object;
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_graph_session_ref (value->data[0].v_pointer);
#line 9154 "FacebookPublishing.c"
	} else {
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = NULL;
#line 9158 "FacebookPublishing.c"
	}
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (old) {
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_graph_session_unref (old);
#line 9164 "FacebookPublishing.c"
	}
}


void
publishing_facebook_value_take_graph_session (GValue* value,
                                              gpointer v_object)
{
	PublishingFacebookGraphSession * old;
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION));
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	old = value->data[0].v_pointer;
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (v_object) {
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION));
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = v_object;
#line 9186 "FacebookPublishing.c"
	} else {
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = NULL;
#line 9190 "FacebookPublishing.c"
	}
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (old) {
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_graph_session_unref (old);
#line 9196 "FacebookPublishing.c"
	}
}


static void
publishing_facebook_graph_session_class_init (PublishingFacebookGraphSessionClass * klass)
{
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_graph_session_parent_class = g_type_class_peek_parent (klass);
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	((PublishingFacebookGraphSessionClass *) klass)->finalize = publishing_facebook_graph_session_finalize;
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_type_class_add_private (klass, sizeof (PublishingFacebookGraphSessionPrivate));
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_graph_session_signals[PUBLISHING_FACEBOOK_GRAPH_SESSION_AUTHENTICATED_SIGNAL] = g_signal_new ("authenticated", PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
#line 9212 "FacebookPublishing.c"
}


static void
publishing_facebook_graph_session_instance_init (PublishingFacebookGraphSession * self)
{
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv = PUBLISHING_FACEBOOK_GRAPH_SESSION_GET_PRIVATE (self);
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->ref_count = 1;
#line 9223 "FacebookPublishing.c"
}


static void
publishing_facebook_graph_session_finalize (PublishingFacebookGraphSession * obj)
{
	PublishingFacebookGraphSession * self;
	SoupSession* _tmp0_;
	guint _tmp1_;
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION, PublishingFacebookGraphSession);
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_destroy (self);
#line 1172 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->soup_session;
#line 1172 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_parse_name ("request-unqueued", soup_session_get_type (), &_tmp1_, NULL, FALSE);
#line 1172 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_graph_session_on_request_unqueued_soup_session_request_unqueued, self);
#line 1158 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (self->priv->soup_session);
#line 1159 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (self->priv->access_token);
#line 1160 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_publishing_facebook_graph_message_unref0 (self->priv->current_message);
#line 9249 "FacebookPublishing.c"
}


GType
publishing_facebook_graph_session_get_type (void)
{
	static volatile gsize publishing_facebook_graph_session_type_id__volatile = 0;
	if (g_once_init_enter (&publishing_facebook_graph_session_type_id__volatile)) {
		static const GTypeValueTable g_define_type_value_table = { publishing_facebook_value_graph_session_init, publishing_facebook_value_graph_session_free_value, publishing_facebook_value_graph_session_copy_value, publishing_facebook_value_graph_session_peek_pointer, "p", publishing_facebook_value_graph_session_collect_value, "p", publishing_facebook_value_graph_session_lcopy_value };
		static const GTypeInfo g_define_type_info = { sizeof (PublishingFacebookGraphSessionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_facebook_graph_session_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFacebookGraphSession), 0, (GInstanceInitFunc) publishing_facebook_graph_session_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 publishing_facebook_graph_session_type_id;
		publishing_facebook_graph_session_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingFacebookGraphSession", &g_define_type_info, &g_define_type_fundamental_info, 0);
		g_once_init_leave (&publishing_facebook_graph_session_type_id__volatile, publishing_facebook_graph_session_type_id);
	}
	return publishing_facebook_graph_session_type_id__volatile;
}


gpointer
publishing_facebook_graph_session_ref (gpointer instance)
{
	PublishingFacebookGraphSession * self;
	self = instance;
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_atomic_int_inc (&self->ref_count);
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return instance;
#line 9278 "FacebookPublishing.c"
}


void
publishing_facebook_graph_session_unref (gpointer instance)
{
	PublishingFacebookGraphSession * self;
	self = instance;
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		PUBLISHING_FACEBOOK_GRAPH_SESSION_GET_CLASS (self)->finalize (self);
#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 9293 "FacebookPublishing.c"
	}
}


static SpitPublishingPublishable**
_vala_array_dup3 (SpitPublishingPublishable** self,
                  int length)
{
	SpitPublishingPublishable** result;
	int i;
#line 1316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	result = g_new0 (SpitPublishingPublishable*, length + 1);
#line 1316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	for (i = 0; i < length; i++) {
#line 9308 "FacebookPublishing.c"
		SpitPublishingPublishable* _tmp0_;
#line 1316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp0_ = _g_object_ref0 (self[i]);
#line 1316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		result[i] = _tmp0_;
#line 9314 "FacebookPublishing.c"
	}
#line 1316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return result;
#line 9318 "FacebookPublishing.c"
}


static gpointer
_publishing_facebook_graph_session_ref0 (gpointer self)
{
#line 1317 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return self ? publishing_facebook_graph_session_ref (self) : NULL;
#line 9327 "FacebookPublishing.c"
}


static gpointer
_publishing_facebook_publishing_parameters_ref0 (gpointer self)
{
#line 1318 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return self ? publishing_facebook_publishing_parameters_ref (self) : NULL;
#line 9336 "FacebookPublishing.c"
}


PublishingFacebookUploader*
publishing_facebook_uploader_construct (GType object_type,
                                        PublishingFacebookGraphSession* session,
                                        PublishingFacebookPublishingParameters* publishing_params,
                                        SpitPublishingPublishable** publishables,
                                        int publishables_length1)
{
	PublishingFacebookUploader* self = NULL;
	SpitPublishingPublishable** _tmp0_;
	gint _tmp0__length1;
	PublishingFacebookGraphSession* _tmp1_;
	PublishingFacebookPublishingParameters* _tmp2_;
#line 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (session), NULL);
#line 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_PARAMETERS (publishing_params), NULL);
#line 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = (PublishingFacebookUploader*) g_type_create_instance (object_type);
#line 1315 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->current_file = 0;
#line 1316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = (publishables != NULL) ? _vala_array_dup3 (publishables, publishables_length1) : ((gpointer) publishables);
#line 1316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0__length1 = publishables_length1;
#line 1316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->publishables = (_vala_array_free (self->priv->publishables, self->priv->publishables_length1, (GDestroyNotify) g_object_unref), NULL);
#line 1316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->publishables = _tmp0_;
#line 1316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->publishables_length1 = _tmp0__length1;
#line 1316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->_publishables_size_ = self->priv->publishables_length1;
#line 1317 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = _publishing_facebook_graph_session_ref0 (session);
#line 1317 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_publishing_facebook_graph_session_unref0 (self->priv->session);
#line 1317 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->session = _tmp1_;
#line 1318 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = _publishing_facebook_publishing_parameters_ref0 (publishing_params);
#line 1318 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_publishing_facebook_publishing_parameters_unref0 (self->priv->publishing_params);
#line 1318 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->publishing_params = _tmp2_;
#line 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return self;
#line 9386 "FacebookPublishing.c"
}


PublishingFacebookUploader*
publishing_facebook_uploader_new (PublishingFacebookGraphSession* session,
                                  PublishingFacebookPublishingParameters* publishing_params,
                                  SpitPublishingPublishable** publishables,
                                  int publishables_length1)
{
#line 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return publishing_facebook_uploader_construct (PUBLISHING_FACEBOOK_TYPE_UPLOADER, session, publishing_params, publishables, publishables_length1);
#line 9398 "FacebookPublishing.c"
}


static void
_publishing_facebook_uploader_on_chunk_transmitted_publishing_facebook_graph_message_data_transmitted (PublishingFacebookGraphMessage* _sender,
                                                                                                       gint bytes_sent_so_far,
                                                                                                       gint total_bytes,
                                                                                                       gpointer self)
{
#line 1340 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_uploader_on_chunk_transmitted ((PublishingFacebookUploader*) self, bytes_sent_so_far, total_bytes);
#line 9410 "FacebookPublishing.c"
}


static void
_publishing_facebook_uploader_on_message_completed_publishing_facebook_graph_message_completed (PublishingFacebookGraphMessage* _sender,
                                                                                                gpointer self)
{
#line 1341 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_uploader_on_message_completed ((PublishingFacebookUploader*) self, _sender);
#line 9420 "FacebookPublishing.c"
}


static void
_publishing_facebook_uploader_on_message_failed_publishing_facebook_graph_message_failed (PublishingFacebookGraphMessage* _sender,
                                                                                          GError* err,
                                                                                          gpointer self)
{
#line 1342 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_uploader_on_message_failed ((PublishingFacebookUploader*) self, _sender, err);
#line 9431 "FacebookPublishing.c"
}


static void
publishing_facebook_uploader_send_current_file (PublishingFacebookUploader* self)
{
	SpitPublishingPublishable* publishable = NULL;
	SpitPublishingPublishable** _tmp0_;
	gint _tmp0__length1;
	gint _tmp1_;
	SpitPublishingPublishable* _tmp2_;
	SpitPublishingPublishable* _tmp3_;
	GFile* file = NULL;
	SpitPublishingPublishable* _tmp4_;
	GFile* _tmp5_;
	GFile* _tmp6_;
	gchar* _tmp8_ = NULL;
	SpitPublishingPublishable* _tmp9_;
	gchar* resource_uri = NULL;
	gchar* _tmp15_;
	const gchar* _tmp16_ = NULL;
	SpitPublishingPublishable* _tmp17_;
	gchar* resource_privacy = NULL;
	gchar* _tmp20_;
	PublishingFacebookGraphMessage* upload_message = NULL;
	PublishingFacebookGraphSession* _tmp21_;
	const gchar* _tmp22_;
	SpitPublishingPublishable* _tmp23_;
	PublishingFacebookPublishingParameters* _tmp24_;
	gboolean _tmp25_;
	const gchar* _tmp26_;
	PublishingFacebookGraphMessage* _tmp27_;
	PublishingFacebookGraphMessage* _tmp28_;
	PublishingFacebookGraphMessage* _tmp29_;
	PublishingFacebookGraphMessage* _tmp30_;
	PublishingFacebookGraphSession* _tmp31_;
	PublishingFacebookGraphMessage* _tmp32_;
#line 1321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_UPLOADER (self));
#line 1322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->publishables;
#line 1322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0__length1 = self->priv->publishables_length1;
#line 1322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = self->priv->current_file;
#line 1322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = _tmp0_[_tmp1_];
#line 1322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3_ = _g_object_ref0 (_tmp2_);
#line 1322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishable = _tmp3_;
#line 1323 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp4_ = publishable;
#line 1323 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp5_ = spit_publishing_publishable_get_serialized_file (_tmp4_);
#line 1323 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	file = _tmp5_;
#line 1326 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp6_ = file;
#line 1326 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (_tmp6_ == NULL) {
#line 9493 "FacebookPublishing.c"
		gint _tmp7_;
#line 1327 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp7_ = self->priv->current_file;
#line 1327 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		self->priv->current_file = _tmp7_ + 1;
#line 1328 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_object_unref0 (file);
#line 1328 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_object_unref0 (publishable);
#line 1328 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return;
#line 9505 "FacebookPublishing.c"
	}
#line 1332 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp9_ = publishable;
#line 1332 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (spit_publishing_publishable_get_media_type (_tmp9_) == SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO) {
#line 9511 "FacebookPublishing.c"
		PublishingFacebookPublishingParameters* _tmp10_;
		gchar* _tmp11_;
		gchar* _tmp12_;
		gchar* _tmp13_;
#line 1333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp10_ = self->priv->publishing_params;
#line 1333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp11_ = publishing_facebook_publishing_parameters_get_target_album_id (_tmp10_);
#line 1333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp12_ = _tmp11_;
#line 1333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp13_ = g_strdup_printf ("/%s/photos", _tmp12_);
#line 1333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_free0 (_tmp8_);
#line 1333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp8_ = _tmp13_;
#line 1333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_free0 (_tmp12_);
#line 9530 "FacebookPublishing.c"
	} else {
		gchar* _tmp14_;
#line 1333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp14_ = g_strdup ("/me/videos");
#line 1333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_g_free0 (_tmp8_);
#line 1333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp8_ = _tmp14_;
#line 9539 "FacebookPublishing.c"
	}
#line 1331 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp15_ = g_strdup (_tmp8_);
#line 1331 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	resource_uri = _tmp15_;
#line 1335 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp17_ = publishable;
#line 1335 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (spit_publishing_publishable_get_media_type (_tmp17_) == SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO) {
#line 9549 "FacebookPublishing.c"
		PublishingFacebookPublishingParameters* _tmp18_;
		const gchar* _tmp19_;
#line 1336 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp18_ = self->priv->publishing_params;
#line 1336 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp19_ = _tmp18_->privacy_object;
#line 1336 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp16_ = _tmp19_;
#line 9558 "FacebookPublishing.c"
	} else {
#line 1336 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp16_ = NULL;
#line 9562 "FacebookPublishing.c"
	}
#line 1334 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp20_ = g_strdup (_tmp16_);
#line 1334 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	resource_privacy = _tmp20_;
#line 1337 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp21_ = self->priv->session;
#line 1337 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp22_ = resource_uri;
#line 1337 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp23_ = publishable;
#line 1337 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp24_ = self->priv->publishing_params;
#line 1337 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp25_ = _tmp24_->strip_metadata;
#line 1337 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp26_ = resource_privacy;
#line 1337 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp27_ = publishing_facebook_graph_session_new_upload (_tmp21_, _tmp22_, _tmp23_, _tmp25_, _tmp26_);
#line 1337 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	upload_message = _tmp27_;
#line 1340 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp28_ = upload_message;
#line 1340 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_connect (_tmp28_, "data-transmitted", (GCallback) _publishing_facebook_uploader_on_chunk_transmitted_publishing_facebook_graph_message_data_transmitted, self);
#line 1341 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp29_ = upload_message;
#line 1341 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_connect (_tmp29_, "completed", (GCallback) _publishing_facebook_uploader_on_message_completed_publishing_facebook_graph_message_completed, self);
#line 1342 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp30_ = upload_message;
#line 1342 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_connect (_tmp30_, "failed", (GCallback) _publishing_facebook_uploader_on_message_failed_publishing_facebook_graph_message_failed, self);
#line 1344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp31_ = self->priv->session;
#line 1344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp32_ = upload_message;
#line 1344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_graph_session_send_message (_tmp31_, _tmp32_);
#line 1321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_publishing_facebook_graph_message_unref0 (upload_message);
#line 1321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (resource_privacy);
#line 1321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (resource_uri);
#line 1321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_free0 (_tmp8_);
#line 1321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (file);
#line 1321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_g_object_unref0 (publishable);
#line 9614 "FacebookPublishing.c"
}


static void
publishing_facebook_uploader_send_files (PublishingFacebookUploader* self)
{
#line 1347 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_UPLOADER (self));
#line 1348 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->current_file = 0;
#line 1349 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_uploader_send_current_file (self);
#line 9627 "FacebookPublishing.c"
}


static void
publishing_facebook_uploader_on_chunk_transmitted (PublishingFacebookUploader* self,
                                                   gint bytes_written_so_far,
                                                   gint total_bytes)
{
	gdouble file_span = 0.0;
	SpitPublishingPublishable** _tmp0_;
	gint _tmp0__length1;
	gdouble this_file_fraction_complete = 0.0;
	gdouble fraction_complete = 0.0;
	gint _tmp1_;
	gdouble _tmp2_;
	gdouble _tmp3_;
	gdouble _tmp4_;
	SpitPublishingProgressCallback _tmp5_;
	void* _tmp5__target;
#line 1352 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_UPLOADER (self));
#line 1353 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->publishables;
#line 1353 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0__length1 = self->priv->publishables_length1;
#line 1353 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	file_span = 1.0 / _tmp0__length1;
#line 1354 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	this_file_fraction_complete = ((gdouble) bytes_written_so_far) / total_bytes;
#line 1355 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp1_ = self->priv->current_file;
#line 1355 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp2_ = file_span;
#line 1355 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3_ = this_file_fraction_complete;
#line 1355 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp4_ = file_span;
#line 1355 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	fraction_complete = (_tmp1_ * _tmp2_) + (_tmp3_ * _tmp4_);
#line 1358 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp5_ = self->priv->status_updated;
#line 1358 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp5__target = self->priv->status_updated_target;
#line 1358 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (_tmp5_ != NULL) {
#line 9673 "FacebookPublishing.c"
		SpitPublishingProgressCallback _tmp6_;
		void* _tmp6__target;
		gint _tmp7_;
		gdouble _tmp8_;
#line 1359 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp6_ = self->priv->status_updated;
#line 1359 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp6__target = self->priv->status_updated_target;
#line 1359 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp7_ = self->priv->current_file;
#line 1359 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp8_ = fraction_complete;
#line 1359 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp6_ (_tmp7_ + 1, _tmp8_, _tmp6__target);
#line 9688 "FacebookPublishing.c"
	}
}


static void
publishing_facebook_uploader_on_message_completed (PublishingFacebookUploader* self,
                                                   PublishingFacebookGraphMessage* message)
{
	guint _tmp0_;
	guint _tmp1_;
	guint _tmp2_;
	gint _tmp3_;
	gint _tmp4_;
	SpitPublishingPublishable** _tmp5_;
	gint _tmp5__length1;
#line 1362 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_UPLOADER (self));
#line 1362 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE (message));
#line 1363 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_parse_name ("data-transmitted", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp0_, NULL, FALSE);
#line 1363 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_disconnect_matched (message, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp0_, 0, NULL, (GCallback) _publishing_facebook_uploader_on_chunk_transmitted_publishing_facebook_graph_message_data_transmitted, self);
#line 1364 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_parse_name ("completed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp1_, NULL, FALSE);
#line 1364 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_disconnect_matched (message, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_uploader_on_message_completed_publishing_facebook_graph_message_completed, self);
#line 1365 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_parse_name ("failed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp2_, NULL, FALSE);
#line 1365 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_disconnect_matched (message, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _publishing_facebook_uploader_on_message_failed_publishing_facebook_graph_message_failed, self);
#line 1367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp3_ = self->priv->current_file;
#line 1367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->current_file = _tmp3_ + 1;
#line 1368 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp4_ = self->priv->current_file;
#line 1368 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp5_ = self->priv->publishables;
#line 1368 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp5__length1 = self->priv->publishables_length1;
#line 1368 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (_tmp4_ < _tmp5__length1) {
#line 1369 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_uploader_send_current_file (self);
#line 9734 "FacebookPublishing.c"
	} else {
		gint _tmp6_;
#line 1371 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		_tmp6_ = self->priv->current_file;
#line 1371 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_signal_emit (self, publishing_facebook_uploader_signals[PUBLISHING_FACEBOOK_UPLOADER_UPLOAD_COMPLETE_SIGNAL], 0, _tmp6_);
#line 9741 "FacebookPublishing.c"
	}
}


static void
publishing_facebook_uploader_on_message_failed (PublishingFacebookUploader* self,
                                                PublishingFacebookGraphMessage* message,
                                                GError* _error_)
{
	guint _tmp0_;
	guint _tmp1_;
	guint _tmp2_;
#line 1375 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_UPLOADER (self));
#line 1375 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE (message));
#line 1376 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_parse_name ("data-transmitted", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp0_, NULL, FALSE);
#line 1376 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_disconnect_matched (message, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp0_, 0, NULL, (GCallback) _publishing_facebook_uploader_on_chunk_transmitted_publishing_facebook_graph_message_data_transmitted, self);
#line 1377 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_parse_name ("completed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp1_, NULL, FALSE);
#line 1377 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_disconnect_matched (message, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_uploader_on_message_completed_publishing_facebook_graph_message_completed, self);
#line 1378 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_parse_name ("failed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp2_, NULL, FALSE);
#line 1378 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_disconnect_matched (message, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _publishing_facebook_uploader_on_message_failed_publishing_facebook_graph_message_failed, self);
#line 1380 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_emit (self, publishing_facebook_uploader_signals[PUBLISHING_FACEBOOK_UPLOADER_UPLOAD_ERROR_SIGNAL], 0, _error_);
#line 9772 "FacebookPublishing.c"
}


void
publishing_facebook_uploader_upload (PublishingFacebookUploader* self,
                                     SpitPublishingProgressCallback status_updated,
                                     void* status_updated_target)
{
	SpitPublishingPublishable** _tmp0_;
	gint _tmp0__length1;
#line 1383 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (PUBLISHING_FACEBOOK_IS_UPLOADER (self));
#line 1384 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->status_updated = status_updated;
#line 1384 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->status_updated_target = status_updated_target;
#line 1386 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0_ = self->priv->publishables;
#line 1386 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_tmp0__length1 = self->priv->publishables_length1;
#line 1386 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (_tmp0__length1 > 0) {
#line 1387 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_uploader_send_files (self);
#line 9797 "FacebookPublishing.c"
	}
}


static void
publishing_facebook_value_uploader_init (GValue* value)
{
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	value->data[0].v_pointer = NULL;
#line 9807 "FacebookPublishing.c"
}


static void
publishing_facebook_value_uploader_free_value (GValue* value)
{
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (value->data[0].v_pointer) {
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_uploader_unref (value->data[0].v_pointer);
#line 9818 "FacebookPublishing.c"
	}
}


static void
publishing_facebook_value_uploader_copy_value (const GValue* src_value,
                                               GValue* dest_value)
{
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (src_value->data[0].v_pointer) {
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		dest_value->data[0].v_pointer = publishing_facebook_uploader_ref (src_value->data[0].v_pointer);
#line 9831 "FacebookPublishing.c"
	} else {
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		dest_value->data[0].v_pointer = NULL;
#line 9835 "FacebookPublishing.c"
	}
}


static gpointer
publishing_facebook_value_uploader_peek_pointer (const GValue* value)
{
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return value->data[0].v_pointer;
#line 9845 "FacebookPublishing.c"
}


static gchar*
publishing_facebook_value_uploader_collect_value (GValue* value,
                                                  guint n_collect_values,
                                                  GTypeCValue* collect_values,
                                                  guint collect_flags)
{
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (collect_values[0].v_pointer) {
#line 9857 "FacebookPublishing.c"
		PublishingFacebookUploader * object;
		object = collect_values[0].v_pointer;
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		if (object->parent_instance.g_class == NULL) {
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 9864 "FacebookPublishing.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.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 9868 "FacebookPublishing.c"
		}
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = publishing_facebook_uploader_ref (object);
#line 9872 "FacebookPublishing.c"
	} else {
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = NULL;
#line 9876 "FacebookPublishing.c"
	}
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return NULL;
#line 9880 "FacebookPublishing.c"
}


static gchar*
publishing_facebook_value_uploader_lcopy_value (const GValue* value,
                                                guint n_collect_values,
                                                GTypeCValue* collect_values,
                                                guint collect_flags)
{
	PublishingFacebookUploader ** object_p;
	object_p = collect_values[0].v_pointer;
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!object_p) {
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 9896 "FacebookPublishing.c"
	}
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (!value->data[0].v_pointer) {
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*object_p = NULL;
#line 9902 "FacebookPublishing.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*object_p = value->data[0].v_pointer;
#line 9906 "FacebookPublishing.c"
	} else {
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		*object_p = publishing_facebook_uploader_ref (value->data[0].v_pointer);
#line 9910 "FacebookPublishing.c"
	}
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return NULL;
#line 9914 "FacebookPublishing.c"
}


GParamSpec*
publishing_facebook_param_spec_uploader (const gchar* name,
                                         const gchar* nick,
                                         const gchar* blurb,
                                         GType object_type,
                                         GParamFlags flags)
{
	PublishingFacebookParamSpecUploader* spec;
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_FACEBOOK_TYPE_UPLOADER), NULL);
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return G_PARAM_SPEC (spec);
#line 9934 "FacebookPublishing.c"
}


gpointer
publishing_facebook_value_get_uploader (const GValue* value)
{
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_TYPE_UPLOADER), NULL);
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return value->data[0].v_pointer;
#line 9945 "FacebookPublishing.c"
}


void
publishing_facebook_value_set_uploader (GValue* value,
                                        gpointer v_object)
{
	PublishingFacebookUploader * old;
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_TYPE_UPLOADER));
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	old = value->data[0].v_pointer;
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (v_object) {
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FACEBOOK_TYPE_UPLOADER));
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = v_object;
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_uploader_ref (value->data[0].v_pointer);
#line 9968 "FacebookPublishing.c"
	} else {
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = NULL;
#line 9972 "FacebookPublishing.c"
	}
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (old) {
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_uploader_unref (old);
#line 9978 "FacebookPublishing.c"
	}
}


void
publishing_facebook_value_take_uploader (GValue* value,
                                         gpointer v_object)
{
	PublishingFacebookUploader * old;
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_TYPE_UPLOADER));
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	old = value->data[0].v_pointer;
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (v_object) {
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FACEBOOK_TYPE_UPLOADER));
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = v_object;
#line 10000 "FacebookPublishing.c"
	} else {
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		value->data[0].v_pointer = NULL;
#line 10004 "FacebookPublishing.c"
	}
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (old) {
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		publishing_facebook_uploader_unref (old);
#line 10010 "FacebookPublishing.c"
	}
}


static void
publishing_facebook_uploader_class_init (PublishingFacebookUploaderClass * klass)
{
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_uploader_parent_class = g_type_class_peek_parent (klass);
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	((PublishingFacebookUploaderClass *) klass)->finalize = publishing_facebook_uploader_finalize;
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_type_class_add_private (klass, sizeof (PublishingFacebookUploaderPrivate));
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_uploader_signals[PUBLISHING_FACEBOOK_UPLOADER_UPLOAD_COMPLETE_SIGNAL] = g_signal_new ("upload-complete", PUBLISHING_FACEBOOK_TYPE_UPLOADER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__INT, G_TYPE_NONE, 1, G_TYPE_INT);
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	publishing_facebook_uploader_signals[PUBLISHING_FACEBOOK_UPLOADER_UPLOAD_ERROR_SIGNAL] = g_signal_new ("upload-error", PUBLISHING_FACEBOOK_TYPE_UPLOADER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER);
#line 10028 "FacebookPublishing.c"
}


static void
publishing_facebook_uploader_instance_init (PublishingFacebookUploader * self)
{
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv = PUBLISHING_FACEBOOK_UPLOADER_GET_PRIVATE (self);
#line 1308 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->status_updated = NULL;
#line 1308 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->status_updated_target = self;
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->ref_count = 1;
#line 10043 "FacebookPublishing.c"
}


static void
publishing_facebook_uploader_finalize (PublishingFacebookUploader * obj)
{
	PublishingFacebookUploader * self;
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FACEBOOK_TYPE_UPLOADER, PublishingFacebookUploader);
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_signal_handlers_destroy (self);
#line 1305 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	self->priv->publishables = (_vala_array_free (self->priv->publishables, self->priv->publishables_length1, (GDestroyNotify) g_object_unref), NULL);
#line 1306 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_publishing_facebook_graph_session_unref0 (self->priv->session);
#line 1307 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	_publishing_facebook_publishing_parameters_unref0 (self->priv->publishing_params);
#line 10061 "FacebookPublishing.c"
}


GType
publishing_facebook_uploader_get_type (void)
{
	static volatile gsize publishing_facebook_uploader_type_id__volatile = 0;
	if (g_once_init_enter (&publishing_facebook_uploader_type_id__volatile)) {
		static const GTypeValueTable g_define_type_value_table = { publishing_facebook_value_uploader_init, publishing_facebook_value_uploader_free_value, publishing_facebook_value_uploader_copy_value, publishing_facebook_value_uploader_peek_pointer, "p", publishing_facebook_value_uploader_collect_value, "p", publishing_facebook_value_uploader_lcopy_value };
		static const GTypeInfo g_define_type_info = { sizeof (PublishingFacebookUploaderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_facebook_uploader_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFacebookUploader), 0, (GInstanceInitFunc) publishing_facebook_uploader_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 publishing_facebook_uploader_type_id;
		publishing_facebook_uploader_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingFacebookUploader", &g_define_type_info, &g_define_type_fundamental_info, 0);
		g_once_init_leave (&publishing_facebook_uploader_type_id__volatile, publishing_facebook_uploader_type_id);
	}
	return publishing_facebook_uploader_type_id__volatile;
}


gpointer
publishing_facebook_uploader_ref (gpointer instance)
{
	PublishingFacebookUploader * self;
	self = instance;
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	g_atomic_int_inc (&self->ref_count);
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	return instance;
#line 10090 "FacebookPublishing.c"
}


void
publishing_facebook_uploader_unref (gpointer instance)
{
	PublishingFacebookUploader * self;
	self = instance;
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		PUBLISHING_FACEBOOK_UPLOADER_GET_CLASS (self)->finalize (self);
#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 10105 "FacebookPublishing.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);
}