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

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


#include <glib.h>
#include <glib-object.h>
#include <stdlib.h>
#include <string.h>
#include <glib/gi18n-lib.h>
#include "shotwell-plugin-common.h"
#include <webkit2/webkit2.h>
#include <libsoup/soup.h>
#include <gio/gio.h>
#include "shotwell-plugin-dev-1.0.h"


#define PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_AUTHENTICATION_REQUEST_TRANSACTION (publishing_authenticator_shotwell_flickr_authentication_request_transaction_get_type ())
#define PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_AUTHENTICATION_REQUEST_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_AUTHENTICATION_REQUEST_TRANSACTION, PublishingAuthenticatorShotwellFlickrAuthenticationRequestTransaction))
#define PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_AUTHENTICATION_REQUEST_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_AUTHENTICATION_REQUEST_TRANSACTION, PublishingAuthenticatorShotwellFlickrAuthenticationRequestTransactionClass))
#define PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_IS_AUTHENTICATION_REQUEST_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_AUTHENTICATION_REQUEST_TRANSACTION))
#define PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_IS_AUTHENTICATION_REQUEST_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_AUTHENTICATION_REQUEST_TRANSACTION))
#define PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_AUTHENTICATION_REQUEST_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_AUTHENTICATION_REQUEST_TRANSACTION, PublishingAuthenticatorShotwellFlickrAuthenticationRequestTransactionClass))

typedef struct _PublishingAuthenticatorShotwellFlickrAuthenticationRequestTransaction PublishingAuthenticatorShotwellFlickrAuthenticationRequestTransaction;
typedef struct _PublishingAuthenticatorShotwellFlickrAuthenticationRequestTransactionClass PublishingAuthenticatorShotwellFlickrAuthenticationRequestTransactionClass;
typedef struct _PublishingAuthenticatorShotwellFlickrAuthenticationRequestTransactionPrivate PublishingAuthenticatorShotwellFlickrAuthenticationRequestTransactionPrivate;

#define PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_ACCESS_TOKEN_FETCH_TRANSACTION (publishing_authenticator_shotwell_flickr_access_token_fetch_transaction_get_type ())
#define PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_ACCESS_TOKEN_FETCH_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_ACCESS_TOKEN_FETCH_TRANSACTION, PublishingAuthenticatorShotwellFlickrAccessTokenFetchTransaction))
#define PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_ACCESS_TOKEN_FETCH_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_ACCESS_TOKEN_FETCH_TRANSACTION, PublishingAuthenticatorShotwellFlickrAccessTokenFetchTransactionClass))
#define PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_IS_ACCESS_TOKEN_FETCH_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_ACCESS_TOKEN_FETCH_TRANSACTION))
#define PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_IS_ACCESS_TOKEN_FETCH_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_ACCESS_TOKEN_FETCH_TRANSACTION))
#define PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_ACCESS_TOKEN_FETCH_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_ACCESS_TOKEN_FETCH_TRANSACTION, PublishingAuthenticatorShotwellFlickrAccessTokenFetchTransactionClass))

typedef struct _PublishingAuthenticatorShotwellFlickrAccessTokenFetchTransaction PublishingAuthenticatorShotwellFlickrAccessTokenFetchTransaction;
typedef struct _PublishingAuthenticatorShotwellFlickrAccessTokenFetchTransactionClass PublishingAuthenticatorShotwellFlickrAccessTokenFetchTransactionClass;
typedef struct _PublishingAuthenticatorShotwellFlickrAccessTokenFetchTransactionPrivate PublishingAuthenticatorShotwellFlickrAccessTokenFetchTransactionPrivate;
#define _g_free0(var) (var = (g_free (var), NULL))

#define PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_WEB_AUTHENTICATION_PANE (publishing_authenticator_shotwell_flickr_web_authentication_pane_get_type ())
#define PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_WEB_AUTHENTICATION_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_WEB_AUTHENTICATION_PANE, PublishingAuthenticatorShotwellFlickrWebAuthenticationPane))
#define PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_WEB_AUTHENTICATION_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_WEB_AUTHENTICATION_PANE, PublishingAuthenticatorShotwellFlickrWebAuthenticationPaneClass))
#define PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_IS_WEB_AUTHENTICATION_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_WEB_AUTHENTICATION_PANE))
#define PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_IS_WEB_AUTHENTICATION_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_WEB_AUTHENTICATION_PANE))
#define PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_WEB_AUTHENTICATION_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_WEB_AUTHENTICATION_PANE, PublishingAuthenticatorShotwellFlickrWebAuthenticationPaneClass))

typedef struct _PublishingAuthenticatorShotwellFlickrWebAuthenticationPane PublishingAuthenticatorShotwellFlickrWebAuthenticationPane;
typedef struct _PublishingAuthenticatorShotwellFlickrWebAuthenticationPaneClass PublishingAuthenticatorShotwellFlickrWebAuthenticationPaneClass;
typedef struct _PublishingAuthenticatorShotwellFlickrWebAuthenticationPanePrivate PublishingAuthenticatorShotwellFlickrWebAuthenticationPanePrivate;
enum  {
	PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_WEB_AUTHENTICATION_PANE_0_PROPERTY,
	PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_WEB_AUTHENTICATION_PANE_NUM_PROPERTIES
};
static GParamSpec* publishing_authenticator_shotwell_flickr_web_authentication_pane_properties[PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_WEB_AUTHENTICATION_PANE_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define __vala_SoupURI_free0(var) ((var == NULL) ? NULL : (var = (_vala_SoupURI_free (var), NULL)))
#define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL)))
enum  {
	PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_WEB_AUTHENTICATION_PANE_AUTHORIZED_SIGNAL,
	PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_WEB_AUTHENTICATION_PANE_ERROR_SIGNAL,
	PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_WEB_AUTHENTICATION_PANE_NUM_SIGNALS
};
static guint publishing_authenticator_shotwell_flickr_web_authentication_pane_signals[PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_WEB_AUTHENTICATION_PANE_NUM_SIGNALS] = {0};

#define PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR (publishing_authenticator_shotwell_oauth1_authenticator_get_type ())
#define PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_AUTHENTICATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR, PublishingAuthenticatorShotwellOAuth1Authenticator))
#define PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_AUTHENTICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR, PublishingAuthenticatorShotwellOAuth1AuthenticatorClass))
#define PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_IS_AUTHENTICATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR))
#define PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_IS_AUTHENTICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR))
#define PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_AUTHENTICATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR, PublishingAuthenticatorShotwellOAuth1AuthenticatorClass))

typedef struct _PublishingAuthenticatorShotwellOAuth1Authenticator PublishingAuthenticatorShotwellOAuth1Authenticator;
typedef struct _PublishingAuthenticatorShotwellOAuth1AuthenticatorClass PublishingAuthenticatorShotwellOAuth1AuthenticatorClass;
typedef struct _PublishingAuthenticatorShotwellOAuth1AuthenticatorPrivate PublishingAuthenticatorShotwellOAuth1AuthenticatorPrivate;

#define PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_FLICKR (publishing_authenticator_shotwell_flickr_flickr_get_type ())
#define PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_FLICKR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_FLICKR, PublishingAuthenticatorShotwellFlickrFlickr))
#define PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_FLICKR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_FLICKR, PublishingAuthenticatorShotwellFlickrFlickrClass))
#define PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_IS_FLICKR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_FLICKR))
#define PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_IS_FLICKR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_FLICKR))
#define PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_FLICKR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_FLICKR, PublishingAuthenticatorShotwellFlickrFlickrClass))

typedef struct _PublishingAuthenticatorShotwellFlickrFlickr PublishingAuthenticatorShotwellFlickrFlickr;
typedef struct _PublishingAuthenticatorShotwellFlickrFlickrClass PublishingAuthenticatorShotwellFlickrFlickrClass;
typedef struct _PublishingAuthenticatorShotwellFlickrFlickrPrivate PublishingAuthenticatorShotwellFlickrFlickrPrivate;
enum  {
	PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_FLICKR_0_PROPERTY,
	PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_FLICKR_NUM_PROPERTIES
};
static GParamSpec* publishing_authenticator_shotwell_flickr_flickr_properties[PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_FLICKR_NUM_PROPERTIES];
#define _publishing_rest_support_transaction_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_transaction_unref (var), NULL)))
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))

struct _PublishingAuthenticatorShotwellFlickrAuthenticationRequestTransaction {
	PublishingRESTSupportOAuth1Transaction parent_instance;
	PublishingAuthenticatorShotwellFlickrAuthenticationRequestTransactionPrivate * priv;
};

struct _PublishingAuthenticatorShotwellFlickrAuthenticationRequestTransactionClass {
	PublishingRESTSupportOAuth1TransactionClass parent_class;
};

struct _PublishingAuthenticatorShotwellFlickrAccessTokenFetchTransaction {
	PublishingRESTSupportOAuth1Transaction parent_instance;
	PublishingAuthenticatorShotwellFlickrAccessTokenFetchTransactionPrivate * priv;
};

struct _PublishingAuthenticatorShotwellFlickrAccessTokenFetchTransactionClass {
	PublishingRESTSupportOAuth1TransactionClass parent_class;
};

struct _PublishingAuthenticatorShotwellFlickrWebAuthenticationPane {
	ShotwellPluginsCommonWebAuthenticationPane parent_instance;
	PublishingAuthenticatorShotwellFlickrWebAuthenticationPanePrivate * priv;
};

struct _PublishingAuthenticatorShotwellFlickrWebAuthenticationPaneClass {
	ShotwellPluginsCommonWebAuthenticationPaneClass parent_class;
};

struct _PublishingAuthenticatorShotwellFlickrWebAuthenticationPanePrivate {
	gchar* auth_code;
};

struct _PublishingAuthenticatorShotwellOAuth1Authenticator {
	GObject parent_instance;
	PublishingAuthenticatorShotwellOAuth1AuthenticatorPrivate * priv;
	GHashTable* params;
	PublishingRESTSupportOAuth1Session* session;
	SpitPublishingPluginHost* host;
};

struct _PublishingAuthenticatorShotwellOAuth1AuthenticatorClass {
	GObjectClass parent_class;
	void (*authenticate) (PublishingAuthenticatorShotwellOAuth1Authenticator* self);
	gboolean (*can_logout) (PublishingAuthenticatorShotwellOAuth1Authenticator* self);
	void (*logout) (PublishingAuthenticatorShotwellOAuth1Authenticator* self);
	void (*refresh) (PublishingAuthenticatorShotwellOAuth1Authenticator* self);
};

struct _PublishingAuthenticatorShotwellFlickrFlickr {
	PublishingAuthenticatorShotwellOAuth1Authenticator parent_instance;
	PublishingAuthenticatorShotwellFlickrFlickrPrivate * priv;
};

struct _PublishingAuthenticatorShotwellFlickrFlickrClass {
	PublishingAuthenticatorShotwellOAuth1AuthenticatorClass parent_class;
};


static gpointer publishing_authenticator_shotwell_flickr_authentication_request_transaction_parent_class = NULL;
static gpointer publishing_authenticator_shotwell_flickr_access_token_fetch_transaction_parent_class = NULL;
static gpointer publishing_authenticator_shotwell_flickr_web_authentication_pane_parent_class = NULL;
static gpointer publishing_authenticator_shotwell_flickr_flickr_parent_class = NULL;

#define PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_ENDPOINT_URL "https://api.flickr.com/services/rest"
#define PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_EXPIRED_SESSION_ERROR_CODE "98"
#define PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_API_KEY "60dd96d4a2ad04888b09c9e18d82c26f"
#define PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_API_SECRET "d0960565e03547c1"
#define PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_SERVICE_WELCOME_MESSAGE _ ("You are not currently logged into Flickr.\n" \
"\n" \
"Click Log in to log into Flickr in your Web browser. You will have to " \
"authorize Shotwell Connect to link to your Flickr account.")
GType publishing_authenticator_shotwell_flickr_authentication_request_transaction_get_type (void) G_GNUC_CONST;
PublishingAuthenticatorShotwellFlickrAuthenticationRequestTransaction* publishing_authenticator_shotwell_flickr_authentication_request_transaction_new (PublishingRESTSupportOAuth1Session* session);
PublishingAuthenticatorShotwellFlickrAuthenticationRequestTransaction* publishing_authenticator_shotwell_flickr_authentication_request_transaction_construct (GType object_type,
                                                                                                                                                              PublishingRESTSupportOAuth1Session* session);
GType publishing_authenticator_shotwell_flickr_access_token_fetch_transaction_get_type (void) G_GNUC_CONST;
PublishingAuthenticatorShotwellFlickrAccessTokenFetchTransaction* publishing_authenticator_shotwell_flickr_access_token_fetch_transaction_new (PublishingRESTSupportOAuth1Session* session,
                                                                                                                                               const gchar* user_verifier);
PublishingAuthenticatorShotwellFlickrAccessTokenFetchTransaction* publishing_authenticator_shotwell_flickr_access_token_fetch_transaction_construct (GType object_type,
                                                                                                                                                     PublishingRESTSupportOAuth1Session* session,
                                                                                                                                                     const gchar* user_verifier);
GType publishing_authenticator_shotwell_flickr_web_authentication_pane_get_type (void) G_GNUC_CONST;
#define PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_WEB_AUTHENTICATION_PANE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_WEB_AUTHENTICATION_PANE, PublishingAuthenticatorShotwellFlickrWebAuthenticationPanePrivate))
#define PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_WEB_AUTHENTICATION_PANE_LOGIN_URI "https://www.flickr.com/services/oauth/authorize?oauth_token=%s&perms=w" \
"rite"
PublishingAuthenticatorShotwellFlickrWebAuthenticationPane* publishing_authenticator_shotwell_flickr_web_authentication_pane_new (const gchar* token);
PublishingAuthenticatorShotwellFlickrWebAuthenticationPane* publishing_authenticator_shotwell_flickr_web_authentication_pane_construct (GType object_type,
                                                                                                                                        const gchar* token);
static void publishing_authenticator_shotwell_flickr_web_authentication_pane_real_constructed (GObject* base);
static void publishing_authenticator_shotwell_flickr_web_authentication_pane_on_shotwell_auth_request_cb (PublishingAuthenticatorShotwellFlickrWebAuthenticationPane* self,
                                                                                                   WebKitURISchemeRequest* request);
static void _publishing_authenticator_shotwell_flickr_web_authentication_pane_on_shotwell_auth_request_cb_web_kit_uri_scheme_request_callback (WebKitURISchemeRequest* request,
                                                                                                                                        gpointer self);
static void publishing_authenticator_shotwell_flickr_web_authentication_pane_real_on_page_load (ShotwellPluginsCommonWebAuthenticationPane* base);
static void _vala_SoupURI_free (SoupURI* self);
static guint8* _vala_array_dup1 (guint8* self,
                          int length);
static void publishing_authenticator_shotwell_flickr_web_authentication_pane_finalize (GObject * obj);
GType publishing_authenticator_shotwell_oauth1_authenticator_get_type (void) G_GNUC_CONST;
GType publishing_authenticator_shotwell_flickr_flickr_get_type (void) G_GNUC_CONST;
PublishingAuthenticatorShotwellFlickrFlickr* publishing_authenticator_shotwell_flickr_flickr_new (SpitPublishingPluginHost* host);
PublishingAuthenticatorShotwellFlickrFlickr* publishing_authenticator_shotwell_flickr_flickr_construct (GType object_type,
                                                                                                        SpitPublishingPluginHost* host);
PublishingAuthenticatorShotwellOAuth1Authenticator* publishing_authenticator_shotwell_oauth1_authenticator_construct (GType object_type,
                                                                                                                      const gchar* api_key,
                                                                                                                      const gchar* api_secret,
                                                                                                                      SpitPublishingPluginHost* host);
static void publishing_authenticator_shotwell_flickr_flickr_real_authenticate (PublishingAuthenticatorShotwellOAuth1Authenticator* base);
gboolean publishing_authenticator_shotwell_oauth1_authenticator_is_persistent_session_valid (PublishingAuthenticatorShotwellOAuth1Authenticator* self);
gchar* publishing_authenticator_shotwell_oauth1_authenticator_get_persistent_access_phase_token (PublishingAuthenticatorShotwellOAuth1Authenticator* self);
gchar* publishing_authenticator_shotwell_oauth1_authenticator_get_persistent_access_phase_token_secret (PublishingAuthenticatorShotwellOAuth1Authenticator* self);
gchar* publishing_authenticator_shotwell_oauth1_authenticator_get_persistent_access_phase_username (PublishingAuthenticatorShotwellOAuth1Authenticator* self);
static void publishing_authenticator_shotwell_flickr_flickr_do_show_login_welcome_pane (PublishingAuthenticatorShotwellFlickrFlickr* self);
static gboolean publishing_authenticator_shotwell_flickr_flickr_real_can_logout (PublishingAuthenticatorShotwellOAuth1Authenticator* base);
static void publishing_authenticator_shotwell_flickr_flickr_real_logout (PublishingAuthenticatorShotwellOAuth1Authenticator* base);
void publishing_authenticator_shotwell_oauth1_authenticator_invalidate_persistent_session (PublishingAuthenticatorShotwellOAuth1Authenticator* self);
static void publishing_authenticator_shotwell_flickr_flickr_real_refresh (PublishingAuthenticatorShotwellOAuth1Authenticator* base);
static void publishing_authenticator_shotwell_flickr_flickr_on_welcome_pane_login_clicked (PublishingAuthenticatorShotwellFlickrFlickr* self);
static void _publishing_authenticator_shotwell_flickr_flickr_on_welcome_pane_login_clicked_spit_publishing_login_callback (gpointer self);
static void publishing_authenticator_shotwell_flickr_flickr_do_run_authentication_request_transaction (PublishingAuthenticatorShotwellFlickrFlickr* self);
static void publishing_authenticator_shotwell_flickr_flickr_on_auth_request_txn_completed (PublishingAuthenticatorShotwellFlickrFlickr* self,
                                                                                    PublishingRESTSupportTransaction* txn);
static void _publishing_authenticator_shotwell_flickr_flickr_on_auth_request_txn_completed_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender,
                                                                                                                                   gpointer self);
static void publishing_authenticator_shotwell_flickr_flickr_on_auth_request_txn_error (PublishingAuthenticatorShotwellFlickrFlickr* self,
                                                                                PublishingRESTSupportTransaction* txn,
                                                                                GError* err);
static void _publishing_authenticator_shotwell_flickr_flickr_on_auth_request_txn_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender,
                                                                                                                                   GError* err,
                                                                                                                                   gpointer self);
static void publishing_authenticator_shotwell_flickr_flickr_do_parse_token_info_from_auth_request (PublishingAuthenticatorShotwellFlickrFlickr* self,
                                                                                            const gchar* response);
static void publishing_authenticator_shotwell_flickr_flickr_on_authentication_token_available (PublishingAuthenticatorShotwellFlickrFlickr* self,
                                                                                        const gchar* token,
                                                                                        const gchar* token_secret);
static void publishing_authenticator_shotwell_flickr_flickr_do_web_authentication (PublishingAuthenticatorShotwellFlickrFlickr* self,
                                                                            const gchar* token);
static void publishing_authenticator_shotwell_flickr_flickr_do_verify_pin (PublishingAuthenticatorShotwellFlickrFlickr* self,
                                                                    const gchar* pin);
static void _publishing_authenticator_shotwell_flickr_flickr_do_verify_pin_publishing_authenticator_shotwell_flickr_web_authentication_pane_authorized (PublishingAuthenticatorShotwellFlickrWebAuthenticationPane* _sender,
                                                                                                                                                 const gchar* auth_code,
                                                                                                                                                 gpointer self);
static void publishing_authenticator_shotwell_flickr_flickr_on_web_login_error (PublishingAuthenticatorShotwellFlickrFlickr* self);
static void _publishing_authenticator_shotwell_flickr_flickr_on_web_login_error_publishing_authenticator_shotwell_flickr_web_authentication_pane_error (PublishingAuthenticatorShotwellFlickrWebAuthenticationPane* _sender,
                                                                                                                                                 gpointer self);
static void publishing_authenticator_shotwell_flickr_flickr_on_access_token_fetch_txn_completed (PublishingAuthenticatorShotwellFlickrFlickr* self,
                                                                                          PublishingRESTSupportTransaction* txn);
static void _publishing_authenticator_shotwell_flickr_flickr_on_access_token_fetch_txn_completed_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender,
                                                                                                                                         gpointer self);
static void publishing_authenticator_shotwell_flickr_flickr_on_access_token_fetch_error (PublishingAuthenticatorShotwellFlickrFlickr* self,
                                                                                  PublishingRESTSupportTransaction* txn,
                                                                                  GError* err);
static void _publishing_authenticator_shotwell_flickr_flickr_on_access_token_fetch_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender,
                                                                                                                                     GError* err,
                                                                                                                                     gpointer self);
static void publishing_authenticator_shotwell_flickr_flickr_do_extract_access_phase_credentials_from_reponse (PublishingAuthenticatorShotwellFlickrFlickr* self,
                                                                                                       const gchar* response);


PublishingAuthenticatorShotwellFlickrAuthenticationRequestTransaction*
publishing_authenticator_shotwell_flickr_authentication_request_transaction_construct (GType object_type,
                                                                                       PublishingRESTSupportOAuth1Session* session)
{
	PublishingAuthenticatorShotwellFlickrAuthenticationRequestTransaction* self = NULL;
#line 20 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_return_val_if_fail (PUBLISHING_REST_SUPPORT_OAUTH1_IS_SESSION (session), NULL);
#line 21 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	self = (PublishingAuthenticatorShotwellFlickrAuthenticationRequestTransaction*) publishing_rest_support_oauth1_transaction_construct_with_uri (object_type, session, "https://www.flickr.com/services/oauth/request_token", PUBLISHING_REST_SUPPORT_HTTP_METHOD_GET);
#line 23 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "oauth_callback", "shotwell-auth%3A%2F%2Flocal-callback");
#line 20 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	return self;
#line 268 "FlickrPublishingAuthenticator.c"
}


PublishingAuthenticatorShotwellFlickrAuthenticationRequestTransaction*
publishing_authenticator_shotwell_flickr_authentication_request_transaction_new (PublishingRESTSupportOAuth1Session* session)
{
#line 20 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	return publishing_authenticator_shotwell_flickr_authentication_request_transaction_construct (PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_AUTHENTICATION_REQUEST_TRANSACTION, session);
#line 277 "FlickrPublishingAuthenticator.c"
}


static void
publishing_authenticator_shotwell_flickr_authentication_request_transaction_class_init (PublishingAuthenticatorShotwellFlickrAuthenticationRequestTransactionClass * klass)
{
#line 19 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	publishing_authenticator_shotwell_flickr_authentication_request_transaction_parent_class = g_type_class_peek_parent (klass);
#line 286 "FlickrPublishingAuthenticator.c"
}


static void
publishing_authenticator_shotwell_flickr_authentication_request_transaction_instance_init (PublishingAuthenticatorShotwellFlickrAuthenticationRequestTransaction * self)
{
}


GType
publishing_authenticator_shotwell_flickr_authentication_request_transaction_get_type (void)
{
	static volatile gsize publishing_authenticator_shotwell_flickr_authentication_request_transaction_type_id__volatile = 0;
	if (g_once_init_enter (&publishing_authenticator_shotwell_flickr_authentication_request_transaction_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PublishingAuthenticatorShotwellFlickrAuthenticationRequestTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_authenticator_shotwell_flickr_authentication_request_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingAuthenticatorShotwellFlickrAuthenticationRequestTransaction), 0, (GInstanceInitFunc) publishing_authenticator_shotwell_flickr_authentication_request_transaction_instance_init, NULL };
		GType publishing_authenticator_shotwell_flickr_authentication_request_transaction_type_id;
		publishing_authenticator_shotwell_flickr_authentication_request_transaction_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_OAUTH1_TYPE_TRANSACTION, "PublishingAuthenticatorShotwellFlickrAuthenticationRequestTransaction", &g_define_type_info, 0);
		g_once_init_leave (&publishing_authenticator_shotwell_flickr_authentication_request_transaction_type_id__volatile, publishing_authenticator_shotwell_flickr_authentication_request_transaction_type_id);
	}
	return publishing_authenticator_shotwell_flickr_authentication_request_transaction_type_id__volatile;
}


PublishingAuthenticatorShotwellFlickrAccessTokenFetchTransaction*
publishing_authenticator_shotwell_flickr_access_token_fetch_transaction_construct (GType object_type,
                                                                                   PublishingRESTSupportOAuth1Session* session,
                                                                                   const gchar* user_verifier)
{
	PublishingAuthenticatorShotwellFlickrAccessTokenFetchTransaction* self = NULL;
	gchar* _tmp0_;
	gchar* _tmp1_;
#line 28 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_return_val_if_fail (PUBLISHING_REST_SUPPORT_OAUTH1_IS_SESSION (session), NULL);
#line 28 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_return_val_if_fail (user_verifier != NULL, NULL);
#line 29 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	self = (PublishingAuthenticatorShotwellFlickrAccessTokenFetchTransaction*) publishing_rest_support_oauth1_transaction_construct_with_uri (object_type, session, "https://www.flickr.com/services/oauth/access_token", PUBLISHING_REST_SUPPORT_HTTP_METHOD_GET);
#line 31 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "oauth_verifier", user_verifier);
#line 32 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp0_ = publishing_rest_support_oauth1_session_get_request_phase_token (session);
#line 32 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp1_ = _tmp0_;
#line 32 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "oauth_token", _tmp1_);
#line 32 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_g_free0 (_tmp1_);
#line 33 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "oauth_callback", "shotwell-auth%3A%2F%2Flocal-callback");
#line 28 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	return self;
#line 338 "FlickrPublishingAuthenticator.c"
}


PublishingAuthenticatorShotwellFlickrAccessTokenFetchTransaction*
publishing_authenticator_shotwell_flickr_access_token_fetch_transaction_new (PublishingRESTSupportOAuth1Session* session,
                                                                             const gchar* user_verifier)
{
#line 28 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	return publishing_authenticator_shotwell_flickr_access_token_fetch_transaction_construct (PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_ACCESS_TOKEN_FETCH_TRANSACTION, session, user_verifier);
#line 348 "FlickrPublishingAuthenticator.c"
}


static void
publishing_authenticator_shotwell_flickr_access_token_fetch_transaction_class_init (PublishingAuthenticatorShotwellFlickrAccessTokenFetchTransactionClass * klass)
{
#line 27 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	publishing_authenticator_shotwell_flickr_access_token_fetch_transaction_parent_class = g_type_class_peek_parent (klass);
#line 357 "FlickrPublishingAuthenticator.c"
}


static void
publishing_authenticator_shotwell_flickr_access_token_fetch_transaction_instance_init (PublishingAuthenticatorShotwellFlickrAccessTokenFetchTransaction * self)
{
}


GType
publishing_authenticator_shotwell_flickr_access_token_fetch_transaction_get_type (void)
{
	static volatile gsize publishing_authenticator_shotwell_flickr_access_token_fetch_transaction_type_id__volatile = 0;
	if (g_once_init_enter (&publishing_authenticator_shotwell_flickr_access_token_fetch_transaction_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PublishingAuthenticatorShotwellFlickrAccessTokenFetchTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_authenticator_shotwell_flickr_access_token_fetch_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingAuthenticatorShotwellFlickrAccessTokenFetchTransaction), 0, (GInstanceInitFunc) publishing_authenticator_shotwell_flickr_access_token_fetch_transaction_instance_init, NULL };
		GType publishing_authenticator_shotwell_flickr_access_token_fetch_transaction_type_id;
		publishing_authenticator_shotwell_flickr_access_token_fetch_transaction_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_OAUTH1_TYPE_TRANSACTION, "PublishingAuthenticatorShotwellFlickrAccessTokenFetchTransaction", &g_define_type_info, 0);
		g_once_init_leave (&publishing_authenticator_shotwell_flickr_access_token_fetch_transaction_type_id__volatile, publishing_authenticator_shotwell_flickr_access_token_fetch_transaction_type_id);
	}
	return publishing_authenticator_shotwell_flickr_access_token_fetch_transaction_type_id__volatile;
}


PublishingAuthenticatorShotwellFlickrWebAuthenticationPane*
publishing_authenticator_shotwell_flickr_web_authentication_pane_construct (GType object_type,
                                                                            const gchar* token)
{
	PublishingAuthenticatorShotwellFlickrWebAuthenticationPane * self = NULL;
	gchar* _tmp0_;
	gchar* _tmp1_;
#line 44 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_return_val_if_fail (token != NULL, NULL);
#line 45 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp0_ = g_strdup_printf (PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_WEB_AUTHENTICATION_PANE_LOGIN_URI, token);
#line 45 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp1_ = _tmp0_;
#line 45 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	self = (PublishingAuthenticatorShotwellFlickrWebAuthenticationPane*) g_object_new (object_type, "login-uri", _tmp1_, NULL);
#line 45 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_g_free0 (_tmp1_);
#line 44 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	return self;
#line 400 "FlickrPublishingAuthenticator.c"
}


PublishingAuthenticatorShotwellFlickrWebAuthenticationPane*
publishing_authenticator_shotwell_flickr_web_authentication_pane_new (const gchar* token)
{
#line 44 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	return publishing_authenticator_shotwell_flickr_web_authentication_pane_construct (PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_WEB_AUTHENTICATION_PANE, token);
#line 409 "FlickrPublishingAuthenticator.c"
}


static gpointer
_g_object_ref0 (gpointer self)
{
#line 51 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	return self ? g_object_ref (self) : NULL;
#line 418 "FlickrPublishingAuthenticator.c"
}


static void
_publishing_authenticator_shotwell_flickr_web_authentication_pane_on_shotwell_auth_request_cb_web_kit_uri_scheme_request_callback (WebKitURISchemeRequest* request,
                                                                                                                                   gpointer self)
{
#line 52 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	publishing_authenticator_shotwell_flickr_web_authentication_pane_on_shotwell_auth_request_cb ((PublishingAuthenticatorShotwellFlickrWebAuthenticationPane*) self, request);
#line 428 "FlickrPublishingAuthenticator.c"
}


static void
publishing_authenticator_shotwell_flickr_web_authentication_pane_real_constructed (GObject* base)
{
	PublishingAuthenticatorShotwellFlickrWebAuthenticationPane * self;
	WebKitWebContext* ctx = NULL;
	WebKitWebContext* _tmp0_;
	WebKitWebContext* _tmp1_;
#line 48 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_WEB_AUTHENTICATION_PANE, PublishingAuthenticatorShotwellFlickrWebAuthenticationPane);
#line 49 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	G_OBJECT_CLASS (publishing_authenticator_shotwell_flickr_web_authentication_pane_parent_class)->constructed (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, SHOTWELL_PLUGINS_COMMON_TYPE_WEB_AUTHENTICATION_PANE, ShotwellPluginsCommonWebAuthenticationPane), G_TYPE_OBJECT, GObject));
#line 51 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp0_ = webkit_web_context_get_default ();
#line 51 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 51 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	ctx = _tmp1_;
#line 52 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	webkit_web_context_register_uri_scheme (ctx, "shotwell-auth", _publishing_authenticator_shotwell_flickr_web_authentication_pane_on_shotwell_auth_request_cb_web_kit_uri_scheme_request_callback, g_object_ref (self), g_object_unref);
#line 48 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_g_object_unref0 (ctx);
#line 453 "FlickrPublishingAuthenticator.c"
}


static void
_vala_SoupURI_free (SoupURI* self)
{
#line 55 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_boxed_free (soup_uri_get_type (), self);
#line 462 "FlickrPublishingAuthenticator.c"
}


static void
publishing_authenticator_shotwell_flickr_web_authentication_pane_real_on_page_load (ShotwellPluginsCommonWebAuthenticationPane* base)
{
	PublishingAuthenticatorShotwellFlickrWebAuthenticationPane * self;
	SoupURI* uri = NULL;
	WebKitWebView* _tmp0_;
	WebKitWebView* _tmp1_;
	const gchar* _tmp2_;
	SoupURI* _tmp3_;
	SoupURI* _tmp4_;
	gboolean _tmp5_ = FALSE;
	SoupURI* _tmp6_;
	const gchar* _tmp7_;
	const gchar* _tmp9_;
#line 55 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_WEB_AUTHENTICATION_PANE, PublishingAuthenticatorShotwellFlickrWebAuthenticationPane);
#line 56 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp0_ = shotwell_plugins_common_web_authentication_pane_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, SHOTWELL_PLUGINS_COMMON_TYPE_WEB_AUTHENTICATION_PANE, ShotwellPluginsCommonWebAuthenticationPane));
#line 56 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp1_ = _tmp0_;
#line 56 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp2_ = webkit_web_view_get_uri (_tmp1_);
#line 56 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp3_ = soup_uri_new (_tmp2_);
#line 56 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp4_ = _tmp3_;
#line 56 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_g_object_unref0 (_tmp1_);
#line 56 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	uri = _tmp4_;
#line 57 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp6_ = uri;
#line 57 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp7_ = _tmp6_->scheme;
#line 57 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	if (g_strcmp0 (_tmp7_, "shotwell-auth") == 0) {
#line 502 "FlickrPublishingAuthenticator.c"
		const gchar* _tmp8_;
#line 57 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp8_ = self->priv->auth_code;
#line 57 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp5_ = _tmp8_ == NULL;
#line 508 "FlickrPublishingAuthenticator.c"
	} else {
#line 57 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp5_ = FALSE;
#line 512 "FlickrPublishingAuthenticator.c"
	}
#line 57 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	if (_tmp5_) {
#line 58 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		g_signal_emit (self, publishing_authenticator_shotwell_flickr_web_authentication_pane_signals[PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_WEB_AUTHENTICATION_PANE_ERROR_SIGNAL], 0);
#line 518 "FlickrPublishingAuthenticator.c"
	}
#line 61 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp9_ = self->priv->auth_code;
#line 61 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	if (_tmp9_ != NULL) {
#line 524 "FlickrPublishingAuthenticator.c"
		const gchar* _tmp10_;
#line 62 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp10_ = self->priv->auth_code;
#line 62 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		g_signal_emit (self, publishing_authenticator_shotwell_flickr_web_authentication_pane_signals[PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_WEB_AUTHENTICATION_PANE_AUTHORIZED_SIGNAL], 0, _tmp10_);
#line 530 "FlickrPublishingAuthenticator.c"
	}
#line 55 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	__vala_SoupURI_free0 (uri);
#line 534 "FlickrPublishingAuthenticator.c"
}


static guint8*
string_get_data (const gchar* self,
                 int* result_length1)
{
	guint8* result;
	guint8* res = NULL;
	gint res_length1;
	gint _res_size_;
	gint _tmp0_;
	gint _tmp1_;
	gint _tmp2_;
	guint8* _tmp3_;
	gint _tmp3__length1;
	guint8* _tmp4_;
	gint _tmp4__length1;
#line 1442 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, NULL);
#line 1443 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	res = (guint8*) self;
#line 1443 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	res_length1 = -1;
#line 1443 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	_res_size_ = res_length1;
#line 1444 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	_tmp0_ = strlen (self);
#line 1444 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	_tmp1_ = _tmp0_;
#line 1444 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	res_length1 = (gint) _tmp1_;
#line 1444 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	_tmp2_ = res_length1;
#line 1445 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	_tmp3_ = res;
#line 1445 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	_tmp3__length1 = res_length1;
#line 1445 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	_tmp4_ = _tmp3_;
#line 1445 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	_tmp4__length1 = _tmp3__length1;
#line 1445 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	if (result_length1) {
#line 1445 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		*result_length1 = _tmp4__length1;
#line 581 "FlickrPublishingAuthenticator.c"
	}
#line 1445 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	result = _tmp4_;
#line 1445 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	return result;
#line 587 "FlickrPublishingAuthenticator.c"
}


static guint8*
_vala_array_dup1 (guint8* self,
                  int length)
{
#line 72 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	return g_memdup (self, length * sizeof (guint8));
#line 597 "FlickrPublishingAuthenticator.c"
}


static void
publishing_authenticator_shotwell_flickr_web_authentication_pane_on_shotwell_auth_request_cb (PublishingAuthenticatorShotwellFlickrWebAuthenticationPane* self,
                                                                                              WebKitURISchemeRequest* request)
{
	SoupURI* uri = NULL;
	const gchar* _tmp0_;
	SoupURI* _tmp1_;
	GHashTable* form_data = NULL;
	const gchar* _tmp2_;
	GHashTable* _tmp3_;
	gconstpointer _tmp4_;
	gchar* _tmp5_;
	gchar* response = NULL;
	gchar* _tmp6_;
	GMemoryInputStream* mins = NULL;
	guint8* _tmp7_;
	gint _tmp7__length1;
	guint8* _tmp8_;
	gint _tmp8__length1;
	guint8* _tmp9_;
	gint _tmp9__length1;
	GMemoryInputStream* _tmp10_;
#line 66 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_return_if_fail (PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_IS_WEB_AUTHENTICATION_PANE (self));
#line 66 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_return_if_fail (WEBKIT_IS_URI_SCHEME_REQUEST (request));
#line 67 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp0_ = webkit_uri_scheme_request_get_uri (request);
#line 67 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp1_ = soup_uri_new (_tmp0_);
#line 67 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	uri = _tmp1_;
#line 68 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp2_ = uri->query;
#line 68 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp3_ = soup_form_decode (_tmp2_);
#line 68 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	form_data = _tmp3_;
#line 69 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp4_ = g_hash_table_lookup (form_data, "oauth_verifier");
#line 69 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp5_ = g_strdup ((const gchar*) _tmp4_);
#line 69 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_g_free0 (self->priv->auth_code);
#line 69 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	self->priv->auth_code = _tmp5_;
#line 71 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp6_ = g_strdup ("");
#line 71 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	response = _tmp6_;
#line 72 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp7_ = string_get_data (response, &_tmp7__length1);
#line 72 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp8_ = _tmp7_;
#line 72 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp8__length1 = _tmp7__length1;
#line 72 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp9_ = (_tmp8_ != NULL) ? _vala_array_dup1 (_tmp8_, _tmp8__length1) : ((gpointer) _tmp8_);
#line 72 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp9__length1 = _tmp8__length1;
#line 72 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp10_ = (GMemoryInputStream*) g_memory_input_stream_new_from_data (_tmp9_, _tmp9__length1, NULL);
#line 72 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	mins = _tmp10_;
#line 73 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	webkit_uri_scheme_request_finish (request, G_TYPE_CHECK_INSTANCE_CAST (mins, g_input_stream_get_type (), GInputStream), (gint64) -1, "text/plain");
#line 66 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_g_object_unref0 (mins);
#line 66 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_g_free0 (response);
#line 66 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_g_hash_table_unref0 (form_data);
#line 66 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	__vala_SoupURI_free0 (uri);
#line 675 "FlickrPublishingAuthenticator.c"
}


static void
publishing_authenticator_shotwell_flickr_web_authentication_pane_class_init (PublishingAuthenticatorShotwellFlickrWebAuthenticationPaneClass * klass)
{
#line 37 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	publishing_authenticator_shotwell_flickr_web_authentication_pane_parent_class = g_type_class_peek_parent (klass);
#line 37 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_type_class_add_private (klass, sizeof (PublishingAuthenticatorShotwellFlickrWebAuthenticationPanePrivate));
#line 37 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	((GObjectClass *) klass)->constructed = (void (*) (GObject *)) publishing_authenticator_shotwell_flickr_web_authentication_pane_real_constructed;
#line 37 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	((ShotwellPluginsCommonWebAuthenticationPaneClass *) klass)->on_page_load = (void (*) (ShotwellPluginsCommonWebAuthenticationPane *)) publishing_authenticator_shotwell_flickr_web_authentication_pane_real_on_page_load;
#line 37 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	G_OBJECT_CLASS (klass)->finalize = publishing_authenticator_shotwell_flickr_web_authentication_pane_finalize;
#line 37 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	publishing_authenticator_shotwell_flickr_web_authentication_pane_signals[PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_WEB_AUTHENTICATION_PANE_AUTHORIZED_SIGNAL] = g_signal_new ("authorized", PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_WEB_AUTHENTICATION_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING);
#line 37 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	publishing_authenticator_shotwell_flickr_web_authentication_pane_signals[PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_WEB_AUTHENTICATION_PANE_ERROR_SIGNAL] = g_signal_new ("error", PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_WEB_AUTHENTICATION_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
#line 696 "FlickrPublishingAuthenticator.c"
}


static void
publishing_authenticator_shotwell_flickr_web_authentication_pane_instance_init (PublishingAuthenticatorShotwellFlickrWebAuthenticationPane * self)
{
#line 37 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	self->priv = PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_WEB_AUTHENTICATION_PANE_GET_PRIVATE (self);
#line 38 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	self->priv->auth_code = NULL;
#line 707 "FlickrPublishingAuthenticator.c"
}


static void
publishing_authenticator_shotwell_flickr_web_authentication_pane_finalize (GObject * obj)
{
	PublishingAuthenticatorShotwellFlickrWebAuthenticationPane * self;
#line 37 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_WEB_AUTHENTICATION_PANE, PublishingAuthenticatorShotwellFlickrWebAuthenticationPane);
#line 38 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_g_free0 (self->priv->auth_code);
#line 37 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	G_OBJECT_CLASS (publishing_authenticator_shotwell_flickr_web_authentication_pane_parent_class)->finalize (obj);
#line 721 "FlickrPublishingAuthenticator.c"
}


GType
publishing_authenticator_shotwell_flickr_web_authentication_pane_get_type (void)
{
	static volatile gsize publishing_authenticator_shotwell_flickr_web_authentication_pane_type_id__volatile = 0;
	if (g_once_init_enter (&publishing_authenticator_shotwell_flickr_web_authentication_pane_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PublishingAuthenticatorShotwellFlickrWebAuthenticationPaneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_authenticator_shotwell_flickr_web_authentication_pane_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingAuthenticatorShotwellFlickrWebAuthenticationPane), 0, (GInstanceInitFunc) publishing_authenticator_shotwell_flickr_web_authentication_pane_instance_init, NULL };
		GType publishing_authenticator_shotwell_flickr_web_authentication_pane_type_id;
		publishing_authenticator_shotwell_flickr_web_authentication_pane_type_id = g_type_register_static (SHOTWELL_PLUGINS_COMMON_TYPE_WEB_AUTHENTICATION_PANE, "PublishingAuthenticatorShotwellFlickrWebAuthenticationPane", &g_define_type_info, 0);
		g_once_init_leave (&publishing_authenticator_shotwell_flickr_web_authentication_pane_type_id__volatile, publishing_authenticator_shotwell_flickr_web_authentication_pane_type_id);
	}
	return publishing_authenticator_shotwell_flickr_web_authentication_pane_type_id__volatile;
}


PublishingAuthenticatorShotwellFlickrFlickr*
publishing_authenticator_shotwell_flickr_flickr_construct (GType object_type,
                                                           SpitPublishingPluginHost* host)
{
	PublishingAuthenticatorShotwellFlickrFlickr * self = NULL;
#line 78 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (host), NULL);
#line 79 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	self = (PublishingAuthenticatorShotwellFlickrFlickr*) publishing_authenticator_shotwell_oauth1_authenticator_construct (object_type, PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_API_KEY, PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_API_SECRET, host);
#line 78 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	return self;
#line 750 "FlickrPublishingAuthenticator.c"
}


PublishingAuthenticatorShotwellFlickrFlickr*
publishing_authenticator_shotwell_flickr_flickr_new (SpitPublishingPluginHost* host)
{
#line 78 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	return publishing_authenticator_shotwell_flickr_flickr_construct (PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_FLICKR, host);
#line 759 "FlickrPublishingAuthenticator.c"
}


static void
publishing_authenticator_shotwell_flickr_flickr_real_authenticate (PublishingAuthenticatorShotwellOAuth1Authenticator* base)
{
	PublishingAuthenticatorShotwellFlickrFlickr * self;
#line 82 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_FLICKR, PublishingAuthenticatorShotwellFlickrFlickr);
#line 83 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	if (publishing_authenticator_shotwell_oauth1_authenticator_is_persistent_session_valid (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR, PublishingAuthenticatorShotwellOAuth1Authenticator))) {
#line 771 "FlickrPublishingAuthenticator.c"
		PublishingRESTSupportOAuth1Session* _tmp0_;
		gchar* _tmp1_;
		gchar* _tmp2_;
		gchar* _tmp3_;
		gchar* _tmp4_;
		gchar* _tmp5_;
		gchar* _tmp6_;
#line 84 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		g_debug ("FlickrPublishingAuthenticator.vala:84: attempt start: a persistent ses" \
"sion is available; using it");
#line 86 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR, PublishingAuthenticatorShotwellOAuth1Authenticator)->session;
#line 86 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp1_ = publishing_authenticator_shotwell_oauth1_authenticator_get_persistent_access_phase_token (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR, PublishingAuthenticatorShotwellOAuth1Authenticator));
#line 86 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp2_ = _tmp1_;
#line 86 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp3_ = publishing_authenticator_shotwell_oauth1_authenticator_get_persistent_access_phase_token_secret (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR, PublishingAuthenticatorShotwellOAuth1Authenticator));
#line 86 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp4_ = _tmp3_;
#line 86 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp5_ = publishing_authenticator_shotwell_oauth1_authenticator_get_persistent_access_phase_username (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR, PublishingAuthenticatorShotwellOAuth1Authenticator));
#line 86 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp6_ = _tmp5_;
#line 86 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		publishing_rest_support_oauth1_session_authenticate_from_persistent_credentials (_tmp0_, _tmp2_, _tmp4_, _tmp6_);
#line 86 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_g_free0 (_tmp6_);
#line 86 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_g_free0 (_tmp4_);
#line 86 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_g_free0 (_tmp2_);
#line 803 "FlickrPublishingAuthenticator.c"
	} else {
#line 89 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		g_debug ("FlickrPublishingAuthenticator.vala:89: attempt start: no persistent se" \
"ssion available; showing login welcome pane");
#line 90 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		publishing_authenticator_shotwell_flickr_flickr_do_show_login_welcome_pane (self);
#line 809 "FlickrPublishingAuthenticator.c"
	}
}


static gboolean
publishing_authenticator_shotwell_flickr_flickr_real_can_logout (PublishingAuthenticatorShotwellOAuth1Authenticator* base)
{
	PublishingAuthenticatorShotwellFlickrFlickr * self;
	gboolean result = FALSE;
#line 94 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_FLICKR, PublishingAuthenticatorShotwellFlickrFlickr);
#line 95 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	result = TRUE;
#line 95 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	return result;
#line 825 "FlickrPublishingAuthenticator.c"
}


static void
publishing_authenticator_shotwell_flickr_flickr_real_logout (PublishingAuthenticatorShotwellOAuth1Authenticator* base)
{
	PublishingAuthenticatorShotwellFlickrFlickr * self;
	PublishingRESTSupportOAuth1Session* _tmp0_;
#line 98 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_FLICKR, PublishingAuthenticatorShotwellFlickrFlickr);
#line 99 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR, PublishingAuthenticatorShotwellOAuth1Authenticator)->session;
#line 99 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	publishing_rest_support_oauth1_session_deauthenticate (_tmp0_);
#line 100 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	publishing_authenticator_shotwell_oauth1_authenticator_invalidate_persistent_session (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR, PublishingAuthenticatorShotwellOAuth1Authenticator));
#line 842 "FlickrPublishingAuthenticator.c"
}


static void
publishing_authenticator_shotwell_flickr_flickr_real_refresh (PublishingAuthenticatorShotwellOAuth1Authenticator* base)
{
	PublishingAuthenticatorShotwellFlickrFlickr * self;
#line 103 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_TYPE_FLICKR, PublishingAuthenticatorShotwellFlickrFlickr);
#line 852 "FlickrPublishingAuthenticator.c"
}


static void
_publishing_authenticator_shotwell_flickr_flickr_on_welcome_pane_login_clicked_spit_publishing_login_callback (gpointer self)
{
#line 111 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	publishing_authenticator_shotwell_flickr_flickr_on_welcome_pane_login_clicked ((PublishingAuthenticatorShotwellFlickrFlickr*) self);
#line 861 "FlickrPublishingAuthenticator.c"
}


static void
publishing_authenticator_shotwell_flickr_flickr_do_show_login_welcome_pane (PublishingAuthenticatorShotwellFlickrFlickr* self)
{
	SpitPublishingPluginHost* _tmp0_;
	SpitPublishingPluginHost* _tmp1_;
#line 107 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_return_if_fail (PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_IS_FLICKR (self));
#line 108 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_debug ("FlickrPublishingAuthenticator.vala:108: ACTION: installing login welco" \
"me pane");
#line 110 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR, PublishingAuthenticatorShotwellOAuth1Authenticator)->host;
#line 110 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	spit_publishing_plugin_host_set_service_locked (_tmp0_, FALSE);
#line 111 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR, PublishingAuthenticatorShotwellOAuth1Authenticator)->host;
#line 111 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	spit_publishing_plugin_host_install_welcome_pane (_tmp1_, PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_SERVICE_WELCOME_MESSAGE, _publishing_authenticator_shotwell_flickr_flickr_on_welcome_pane_login_clicked_spit_publishing_login_callback, self);
#line 882 "FlickrPublishingAuthenticator.c"
}


static void
publishing_authenticator_shotwell_flickr_flickr_on_welcome_pane_login_clicked (PublishingAuthenticatorShotwellFlickrFlickr* self)
{
#line 114 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_return_if_fail (PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_IS_FLICKR (self));
#line 115 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_debug ("FlickrPublishingAuthenticator.vala:115: EVENT: user clicked 'Login' bu" \
"tton in the welcome pane");
#line 117 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	publishing_authenticator_shotwell_flickr_flickr_do_run_authentication_request_transaction (self);
#line 895 "FlickrPublishingAuthenticator.c"
}


static void
_publishing_authenticator_shotwell_flickr_flickr_on_auth_request_txn_completed_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender,
                                                                                                                              gpointer self)
{
#line 127 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	publishing_authenticator_shotwell_flickr_flickr_on_auth_request_txn_completed ((PublishingAuthenticatorShotwellFlickrFlickr*) self, _sender);
#line 905 "FlickrPublishingAuthenticator.c"
}


static void
_publishing_authenticator_shotwell_flickr_flickr_on_auth_request_txn_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender,
                                                                                                                              GError* err,
                                                                                                                              gpointer self)
{
#line 128 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	publishing_authenticator_shotwell_flickr_flickr_on_auth_request_txn_error ((PublishingAuthenticatorShotwellFlickrFlickr*) self, _sender, err);
#line 916 "FlickrPublishingAuthenticator.c"
}


static void
publishing_authenticator_shotwell_flickr_flickr_do_run_authentication_request_transaction (PublishingAuthenticatorShotwellFlickrFlickr* self)
{
	SpitPublishingPluginHost* _tmp0_;
	SpitPublishingPluginHost* _tmp1_;
	PublishingAuthenticatorShotwellFlickrAuthenticationRequestTransaction* txn = NULL;
	PublishingRESTSupportOAuth1Session* _tmp2_;
	PublishingAuthenticatorShotwellFlickrAuthenticationRequestTransaction* _tmp3_;
	GError * _inner_error_ = NULL;
#line 120 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_return_if_fail (PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_IS_FLICKR (self));
#line 121 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_debug ("FlickrPublishingAuthenticator.vala:121: ACTION: running authentication" \
" request transaction");
#line 123 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR, PublishingAuthenticatorShotwellOAuth1Authenticator)->host;
#line 123 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	spit_publishing_plugin_host_set_service_locked (_tmp0_, TRUE);
#line 124 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR, PublishingAuthenticatorShotwellOAuth1Authenticator)->host;
#line 124 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	spit_publishing_plugin_host_install_static_message_pane (_tmp1_, _ ("Preparing for login…"), SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL);
#line 126 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR, PublishingAuthenticatorShotwellOAuth1Authenticator)->session;
#line 126 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp3_ = publishing_authenticator_shotwell_flickr_authentication_request_transaction_new (_tmp2_);
#line 126 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	txn = _tmp3_;
#line 127 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_authenticator_shotwell_flickr_flickr_on_auth_request_txn_completed_publishing_rest_support_transaction_completed, self, 0);
#line 128 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_authenticator_shotwell_flickr_flickr_on_auth_request_txn_error_publishing_rest_support_transaction_network_error, self, 0);
#line 951 "FlickrPublishingAuthenticator.c"
	{
#line 131 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_);
#line 131 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 131 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
			if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) {
#line 959 "FlickrPublishingAuthenticator.c"
				goto __catch1_spit_publishing_publishing_error;
			}
#line 131 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
			_publishing_rest_support_transaction_unref0 (txn);
#line 131 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.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 131 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
			g_clear_error (&_inner_error_);
#line 131 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
			return;
#line 970 "FlickrPublishingAuthenticator.c"
		}
	}
	goto __finally1;
	__catch1_spit_publishing_publishing_error:
	{
		GError* err = NULL;
		SpitPublishingPluginHost* _tmp4_;
		GError* _tmp5_;
#line 130 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		err = _inner_error_;
#line 130 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_inner_error_ = NULL;
#line 133 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR, PublishingAuthenticatorShotwellOAuth1Authenticator)->host;
#line 133 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp5_ = err;
#line 133 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		spit_publishing_plugin_host_post_error (_tmp4_, _tmp5_);
#line 130 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_g_error_free0 (err);
#line 991 "FlickrPublishingAuthenticator.c"
	}
	__finally1:
#line 130 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 130 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_publishing_rest_support_transaction_unref0 (txn);
#line 130 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.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 130 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		g_clear_error (&_inner_error_);
#line 130 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		return;
#line 1004 "FlickrPublishingAuthenticator.c"
	}
#line 120 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_publishing_rest_support_transaction_unref0 (txn);
#line 1008 "FlickrPublishingAuthenticator.c"
}


static void
publishing_authenticator_shotwell_flickr_flickr_on_auth_request_txn_completed (PublishingAuthenticatorShotwellFlickrFlickr* self,
                                                                               PublishingRESTSupportTransaction* txn)
{
	guint _tmp0_;
	guint _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
#line 137 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_return_if_fail (PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_IS_FLICKR (self));
#line 137 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn));
#line 138 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp0_, NULL, FALSE);
#line 138 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_signal_handlers_disconnect_matched (txn, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp0_, 0, NULL, (GCallback) _publishing_authenticator_shotwell_flickr_flickr_on_auth_request_txn_completed_publishing_rest_support_transaction_completed, self);
#line 139 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE);
#line 139 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_signal_handlers_disconnect_matched (txn, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_authenticator_shotwell_flickr_flickr_on_auth_request_txn_error_publishing_rest_support_transaction_network_error, self);
#line 141 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp2_ = publishing_rest_support_transaction_get_response (txn);
#line 141 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp3_ = _tmp2_;
#line 141 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_debug ("FlickrPublishingAuthenticator.vala:141: EVENT: OAuth authentication re" \
"quest transaction completed; response = '%s'", _tmp3_);
#line 141 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_g_free0 (_tmp3_);
#line 144 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp4_ = publishing_rest_support_transaction_get_response (txn);
#line 144 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp5_ = _tmp4_;
#line 144 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	publishing_authenticator_shotwell_flickr_flickr_do_parse_token_info_from_auth_request (self, _tmp5_);
#line 144 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_g_free0 (_tmp5_);
#line 1050 "FlickrPublishingAuthenticator.c"
}


static void
publishing_authenticator_shotwell_flickr_flickr_on_auth_request_txn_error (PublishingAuthenticatorShotwellFlickrFlickr* self,
                                                                           PublishingRESTSupportTransaction* txn,
                                                                           GError* err)
{
	guint _tmp0_;
	guint _tmp1_;
	SpitPublishingPluginHost* _tmp2_;
#line 147 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_return_if_fail (PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_IS_FLICKR (self));
#line 147 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn));
#line 149 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp0_, NULL, FALSE);
#line 149 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_signal_handlers_disconnect_matched (txn, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp0_, 0, NULL, (GCallback) _publishing_authenticator_shotwell_flickr_flickr_on_auth_request_txn_completed_publishing_rest_support_transaction_completed, self);
#line 150 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE);
#line 150 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_signal_handlers_disconnect_matched (txn, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_authenticator_shotwell_flickr_flickr_on_auth_request_txn_error_publishing_rest_support_transaction_network_error, self);
#line 152 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_debug ("FlickrPublishingAuthenticator.vala:152: EVENT: OAuth authentication re" \
"quest transaction caused a network error");
#line 153 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR, PublishingAuthenticatorShotwellOAuth1Authenticator)->host;
#line 153 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	spit_publishing_plugin_host_post_error (_tmp2_, err);
#line 155 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_AUTHENTICATOR, SpitPublishingAuthenticator), "authentication-failed");
#line 1082 "FlickrPublishingAuthenticator.c"
}


static void
publishing_authenticator_shotwell_flickr_flickr_do_parse_token_info_from_auth_request (PublishingAuthenticatorShotwellFlickrFlickr* self,
                                                                                       const gchar* response)
{
	gchar* oauth_token = NULL;
	gchar* oauth_token_secret = NULL;
	GHashTable* data = NULL;
	GHashTable* _tmp0_;
	GHashTable* _tmp1_;
	gconstpointer _tmp2_ = NULL;
	gchar* _tmp3_;
	GHashTable* _tmp4_;
	gconstpointer _tmp5_ = NULL;
	gchar* _tmp6_;
	gboolean _tmp7_ = FALSE;
	const gchar* _tmp8_;
	const gchar* _tmp13_;
	const gchar* _tmp14_;
#line 158 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_return_if_fail (PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_IS_FLICKR (self));
#line 158 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_return_if_fail (response != NULL);
#line 159 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_debug ("FlickrPublishingAuthenticator.vala:159: ACTION: parsing authorization " \
"request response '%s' into token and secret", response);
#line 161 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	oauth_token = NULL;
#line 162 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	oauth_token_secret = NULL;
#line 164 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp0_ = soup_form_decode (response);
#line 164 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	data = _tmp0_;
#line 165 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp1_ = data;
#line 165 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_hash_table_lookup_extended (_tmp1_, "oauth_token", NULL, &_tmp2_);
#line 165 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_g_free0 (oauth_token);
#line 165 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp3_ = g_strdup (_tmp2_);
#line 165 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	oauth_token = _tmp3_;
#line 166 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp4_ = data;
#line 166 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_hash_table_lookup_extended (_tmp4_, "oauth_token_secret", NULL, &_tmp5_);
#line 166 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_g_free0 (oauth_token_secret);
#line 166 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp6_ = g_strdup (_tmp5_);
#line 166 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	oauth_token_secret = _tmp6_;
#line 168 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp8_ = oauth_token;
#line 168 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	if (_tmp8_ == NULL) {
#line 168 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp7_ = TRUE;
#line 1144 "FlickrPublishingAuthenticator.c"
	} else {
		const gchar* _tmp9_;
#line 168 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp9_ = oauth_token_secret;
#line 168 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp7_ = _tmp9_ == NULL;
#line 1151 "FlickrPublishingAuthenticator.c"
	}
#line 168 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	if (_tmp7_) {
#line 1155 "FlickrPublishingAuthenticator.c"
		SpitPublishingPluginHost* _tmp10_;
		GError* _tmp11_;
		GError* _tmp12_;
#line 169 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp10_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR, PublishingAuthenticatorShotwellOAuth1Authenticator)->host;
#line 169 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp11_ = g_error_new (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, "'%s' isn't a valid response to an OAuth authentication request", response);
#line 169 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp12_ = _tmp11_;
#line 169 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		spit_publishing_plugin_host_post_error (_tmp10_, _tmp12_);
#line 169 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_g_error_free0 (_tmp12_);
#line 1169 "FlickrPublishingAuthenticator.c"
	}
#line 173 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp13_ = oauth_token;
#line 173 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp14_ = oauth_token_secret;
#line 173 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	publishing_authenticator_shotwell_flickr_flickr_on_authentication_token_available (self, _tmp13_, _tmp14_);
#line 158 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_g_hash_table_unref0 (data);
#line 158 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_g_free0 (oauth_token_secret);
#line 158 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_g_free0 (oauth_token);
#line 1183 "FlickrPublishingAuthenticator.c"
}


static void
publishing_authenticator_shotwell_flickr_flickr_on_authentication_token_available (PublishingAuthenticatorShotwellFlickrFlickr* self,
                                                                                   const gchar* token,
                                                                                   const gchar* token_secret)
{
	PublishingRESTSupportOAuth1Session* _tmp0_;
#line 176 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_return_if_fail (PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_IS_FLICKR (self));
#line 176 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_return_if_fail (token != NULL);
#line 176 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_return_if_fail (token_secret != NULL);
#line 177 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_debug ("FlickrPublishingAuthenticator.vala:177: EVENT: OAuth authentication to" \
"ken (%s) and token secret (%s) available", token, token_secret);
#line 180 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR, PublishingAuthenticatorShotwellOAuth1Authenticator)->session;
#line 180 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	publishing_rest_support_oauth1_session_set_request_phase_credentials (_tmp0_, token, token_secret);
#line 182 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	publishing_authenticator_shotwell_flickr_flickr_do_web_authentication (self, token);
#line 1207 "FlickrPublishingAuthenticator.c"
}


static void
_publishing_authenticator_shotwell_flickr_flickr_do_verify_pin_publishing_authenticator_shotwell_flickr_web_authentication_pane_authorized (PublishingAuthenticatorShotwellFlickrWebAuthenticationPane* _sender,
                                                                                                                                            const gchar* auth_code,
                                                                                                                                            gpointer self)
{
#line 188 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	publishing_authenticator_shotwell_flickr_flickr_do_verify_pin ((PublishingAuthenticatorShotwellFlickrFlickr*) self, auth_code);
#line 1218 "FlickrPublishingAuthenticator.c"
}


static void
_publishing_authenticator_shotwell_flickr_flickr_on_web_login_error_publishing_authenticator_shotwell_flickr_web_authentication_pane_error (PublishingAuthenticatorShotwellFlickrWebAuthenticationPane* _sender,
                                                                                                                                            gpointer self)
{
#line 189 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	publishing_authenticator_shotwell_flickr_flickr_on_web_login_error ((PublishingAuthenticatorShotwellFlickrFlickr*) self);
#line 1228 "FlickrPublishingAuthenticator.c"
}


static void
publishing_authenticator_shotwell_flickr_flickr_do_web_authentication (PublishingAuthenticatorShotwellFlickrFlickr* self,
                                                                       const gchar* token)
{
	PublishingAuthenticatorShotwellFlickrWebAuthenticationPane* pane = NULL;
	PublishingAuthenticatorShotwellFlickrWebAuthenticationPane* _tmp0_;
	SpitPublishingPluginHost* _tmp1_;
#line 185 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_return_if_fail (PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_IS_FLICKR (self));
#line 185 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_return_if_fail (token != NULL);
#line 186 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp0_ = publishing_authenticator_shotwell_flickr_web_authentication_pane_new (token);
#line 186 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	pane = _tmp0_;
#line 187 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR, PublishingAuthenticatorShotwellOAuth1Authenticator)->host;
#line 187 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	spit_publishing_plugin_host_install_dialog_pane (_tmp1_, G_TYPE_CHECK_INSTANCE_CAST (pane, SPIT_PUBLISHING_TYPE_DIALOG_PANE, SpitPublishingDialogPane), SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL);
#line 188 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_signal_connect_object (pane, "authorized", (GCallback) _publishing_authenticator_shotwell_flickr_flickr_do_verify_pin_publishing_authenticator_shotwell_flickr_web_authentication_pane_authorized, self, 0);
#line 189 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_signal_connect_object (pane, "error", (GCallback) _publishing_authenticator_shotwell_flickr_flickr_on_web_login_error_publishing_authenticator_shotwell_flickr_web_authentication_pane_error, self, 0);
#line 185 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_g_object_unref0 (pane);
#line 1257 "FlickrPublishingAuthenticator.c"
}


static void
publishing_authenticator_shotwell_flickr_flickr_on_web_login_error (PublishingAuthenticatorShotwellFlickrFlickr* self)
{
	SpitPublishingPluginHost* _tmp0_;
	GError* _tmp1_;
	GError* _tmp2_;
#line 192 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_return_if_fail (PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_IS_FLICKR (self));
#line 193 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR, PublishingAuthenticatorShotwellOAuth1Authenticator)->host;
#line 193 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp1_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_PROTOCOL_ERROR, _ ("Flickr authorization failed"));
#line 193 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp2_ = _tmp1_;
#line 193 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	spit_publishing_plugin_host_post_error (_tmp0_, _tmp2_);
#line 193 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_g_error_free0 (_tmp2_);
#line 1279 "FlickrPublishingAuthenticator.c"
}


static void
_publishing_authenticator_shotwell_flickr_flickr_on_access_token_fetch_txn_completed_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender,
                                                                                                                                    gpointer self)
{
#line 203 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	publishing_authenticator_shotwell_flickr_flickr_on_access_token_fetch_txn_completed ((PublishingAuthenticatorShotwellFlickrFlickr*) self, _sender);
#line 1289 "FlickrPublishingAuthenticator.c"
}


static void
_publishing_authenticator_shotwell_flickr_flickr_on_access_token_fetch_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender,
                                                                                                                                GError* err,
                                                                                                                                gpointer self)
{
#line 204 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	publishing_authenticator_shotwell_flickr_flickr_on_access_token_fetch_error ((PublishingAuthenticatorShotwellFlickrFlickr*) self, _sender, err);
#line 1300 "FlickrPublishingAuthenticator.c"
}


static void
publishing_authenticator_shotwell_flickr_flickr_do_verify_pin (PublishingAuthenticatorShotwellFlickrFlickr* self,
                                                               const gchar* pin)
{
	SpitPublishingPluginHost* _tmp0_;
	SpitPublishingPluginHost* _tmp1_;
	PublishingAuthenticatorShotwellFlickrAccessTokenFetchTransaction* txn = NULL;
	PublishingRESTSupportOAuth1Session* _tmp2_;
	PublishingAuthenticatorShotwellFlickrAccessTokenFetchTransaction* _tmp3_;
	GError * _inner_error_ = NULL;
#line 196 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_return_if_fail (PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_IS_FLICKR (self));
#line 196 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_return_if_fail (pin != NULL);
#line 197 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_debug ("FlickrPublishingAuthenticator.vala:197: ACTION: validating authorizati" \
"on PIN %s", pin);
#line 199 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR, PublishingAuthenticatorShotwellOAuth1Authenticator)->host;
#line 199 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	spit_publishing_plugin_host_set_service_locked (_tmp0_, TRUE);
#line 200 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR, PublishingAuthenticatorShotwellOAuth1Authenticator)->host;
#line 200 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	spit_publishing_plugin_host_install_static_message_pane (_tmp1_, _ ("Verifying authorization…"), SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL);
#line 202 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR, PublishingAuthenticatorShotwellOAuth1Authenticator)->session;
#line 202 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp3_ = publishing_authenticator_shotwell_flickr_access_token_fetch_transaction_new (_tmp2_, pin);
#line 202 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	txn = _tmp3_;
#line 203 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_authenticator_shotwell_flickr_flickr_on_access_token_fetch_txn_completed_publishing_rest_support_transaction_completed, self, 0);
#line 204 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_authenticator_shotwell_flickr_flickr_on_access_token_fetch_error_publishing_rest_support_transaction_network_error, self, 0);
#line 1338 "FlickrPublishingAuthenticator.c"
	{
#line 207 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_);
#line 207 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 207 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
			if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) {
#line 1346 "FlickrPublishingAuthenticator.c"
				goto __catch2_spit_publishing_publishing_error;
			}
#line 207 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
			_publishing_rest_support_transaction_unref0 (txn);
#line 207 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.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 207 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
			g_clear_error (&_inner_error_);
#line 207 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
			return;
#line 1357 "FlickrPublishingAuthenticator.c"
		}
	}
	goto __finally2;
	__catch2_spit_publishing_publishing_error:
	{
		GError* err = NULL;
		SpitPublishingPluginHost* _tmp4_;
		GError* _tmp5_;
#line 206 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		err = _inner_error_;
#line 206 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_inner_error_ = NULL;
#line 209 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR, PublishingAuthenticatorShotwellOAuth1Authenticator)->host;
#line 209 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp5_ = err;
#line 209 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		spit_publishing_plugin_host_post_error (_tmp4_, _tmp5_);
#line 206 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_g_error_free0 (err);
#line 1378 "FlickrPublishingAuthenticator.c"
	}
	__finally2:
#line 206 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 206 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_publishing_rest_support_transaction_unref0 (txn);
#line 206 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.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 206 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		g_clear_error (&_inner_error_);
#line 206 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		return;
#line 1391 "FlickrPublishingAuthenticator.c"
	}
#line 196 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_publishing_rest_support_transaction_unref0 (txn);
#line 1395 "FlickrPublishingAuthenticator.c"
}


static void
publishing_authenticator_shotwell_flickr_flickr_on_access_token_fetch_txn_completed (PublishingAuthenticatorShotwellFlickrFlickr* self,
                                                                                     PublishingRESTSupportTransaction* txn)
{
	guint _tmp0_;
	guint _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
#line 213 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_return_if_fail (PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_IS_FLICKR (self));
#line 213 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn));
#line 214 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp0_, NULL, FALSE);
#line 214 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_signal_handlers_disconnect_matched (txn, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp0_, 0, NULL, (GCallback) _publishing_authenticator_shotwell_flickr_flickr_on_access_token_fetch_txn_completed_publishing_rest_support_transaction_completed, self);
#line 215 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE);
#line 215 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_signal_handlers_disconnect_matched (txn, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_authenticator_shotwell_flickr_flickr_on_access_token_fetch_error_publishing_rest_support_transaction_network_error, self);
#line 217 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_debug ("FlickrPublishingAuthenticator.vala:217: EVENT: fetching OAuth access t" \
"oken over the network succeeded");
#line 219 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp2_ = publishing_rest_support_transaction_get_response (txn);
#line 219 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp3_ = _tmp2_;
#line 219 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	publishing_authenticator_shotwell_flickr_flickr_do_extract_access_phase_credentials_from_reponse (self, _tmp3_);
#line 219 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_g_free0 (_tmp3_);
#line 1429 "FlickrPublishingAuthenticator.c"
}


static void
publishing_authenticator_shotwell_flickr_flickr_on_access_token_fetch_error (PublishingAuthenticatorShotwellFlickrFlickr* self,
                                                                             PublishingRESTSupportTransaction* txn,
                                                                             GError* err)
{
	guint _tmp0_;
	guint _tmp1_;
	SpitPublishingPluginHost* _tmp2_;
#line 222 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_return_if_fail (PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_IS_FLICKR (self));
#line 222 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn));
#line 224 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp0_, NULL, FALSE);
#line 224 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_signal_handlers_disconnect_matched (txn, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp0_, 0, NULL, (GCallback) _publishing_authenticator_shotwell_flickr_flickr_on_access_token_fetch_txn_completed_publishing_rest_support_transaction_completed, self);
#line 225 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE);
#line 225 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_signal_handlers_disconnect_matched (txn, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_authenticator_shotwell_flickr_flickr_on_access_token_fetch_error_publishing_rest_support_transaction_network_error, self);
#line 227 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_debug ("FlickrPublishingAuthenticator.vala:227: EVENT: fetching OAuth access t" \
"oken over the network caused an error.");
#line 229 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR, PublishingAuthenticatorShotwellOAuth1Authenticator)->host;
#line 229 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	spit_publishing_plugin_host_post_error (_tmp2_, err);
#line 230 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_AUTHENTICATOR, SpitPublishingAuthenticator), "authentication-failed");
#line 1461 "FlickrPublishingAuthenticator.c"
}


static void
publishing_authenticator_shotwell_flickr_flickr_do_extract_access_phase_credentials_from_reponse (PublishingAuthenticatorShotwellFlickrFlickr* self,
                                                                                                  const gchar* response)
{
	gchar* token = NULL;
	gchar* token_secret = NULL;
	gchar* username = NULL;
	GHashTable* data = NULL;
	GHashTable* _tmp0_;
	GHashTable* _tmp1_;
	gconstpointer _tmp2_ = NULL;
	gchar* _tmp3_;
	GHashTable* _tmp4_;
	gconstpointer _tmp5_ = NULL;
	gchar* _tmp6_;
	GHashTable* _tmp7_;
	gconstpointer _tmp8_ = NULL;
	gchar* _tmp9_;
	const gchar* _tmp10_;
	const gchar* _tmp11_;
	const gchar* _tmp12_;
	gboolean _tmp13_ = FALSE;
	gboolean _tmp14_ = FALSE;
	const gchar* _tmp15_;
#line 233 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_return_if_fail (PUBLISHING_AUTHENTICATOR_SHOTWELL_FLICKR_IS_FLICKR (self));
#line 233 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_return_if_fail (response != NULL);
#line 234 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_debug ("FlickrPublishingAuthenticator.vala:234: ACTION: extracting access phas" \
"e credentials from '%s'", response);
#line 236 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	token = NULL;
#line 237 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	token_secret = NULL;
#line 238 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	username = NULL;
#line 240 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp0_ = soup_form_decode (response);
#line 240 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	data = _tmp0_;
#line 241 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp1_ = data;
#line 241 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_hash_table_lookup_extended (_tmp1_, "oauth_token", NULL, &_tmp2_);
#line 241 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_g_free0 (token);
#line 241 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp3_ = g_strdup (_tmp2_);
#line 241 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	token = _tmp3_;
#line 242 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp4_ = data;
#line 242 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_hash_table_lookup_extended (_tmp4_, "oauth_token_secret", NULL, &_tmp5_);
#line 242 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_g_free0 (token_secret);
#line 242 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp6_ = g_strdup (_tmp5_);
#line 242 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	token_secret = _tmp6_;
#line 243 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp7_ = data;
#line 243 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_hash_table_lookup_extended (_tmp7_, "username", NULL, &_tmp8_);
#line 243 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_g_free0 (username);
#line 243 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp9_ = g_strdup (_tmp8_);
#line 243 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	username = _tmp9_;
#line 245 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp10_ = token;
#line 245 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp11_ = token_secret;
#line 245 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp12_ = username;
#line 245 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	g_debug ("FlickrPublishingAuthenticator.vala:245: access phase credentials: { to" \
"ken = '%s'; token_secret = '%s'; username = '%s' }", _tmp10_, _tmp11_, _tmp12_);
#line 248 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_tmp15_ = token;
#line 248 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	if (_tmp15_ == NULL) {
#line 248 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp14_ = TRUE;
#line 1549 "FlickrPublishingAuthenticator.c"
	} else {
		const gchar* _tmp16_;
#line 248 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp16_ = token_secret;
#line 248 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp14_ = _tmp16_ == NULL;
#line 1556 "FlickrPublishingAuthenticator.c"
	}
#line 248 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	if (_tmp14_) {
#line 248 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp13_ = TRUE;
#line 1562 "FlickrPublishingAuthenticator.c"
	} else {
		const gchar* _tmp17_;
#line 248 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp17_ = username;
#line 248 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp13_ = _tmp17_ == NULL;
#line 1569 "FlickrPublishingAuthenticator.c"
	}
#line 248 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	if (_tmp13_) {
#line 1573 "FlickrPublishingAuthenticator.c"
		SpitPublishingPluginHost* _tmp18_;
		GError* _tmp19_;
		GError* _tmp20_;
#line 249 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp18_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR, PublishingAuthenticatorShotwellOAuth1Authenticator)->host;
#line 249 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp19_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, "expected " "access phase credentials to contain token, token secret, and username " \
"but at " "least one of these is absent");
#line 249 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp20_ = _tmp19_;
#line 249 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		spit_publishing_plugin_host_post_error (_tmp18_, _tmp20_);
#line 249 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_g_error_free0 (_tmp20_);
#line 252 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_AUTHENTICATOR, SpitPublishingAuthenticator), "authentication-failed");
#line 1589 "FlickrPublishingAuthenticator.c"
	} else {
		PublishingRESTSupportOAuth1Session* _tmp21_;
		const gchar* _tmp22_;
		const gchar* _tmp23_;
		const gchar* _tmp24_;
#line 254 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp21_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR, PublishingAuthenticatorShotwellOAuth1Authenticator)->session;
#line 254 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp22_ = token;
#line 254 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp23_ = token_secret;
#line 254 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		_tmp24_ = username;
#line 254 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
		publishing_rest_support_oauth1_session_set_access_phase_credentials (_tmp21_, _tmp22_, _tmp23_, _tmp24_);
#line 1605 "FlickrPublishingAuthenticator.c"
	}
#line 233 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_g_hash_table_unref0 (data);
#line 233 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_g_free0 (username);
#line 233 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_g_free0 (token_secret);
#line 233 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	_g_free0 (token);
#line 1615 "FlickrPublishingAuthenticator.c"
}


static void
publishing_authenticator_shotwell_flickr_flickr_class_init (PublishingAuthenticatorShotwellFlickrFlickrClass * klass)
{
#line 77 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	publishing_authenticator_shotwell_flickr_flickr_parent_class = g_type_class_peek_parent (klass);
#line 77 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	((PublishingAuthenticatorShotwellOAuth1AuthenticatorClass *) klass)->authenticate = (void (*) (PublishingAuthenticatorShotwellOAuth1Authenticator *)) publishing_authenticator_shotwell_flickr_flickr_real_authenticate;
#line 77 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	((PublishingAuthenticatorShotwellOAuth1AuthenticatorClass *) klass)->can_logout = (gboolean (*) (PublishingAuthenticatorShotwellOAuth1Authenticator *)) publishing_authenticator_shotwell_flickr_flickr_real_can_logout;
#line 77 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	((PublishingAuthenticatorShotwellOAuth1AuthenticatorClass *) klass)->logout = (void (*) (PublishingAuthenticatorShotwellOAuth1Authenticator *)) publishing_authenticator_shotwell_flickr_flickr_real_logout;
#line 77 "/home/jens/Source/shotwell/plugins/authenticator/shotwell/FlickrPublishingAuthenticator.vala"
	((PublishingAuthenticatorShotwellOAuth1AuthenticatorClass *) klass)->refresh = (void (*) (PublishingAuthenticatorShotwellOAuth1Authenticator *)) publishing_authenticator_shotwell_flickr_flickr_real_refresh;
#line 1632 "FlickrPublishingAuthenticator.c"
}


static void
publishing_authenticator_shotwell_flickr_flickr_instance_init (PublishingAuthenticatorShotwellFlickrFlickr * self)
{
}


GType
publishing_authenticator_shotwell_flickr_flickr_get_type (void)
{
	static volatile gsize publishing_authenticator_shotwell_flickr_flickr_type_id__volatile = 0;
	if (g_once_init_enter (&publishing_authenticator_shotwell_flickr_flickr_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PublishingAuthenticatorShotwellFlickrFlickrClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_authenticator_shotwell_flickr_flickr_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingAuthenticatorShotwellFlickrFlickr), 0, (GInstanceInitFunc) publishing_authenticator_shotwell_flickr_flickr_instance_init, NULL };
		GType publishing_authenticator_shotwell_flickr_flickr_type_id;
		publishing_authenticator_shotwell_flickr_flickr_type_id = g_type_register_static (PUBLISHING_AUTHENTICATOR_SHOTWELL_OAUTH1_TYPE_AUTHENTICATOR, "PublishingAuthenticatorShotwellFlickrFlickr", &g_define_type_info, 0);
		g_once_init_leave (&publishing_authenticator_shotwell_flickr_flickr_type_id__volatile, publishing_authenticator_shotwell_flickr_flickr_type_id);
	}
	return publishing_authenticator_shotwell_flickr_flickr_type_id__volatile;
}



