/* shotwell-plugin-common.h generated by valac 0.40.4, the Vala compiler, do not modify */


#ifndef __PLUGINS_SHOTWELL_PLUGIN_COMMON_H__
#define __PLUGINS_SHOTWELL_PLUGIN_COMMON_H__

#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include <glib-object.h>
#include <libsoup/soup.h>
#include "shotwell-plugin-dev-1.0.h"
#include <gio/gio.h>
#include <gee.h>
#include <libxml/tree.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gdk/gdk.h>
#include <webkit2/webkit2.h>
#include <gtk/gtk.h>

G_BEGIN_DECLS


#define PUBLISHING_REST_SUPPORT_TYPE_SESSION (publishing_rest_support_session_get_type ())
#define PUBLISHING_REST_SUPPORT_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession))
#define PUBLISHING_REST_SUPPORT_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSessionClass))
#define PUBLISHING_REST_SUPPORT_IS_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_TYPE_SESSION))
#define PUBLISHING_REST_SUPPORT_IS_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_TYPE_SESSION))
#define PUBLISHING_REST_SUPPORT_SESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSessionClass))

typedef struct _PublishingRESTSupportSession PublishingRESTSupportSession;
typedef struct _PublishingRESTSupportSessionClass PublishingRESTSupportSessionClass;
typedef struct _PublishingRESTSupportSessionPrivate PublishingRESTSupportSessionPrivate;

#define PUBLISHING_REST_SUPPORT_TYPE_HTTP_METHOD (publishing_rest_support_http_method_get_type ())

#define PUBLISHING_REST_SUPPORT_TYPE_ARGUMENT (publishing_rest_support_argument_get_type ())
#define PUBLISHING_REST_SUPPORT_ARGUMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_TYPE_ARGUMENT, PublishingRESTSupportArgument))
#define PUBLISHING_REST_SUPPORT_ARGUMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_TYPE_ARGUMENT, PublishingRESTSupportArgumentClass))
#define PUBLISHING_REST_SUPPORT_IS_ARGUMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_TYPE_ARGUMENT))
#define PUBLISHING_REST_SUPPORT_IS_ARGUMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_TYPE_ARGUMENT))
#define PUBLISHING_REST_SUPPORT_ARGUMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_TYPE_ARGUMENT, PublishingRESTSupportArgumentClass))

typedef struct _PublishingRESTSupportArgument PublishingRESTSupportArgument;
typedef struct _PublishingRESTSupportArgumentClass PublishingRESTSupportArgumentClass;
typedef struct _PublishingRESTSupportArgumentPrivate PublishingRESTSupportArgumentPrivate;

#define PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION (publishing_rest_support_transaction_get_type ())
#define PUBLISHING_REST_SUPPORT_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction))
#define PUBLISHING_REST_SUPPORT_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransactionClass))
#define PUBLISHING_REST_SUPPORT_IS_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION))
#define PUBLISHING_REST_SUPPORT_IS_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION))
#define PUBLISHING_REST_SUPPORT_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransactionClass))

typedef struct _PublishingRESTSupportTransaction PublishingRESTSupportTransaction;
typedef struct _PublishingRESTSupportTransactionClass PublishingRESTSupportTransactionClass;
typedef struct _PublishingRESTSupportTransactionPrivate PublishingRESTSupportTransactionPrivate;

#define PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION (publishing_rest_support_upload_transaction_get_type ())
#define PUBLISHING_REST_SUPPORT_UPLOAD_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION, PublishingRESTSupportUploadTransaction))
#define PUBLISHING_REST_SUPPORT_UPLOAD_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION, PublishingRESTSupportUploadTransactionClass))
#define PUBLISHING_REST_SUPPORT_IS_UPLOAD_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION))
#define PUBLISHING_REST_SUPPORT_IS_UPLOAD_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION))
#define PUBLISHING_REST_SUPPORT_UPLOAD_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION, PublishingRESTSupportUploadTransactionClass))

typedef struct _PublishingRESTSupportUploadTransaction PublishingRESTSupportUploadTransaction;
typedef struct _PublishingRESTSupportUploadTransactionClass PublishingRESTSupportUploadTransactionClass;
typedef struct _PublishingRESTSupportUploadTransactionPrivate PublishingRESTSupportUploadTransactionPrivate;

#define PUBLISHING_REST_SUPPORT_TYPE_XML_DOCUMENT (publishing_rest_support_xml_document_get_type ())
#define PUBLISHING_REST_SUPPORT_XML_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_TYPE_XML_DOCUMENT, PublishingRESTSupportXmlDocument))
#define PUBLISHING_REST_SUPPORT_XML_DOCUMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_TYPE_XML_DOCUMENT, PublishingRESTSupportXmlDocumentClass))
#define PUBLISHING_REST_SUPPORT_IS_XML_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_TYPE_XML_DOCUMENT))
#define PUBLISHING_REST_SUPPORT_IS_XML_DOCUMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_TYPE_XML_DOCUMENT))
#define PUBLISHING_REST_SUPPORT_XML_DOCUMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_TYPE_XML_DOCUMENT, PublishingRESTSupportXmlDocumentClass))

typedef struct _PublishingRESTSupportXmlDocument PublishingRESTSupportXmlDocument;
typedef struct _PublishingRESTSupportXmlDocumentClass PublishingRESTSupportXmlDocumentClass;
typedef struct _PublishingRESTSupportXmlDocumentPrivate PublishingRESTSupportXmlDocumentPrivate;

#define PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER (publishing_rest_support_batch_uploader_get_type ())
#define PUBLISHING_REST_SUPPORT_BATCH_UPLOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader))
#define PUBLISHING_REST_SUPPORT_BATCH_UPLOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploaderClass))
#define PUBLISHING_REST_SUPPORT_IS_BATCH_UPLOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER))
#define PUBLISHING_REST_SUPPORT_IS_BATCH_UPLOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER))
#define PUBLISHING_REST_SUPPORT_BATCH_UPLOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploaderClass))

typedef struct _PublishingRESTSupportBatchUploader PublishingRESTSupportBatchUploader;
typedef struct _PublishingRESTSupportBatchUploaderClass PublishingRESTSupportBatchUploaderClass;
typedef struct _PublishingRESTSupportBatchUploaderPrivate PublishingRESTSupportBatchUploaderPrivate;

#define PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_SESSION (publishing_rest_support_google_session_get_type ())
#define PUBLISHING_REST_SUPPORT_GOOGLE_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_SESSION, PublishingRESTSupportGoogleSession))
#define PUBLISHING_REST_SUPPORT_GOOGLE_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_SESSION, PublishingRESTSupportGoogleSessionClass))
#define PUBLISHING_REST_SUPPORT_IS_GOOGLE_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_SESSION))
#define PUBLISHING_REST_SUPPORT_IS_GOOGLE_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_SESSION))
#define PUBLISHING_REST_SUPPORT_GOOGLE_SESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_SESSION, PublishingRESTSupportGoogleSessionClass))

typedef struct _PublishingRESTSupportGoogleSession PublishingRESTSupportGoogleSession;
typedef struct _PublishingRESTSupportGoogleSessionClass PublishingRESTSupportGoogleSessionClass;
typedef struct _PublishingRESTSupportGoogleSessionPrivate PublishingRESTSupportGoogleSessionPrivate;

#define PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER (publishing_rest_support_google_publisher_get_type ())
#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher))
#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisherClass))
#define PUBLISHING_REST_SUPPORT_IS_GOOGLE_PUBLISHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER))
#define PUBLISHING_REST_SUPPORT_IS_GOOGLE_PUBLISHER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER))
#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisherClass))

typedef struct _PublishingRESTSupportGooglePublisher PublishingRESTSupportGooglePublisher;
typedef struct _PublishingRESTSupportGooglePublisherClass PublishingRESTSupportGooglePublisherClass;
typedef struct _PublishingRESTSupportGooglePublisherPrivate PublishingRESTSupportGooglePublisherPrivate;

#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_AUTHENTICATED_TRANSACTION (publishing_rest_support_google_publisher_authenticated_transaction_get_type ())
#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_AUTHENTICATED_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_AUTHENTICATED_TRANSACTION, PublishingRESTSupportGooglePublisherAuthenticatedTransaction))
#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_AUTHENTICATED_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_AUTHENTICATED_TRANSACTION, PublishingRESTSupportGooglePublisherAuthenticatedTransactionClass))
#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_IS_AUTHENTICATED_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_AUTHENTICATED_TRANSACTION))
#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_IS_AUTHENTICATED_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_AUTHENTICATED_TRANSACTION))
#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_AUTHENTICATED_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_AUTHENTICATED_TRANSACTION, PublishingRESTSupportGooglePublisherAuthenticatedTransactionClass))

typedef struct _PublishingRESTSupportGooglePublisherAuthenticatedTransaction PublishingRESTSupportGooglePublisherAuthenticatedTransaction;
typedef struct _PublishingRESTSupportGooglePublisherAuthenticatedTransactionClass PublishingRESTSupportGooglePublisherAuthenticatedTransactionClass;
typedef struct _PublishingRESTSupportGooglePublisherAuthenticatedTransactionPrivate PublishingRESTSupportGooglePublisherAuthenticatedTransactionPrivate;

#define PUBLISHING_REST_SUPPORT_OAUTH1_TYPE_SESSION (publishing_rest_support_oauth1_session_get_type ())
#define PUBLISHING_REST_SUPPORT_OAUTH1_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_OAUTH1_TYPE_SESSION, PublishingRESTSupportOAuth1Session))
#define PUBLISHING_REST_SUPPORT_OAUTH1_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_OAUTH1_TYPE_SESSION, PublishingRESTSupportOAuth1SessionClass))
#define PUBLISHING_REST_SUPPORT_OAUTH1_IS_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_OAUTH1_TYPE_SESSION))
#define PUBLISHING_REST_SUPPORT_OAUTH1_IS_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_OAUTH1_TYPE_SESSION))
#define PUBLISHING_REST_SUPPORT_OAUTH1_SESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_OAUTH1_TYPE_SESSION, PublishingRESTSupportOAuth1SessionClass))

typedef struct _PublishingRESTSupportOAuth1Session PublishingRESTSupportOAuth1Session;
typedef struct _PublishingRESTSupportOAuth1SessionClass PublishingRESTSupportOAuth1SessionClass;
typedef struct _PublishingRESTSupportOAuth1SessionPrivate PublishingRESTSupportOAuth1SessionPrivate;

#define PUBLISHING_REST_SUPPORT_OAUTH1_TYPE_TRANSACTION (publishing_rest_support_oauth1_transaction_get_type ())
#define PUBLISHING_REST_SUPPORT_OAUTH1_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_OAUTH1_TYPE_TRANSACTION, PublishingRESTSupportOAuth1Transaction))
#define PUBLISHING_REST_SUPPORT_OAUTH1_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_OAUTH1_TYPE_TRANSACTION, PublishingRESTSupportOAuth1TransactionClass))
#define PUBLISHING_REST_SUPPORT_OAUTH1_IS_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_OAUTH1_TYPE_TRANSACTION))
#define PUBLISHING_REST_SUPPORT_OAUTH1_IS_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_OAUTH1_TYPE_TRANSACTION))
#define PUBLISHING_REST_SUPPORT_OAUTH1_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_OAUTH1_TYPE_TRANSACTION, PublishingRESTSupportOAuth1TransactionClass))

typedef struct _PublishingRESTSupportOAuth1Transaction PublishingRESTSupportOAuth1Transaction;
typedef struct _PublishingRESTSupportOAuth1TransactionClass PublishingRESTSupportOAuth1TransactionClass;
typedef struct _PublishingRESTSupportOAuth1TransactionPrivate PublishingRESTSupportOAuth1TransactionPrivate;

#define PUBLISHING_REST_SUPPORT_OAUTH1_TYPE_UPLOAD_TRANSACTION (publishing_rest_support_oauth1_upload_transaction_get_type ())
#define PUBLISHING_REST_SUPPORT_OAUTH1_UPLOAD_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_OAUTH1_TYPE_UPLOAD_TRANSACTION, PublishingRESTSupportOAuth1UploadTransaction))
#define PUBLISHING_REST_SUPPORT_OAUTH1_UPLOAD_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_OAUTH1_TYPE_UPLOAD_TRANSACTION, PublishingRESTSupportOAuth1UploadTransactionClass))
#define PUBLISHING_REST_SUPPORT_OAUTH1_IS_UPLOAD_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_OAUTH1_TYPE_UPLOAD_TRANSACTION))
#define PUBLISHING_REST_SUPPORT_OAUTH1_IS_UPLOAD_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_OAUTH1_TYPE_UPLOAD_TRANSACTION))
#define PUBLISHING_REST_SUPPORT_OAUTH1_UPLOAD_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_OAUTH1_TYPE_UPLOAD_TRANSACTION, PublishingRESTSupportOAuth1UploadTransactionClass))

typedef struct _PublishingRESTSupportOAuth1UploadTransaction PublishingRESTSupportOAuth1UploadTransaction;
typedef struct _PublishingRESTSupportOAuth1UploadTransactionClass PublishingRESTSupportOAuth1UploadTransactionClass;
typedef struct _PublishingRESTSupportOAuth1UploadTransactionPrivate PublishingRESTSupportOAuth1UploadTransactionPrivate;

#define SHOTWELL_PLUGINS_COMMON_TYPE_WEB_AUTHENTICATION_PANE (shotwell_plugins_common_web_authentication_pane_get_type ())
#define SHOTWELL_PLUGINS_COMMON_WEB_AUTHENTICATION_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SHOTWELL_PLUGINS_COMMON_TYPE_WEB_AUTHENTICATION_PANE, ShotwellPluginsCommonWebAuthenticationPane))
#define SHOTWELL_PLUGINS_COMMON_WEB_AUTHENTICATION_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHOTWELL_PLUGINS_COMMON_TYPE_WEB_AUTHENTICATION_PANE, ShotwellPluginsCommonWebAuthenticationPaneClass))
#define SHOTWELL_PLUGINS_COMMON_IS_WEB_AUTHENTICATION_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SHOTWELL_PLUGINS_COMMON_TYPE_WEB_AUTHENTICATION_PANE))
#define SHOTWELL_PLUGINS_COMMON_IS_WEB_AUTHENTICATION_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHOTWELL_PLUGINS_COMMON_TYPE_WEB_AUTHENTICATION_PANE))
#define SHOTWELL_PLUGINS_COMMON_WEB_AUTHENTICATION_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHOTWELL_PLUGINS_COMMON_TYPE_WEB_AUTHENTICATION_PANE, ShotwellPluginsCommonWebAuthenticationPaneClass))

typedef struct _ShotwellPluginsCommonWebAuthenticationPane ShotwellPluginsCommonWebAuthenticationPane;
typedef struct _ShotwellPluginsCommonWebAuthenticationPaneClass ShotwellPluginsCommonWebAuthenticationPaneClass;
typedef struct _ShotwellPluginsCommonWebAuthenticationPanePrivate ShotwellPluginsCommonWebAuthenticationPanePrivate;

#define SHOTWELL_PLUGINS_COMMON_TYPE_BUILDER_PANE (shotwell_plugins_common_builder_pane_get_type ())
#define SHOTWELL_PLUGINS_COMMON_BUILDER_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SHOTWELL_PLUGINS_COMMON_TYPE_BUILDER_PANE, ShotwellPluginsCommonBuilderPane))
#define SHOTWELL_PLUGINS_COMMON_BUILDER_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHOTWELL_PLUGINS_COMMON_TYPE_BUILDER_PANE, ShotwellPluginsCommonBuilderPaneClass))
#define SHOTWELL_PLUGINS_COMMON_IS_BUILDER_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SHOTWELL_PLUGINS_COMMON_TYPE_BUILDER_PANE))
#define SHOTWELL_PLUGINS_COMMON_IS_BUILDER_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHOTWELL_PLUGINS_COMMON_TYPE_BUILDER_PANE))
#define SHOTWELL_PLUGINS_COMMON_BUILDER_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHOTWELL_PLUGINS_COMMON_TYPE_BUILDER_PANE, ShotwellPluginsCommonBuilderPaneClass))

typedef struct _ShotwellPluginsCommonBuilderPane ShotwellPluginsCommonBuilderPane;
typedef struct _ShotwellPluginsCommonBuilderPaneClass ShotwellPluginsCommonBuilderPaneClass;
typedef struct _ShotwellPluginsCommonBuilderPanePrivate ShotwellPluginsCommonBuilderPanePrivate;

struct _PublishingRESTSupportSession {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PublishingRESTSupportSessionPrivate * priv;
};

struct _PublishingRESTSupportSessionClass {
	GTypeClass parent_class;
	void (*finalize) (PublishingRESTSupportSession *self);
	gboolean (*is_authenticated) (PublishingRESTSupportSession* self);
};

typedef enum  {
	PUBLISHING_REST_SUPPORT_HTTP_METHOD_GET,
	PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST,
	PUBLISHING_REST_SUPPORT_HTTP_METHOD_PUT
} PublishingRESTSupportHttpMethod;

struct _PublishingRESTSupportArgument {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PublishingRESTSupportArgumentPrivate * priv;
	gchar* key;
	gchar* value;
};

struct _PublishingRESTSupportArgumentClass {
	GTypeClass parent_class;
	void (*finalize) (PublishingRESTSupportArgument *self);
};

struct _PublishingRESTSupportTransaction {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PublishingRESTSupportTransactionPrivate * priv;
};

struct _PublishingRESTSupportTransactionClass {
	GTypeClass parent_class;
	void (*finalize) (PublishingRESTSupportTransaction *self);
	void (*add_header) (PublishingRESTSupportTransaction* self, const gchar* key, const gchar* value);
	void (*execute) (PublishingRESTSupportTransaction* self, GError** error);
};

struct _PublishingRESTSupportUploadTransaction {
	PublishingRESTSupportTransaction parent_instance;
	PublishingRESTSupportUploadTransactionPrivate * priv;
	GHashTable* binary_disposition_table;
	SpitPublishingPublishable* publishable;
	gchar* mime_type;
	GeeHashMap* message_headers;
};

struct _PublishingRESTSupportUploadTransactionClass {
	PublishingRESTSupportTransactionClass parent_class;
};

struct _PublishingRESTSupportXmlDocument {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PublishingRESTSupportXmlDocumentPrivate * priv;
};

struct _PublishingRESTSupportXmlDocumentClass {
	GTypeClass parent_class;
	void (*finalize) (PublishingRESTSupportXmlDocument *self);
};

typedef gchar* (*PublishingRESTSupportXmlDocumentCheckForErrorResponse) (PublishingRESTSupportXmlDocument* doc, void* user_data);
struct _PublishingRESTSupportBatchUploader {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PublishingRESTSupportBatchUploaderPrivate * priv;
};

struct _PublishingRESTSupportBatchUploaderClass {
	GTypeClass parent_class;
	void (*finalize) (PublishingRESTSupportBatchUploader *self);
	PublishingRESTSupportTransaction* (*create_transaction) (PublishingRESTSupportBatchUploader* self, SpitPublishingPublishable* publishable);
};

struct _PublishingRESTSupportGoogleSession {
	PublishingRESTSupportSession parent_instance;
	PublishingRESTSupportGoogleSessionPrivate * priv;
};

struct _PublishingRESTSupportGoogleSessionClass {
	PublishingRESTSupportSessionClass parent_class;
	gchar* (*get_user_name) (PublishingRESTSupportGoogleSession* self);
	gchar* (*get_access_token) (PublishingRESTSupportGoogleSession* self);
	void (*deauthenticate) (PublishingRESTSupportGoogleSession* self);
};

struct _PublishingRESTSupportGooglePublisher {
	GObject parent_instance;
	PublishingRESTSupportGooglePublisherPrivate * priv;
};

struct _PublishingRESTSupportGooglePublisherClass {
	GObjectClass parent_class;
	SpitPublishingAuthenticator* (*get_authenticator) (PublishingRESTSupportGooglePublisher* self);
	void (*on_login_flow_complete) (PublishingRESTSupportGooglePublisher* self);
	void (*do_logout) (PublishingRESTSupportGooglePublisher* self);
	gboolean (*is_running) (PublishingRESTSupportGooglePublisher* self);
	void (*start) (PublishingRESTSupportGooglePublisher* self);
	void (*stop) (PublishingRESTSupportGooglePublisher* self);
};

struct _PublishingRESTSupportGooglePublisherAuthenticatedTransaction {
	PublishingRESTSupportTransaction parent_instance;
	PublishingRESTSupportGooglePublisherAuthenticatedTransactionPrivate * priv;
};

struct _PublishingRESTSupportGooglePublisherAuthenticatedTransactionClass {
	PublishingRESTSupportTransactionClass parent_class;
};

struct _PublishingRESTSupportOAuth1Session {
	PublishingRESTSupportSession parent_instance;
	PublishingRESTSupportOAuth1SessionPrivate * priv;
};

struct _PublishingRESTSupportOAuth1SessionClass {
	PublishingRESTSupportSessionClass parent_class;
};

struct _PublishingRESTSupportOAuth1Transaction {
	PublishingRESTSupportTransaction parent_instance;
	PublishingRESTSupportOAuth1TransactionPrivate * priv;
};

struct _PublishingRESTSupportOAuth1TransactionClass {
	PublishingRESTSupportTransactionClass parent_class;
};

struct _PublishingRESTSupportOAuth1UploadTransaction {
	PublishingRESTSupportUploadTransaction parent_instance;
	PublishingRESTSupportOAuth1UploadTransactionPrivate * priv;
	PublishingRESTSupportOAuth1Session* session;
};

struct _PublishingRESTSupportOAuth1UploadTransactionClass {
	PublishingRESTSupportUploadTransactionClass parent_class;
};

struct _ShotwellPluginsCommonWebAuthenticationPane {
	GObject parent_instance;
	ShotwellPluginsCommonWebAuthenticationPanePrivate * priv;
};

struct _ShotwellPluginsCommonWebAuthenticationPaneClass {
	GObjectClass parent_class;
	void (*on_page_load) (ShotwellPluginsCommonWebAuthenticationPane* self);
};

struct _ShotwellPluginsCommonBuilderPane {
	GObject parent_instance;
	ShotwellPluginsCommonBuilderPanePrivate * priv;
};

struct _ShotwellPluginsCommonBuilderPaneClass {
	GObjectClass parent_class;
	GtkWidget* (*get_default_widget) (ShotwellPluginsCommonBuilderPane* self);
	void (*on_pane_installed) (ShotwellPluginsCommonBuilderPane* self);
	void (*on_pane_uninstalled) (ShotwellPluginsCommonBuilderPane* self);
};


gchar* publishing_rest_support_hmac_sha1 (const gchar* key,
                                          const gchar* message);
gpointer publishing_rest_support_session_ref (gpointer instance);
void publishing_rest_support_session_unref (gpointer instance);
GParamSpec* publishing_rest_support_param_spec_session (const gchar* name,
                                                        const gchar* nick,
                                                        const gchar* blurb,
                                                        GType object_type,
                                                        GParamFlags flags);
void publishing_rest_support_value_set_session (GValue* value,
                                                gpointer v_object);
void publishing_rest_support_value_take_session (GValue* value,
                                                 gpointer v_object);
gpointer publishing_rest_support_value_get_session (const GValue* value);
GType publishing_rest_support_session_get_type (void) G_GNUC_CONST;
PublishingRESTSupportSession* publishing_rest_support_session_construct (GType object_type,
                                                                         const gchar* endpoint_url);
void publishing_rest_support_session_notify_wire_message_unqueued (PublishingRESTSupportSession* self,
                                                                   SoupMessage* message);
void publishing_rest_support_session_notify_authenticated (PublishingRESTSupportSession* self);
void publishing_rest_support_session_notify_authentication_failed (PublishingRESTSupportSession* self,
                                                                   GError* err);
gboolean publishing_rest_support_session_is_authenticated (PublishingRESTSupportSession* self);
gchar* publishing_rest_support_session_get_endpoint_url (PublishingRESTSupportSession* self);
void publishing_rest_support_session_stop_transactions (PublishingRESTSupportSession* self);
gboolean publishing_rest_support_session_are_transactions_stopped (PublishingRESTSupportSession* self);
void publishing_rest_support_session_send_wire_message (PublishingRESTSupportSession* self,
                                                        SoupMessage* message);
void publishing_rest_support_session_set_insecure (PublishingRESTSupportSession* self);
GType publishing_rest_support_http_method_get_type (void) G_GNUC_CONST;
gchar* publishing_rest_support_http_method_to_string (PublishingRESTSupportHttpMethod self);
PublishingRESTSupportHttpMethod publishing_rest_support_http_method_from_string (const gchar* str);
gpointer publishing_rest_support_argument_ref (gpointer instance);
void publishing_rest_support_argument_unref (gpointer instance);
GParamSpec* publishing_rest_support_param_spec_argument (const gchar* name,
                                                         const gchar* nick,
                                                         const gchar* blurb,
                                                         GType object_type,
                                                         GParamFlags flags);
void publishing_rest_support_value_set_argument (GValue* value,
                                                 gpointer v_object);
void publishing_rest_support_value_take_argument (GValue* value,
                                                  gpointer v_object);
gpointer publishing_rest_support_value_get_argument (const GValue* value);
GType publishing_rest_support_argument_get_type (void) G_GNUC_CONST;
PublishingRESTSupportArgument* publishing_rest_support_argument_new (const gchar* key,
                                                                     const gchar* value);
PublishingRESTSupportArgument* publishing_rest_support_argument_construct (GType object_type,
                                                                           const gchar* key,
                                                                           const gchar* value);
gchar* publishing_rest_support_argument_serialize_list (PublishingRESTSupportArgument** args,
                                                        int args_length1,
                                                        gboolean escape,
                                                        const gchar* separator);
gint publishing_rest_support_argument_compare (PublishingRESTSupportArgument* arg1,
                                               PublishingRESTSupportArgument* arg2);
PublishingRESTSupportArgument** publishing_rest_support_argument_sort (PublishingRESTSupportArgument** inputArray,
                                                                       int inputArray_length1,
                                                                       int* result_length1);
gchar* publishing_rest_support_argument_to_string (PublishingRESTSupportArgument* self,
                                                   gboolean escape);
gpointer publishing_rest_support_transaction_ref (gpointer instance);
void publishing_rest_support_transaction_unref (gpointer instance);
GParamSpec* publishing_rest_support_param_spec_transaction (const gchar* name,
                                                            const gchar* nick,
                                                            const gchar* blurb,
                                                            GType object_type,
                                                            GParamFlags flags);
void publishing_rest_support_value_set_transaction (GValue* value,
                                                    gpointer v_object);
void publishing_rest_support_value_take_transaction (GValue* value,
                                                     gpointer v_object);
gpointer publishing_rest_support_value_get_transaction (const GValue* value);
GType publishing_rest_support_transaction_get_type (void) G_GNUC_CONST;
PublishingRESTSupportTransaction* publishing_rest_support_transaction_new (PublishingRESTSupportSession* parent_session,
                                                                           PublishingRESTSupportHttpMethod method);
PublishingRESTSupportTransaction* publishing_rest_support_transaction_construct (GType object_type,
                                                                                 PublishingRESTSupportSession* parent_session,
                                                                                 PublishingRESTSupportHttpMethod method);
PublishingRESTSupportTransaction* publishing_rest_support_transaction_new_with_endpoint_url (PublishingRESTSupportSession* parent_session,
                                                                                             const gchar* endpoint_url,
                                                                                             PublishingRESTSupportHttpMethod method);
PublishingRESTSupportTransaction* publishing_rest_support_transaction_construct_with_endpoint_url (GType object_type,
                                                                                                   PublishingRESTSupportSession* parent_session,
                                                                                                   const gchar* endpoint_url,
                                                                                                   PublishingRESTSupportHttpMethod method);
gchar* publishing_rest_support_transaction_detailed_error_from_tls_flags (PublishingRESTSupportTransaction* self,
                                                                          GTlsCertificate* * cert);
void publishing_rest_support_transaction_check_response (PublishingRESTSupportTransaction* self,
                                                         SoupMessage* message,
                                                         GError** error);
PublishingRESTSupportArgument** publishing_rest_support_transaction_get_arguments (PublishingRESTSupportTransaction* self,
                                                                                   int* result_length1);
PublishingRESTSupportArgument** publishing_rest_support_transaction_get_sorted_arguments (PublishingRESTSupportTransaction* self,
                                                                                          int* result_length1);
void publishing_rest_support_transaction_set_is_executed (PublishingRESTSupportTransaction* self,
                                                          gboolean is_executed);
void publishing_rest_support_transaction_send (PublishingRESTSupportTransaction* self,
                                               GError** error);
PublishingRESTSupportHttpMethod publishing_rest_support_transaction_get_method (PublishingRESTSupportTransaction* self);
void publishing_rest_support_transaction_add_header (PublishingRESTSupportTransaction* self,
                                                     const gchar* key,
                                                     const gchar* value);
void publishing_rest_support_transaction_set_custom_payload (PublishingRESTSupportTransaction* self,
                                                             const gchar* custom_payload,
                                                             const gchar* payload_content_type,
                                                             gulong payload_length);
void publishing_rest_support_transaction_set_message (PublishingRESTSupportTransaction* self,
                                                      SoupMessage* message);
gboolean publishing_rest_support_transaction_get_is_executed (PublishingRESTSupportTransaction* self);
guint publishing_rest_support_transaction_get_status_code (PublishingRESTSupportTransaction* self);
void publishing_rest_support_transaction_execute (PublishingRESTSupportTransaction* self,
                                                  GError** error);
gchar* publishing_rest_support_transaction_get_response (PublishingRESTSupportTransaction* self);
SoupMessageHeaders* publishing_rest_support_transaction_get_response_headers (PublishingRESTSupportTransaction* self);
SoupMessage* publishing_rest_support_transaction_get_message (PublishingRESTSupportTransaction* self);
void publishing_rest_support_transaction_add_argument (PublishingRESTSupportTransaction* self,
                                                       const gchar* name,
                                                       const gchar* value);
gchar* publishing_rest_support_transaction_get_endpoint_url (PublishingRESTSupportTransaction* self);
PublishingRESTSupportSession* publishing_rest_support_transaction_get_parent_session (PublishingRESTSupportTransaction* self);
GType publishing_rest_support_upload_transaction_get_type (void) G_GNUC_CONST;
PublishingRESTSupportUploadTransaction* publishing_rest_support_upload_transaction_new (PublishingRESTSupportSession* session,
                                                                                        SpitPublishingPublishable* publishable);
PublishingRESTSupportUploadTransaction* publishing_rest_support_upload_transaction_construct (GType object_type,
                                                                                              PublishingRESTSupportSession* session,
                                                                                              SpitPublishingPublishable* publishable);
PublishingRESTSupportUploadTransaction* publishing_rest_support_upload_transaction_new_with_endpoint_url (PublishingRESTSupportSession* session,
                                                                                                          SpitPublishingPublishable* publishable,
                                                                                                          const gchar* endpoint_url);
PublishingRESTSupportUploadTransaction* publishing_rest_support_upload_transaction_construct_with_endpoint_url (GType object_type,
                                                                                                                PublishingRESTSupportSession* session,
                                                                                                                SpitPublishingPublishable* publishable,
                                                                                                                const gchar* endpoint_url);
void publishing_rest_support_upload_transaction_set_binary_disposition_table (PublishingRESTSupportUploadTransaction* self,
                                                                              GHashTable* new_disp_table);
gpointer publishing_rest_support_xml_document_ref (gpointer instance);
void publishing_rest_support_xml_document_unref (gpointer instance);
GParamSpec* publishing_rest_support_param_spec_xml_document (const gchar* name,
                                                             const gchar* nick,
                                                             const gchar* blurb,
                                                             GType object_type,
                                                             GParamFlags flags);
void publishing_rest_support_value_set_xml_document (GValue* value,
                                                     gpointer v_object);
void publishing_rest_support_value_take_xml_document (GValue* value,
                                                      gpointer v_object);
gpointer publishing_rest_support_value_get_xml_document (const GValue* value);
GType publishing_rest_support_xml_document_get_type (void) G_GNUC_CONST;
xmlNode* publishing_rest_support_xml_document_get_root_node (PublishingRESTSupportXmlDocument* self);
xmlNode* publishing_rest_support_xml_document_get_named_child (PublishingRESTSupportXmlDocument* self,
                                                               xmlNode* parent,
                                                               const gchar* child_name,
                                                               GError** error);
gchar* publishing_rest_support_xml_document_get_property_value (PublishingRESTSupportXmlDocument* self,
                                                                xmlNode* node,
                                                                const gchar* property_key,
                                                                GError** error);
PublishingRESTSupportXmlDocument* publishing_rest_support_xml_document_parse_string (const gchar* input_string,
                                                                                     PublishingRESTSupportXmlDocumentCheckForErrorResponse check_for_error_response,
                                                                                     void* check_for_error_response_target,
                                                                                     GError** error);
gchar* publishing_rest_support_decimal_entity_encode (const gchar* source);
gpointer publishing_rest_support_batch_uploader_ref (gpointer instance);
void publishing_rest_support_batch_uploader_unref (gpointer instance);
GParamSpec* publishing_rest_support_param_spec_batch_uploader (const gchar* name,
                                                               const gchar* nick,
                                                               const gchar* blurb,
                                                               GType object_type,
                                                               GParamFlags flags);
void publishing_rest_support_value_set_batch_uploader (GValue* value,
                                                       gpointer v_object);
void publishing_rest_support_value_take_batch_uploader (GValue* value,
                                                        gpointer v_object);
gpointer publishing_rest_support_value_get_batch_uploader (const GValue* value);
GType publishing_rest_support_batch_uploader_get_type (void) G_GNUC_CONST;
PublishingRESTSupportBatchUploader* publishing_rest_support_batch_uploader_construct (GType object_type,
                                                                                      PublishingRESTSupportSession* session,
                                                                                      SpitPublishingPublishable** publishables,
                                                                                      int publishables_length1);
PublishingRESTSupportSession* publishing_rest_support_batch_uploader_get_session (PublishingRESTSupportBatchUploader* self);
SpitPublishingPublishable* publishing_rest_support_batch_uploader_get_current_publishable (PublishingRESTSupportBatchUploader* self);
PublishingRESTSupportTransaction* publishing_rest_support_batch_uploader_create_transaction (PublishingRESTSupportBatchUploader* self,
                                                                                             SpitPublishingPublishable* publishable);
void publishing_rest_support_batch_uploader_upload (PublishingRESTSupportBatchUploader* self,
                                                    SpitPublishingProgressCallback status_updated,
                                                    void* status_updated_target);
gchar* publishing_rest_support_asciify_string (const gchar* s);
GType publishing_rest_support_google_session_get_type (void) G_GNUC_CONST;
gchar* publishing_rest_support_google_session_get_user_name (PublishingRESTSupportGoogleSession* self);
gchar* publishing_rest_support_google_session_get_access_token (PublishingRESTSupportGoogleSession* self);
void publishing_rest_support_google_session_deauthenticate (PublishingRESTSupportGoogleSession* self);
PublishingRESTSupportGoogleSession* publishing_rest_support_google_session_construct (GType object_type);
GType publishing_rest_support_google_publisher_get_type (void) G_GNUC_CONST;
PublishingRESTSupportGooglePublisher* publishing_rest_support_google_publisher_construct (GType object_type,
                                                                                          SpitPublishingService* service,
                                                                                          SpitPublishingPluginHost* host,
                                                                                          const gchar* scope);
SpitPublishingAuthenticator* publishing_rest_support_google_publisher_get_authenticator (PublishingRESTSupportGooglePublisher* self);
SpitPublishingPluginHost* publishing_rest_support_google_publisher_get_host (PublishingRESTSupportGooglePublisher* self);
PublishingRESTSupportGoogleSession* publishing_rest_support_google_publisher_get_session (PublishingRESTSupportGooglePublisher* self);
void publishing_rest_support_google_publisher_on_login_flow_complete (PublishingRESTSupportGooglePublisher* self);
void publishing_rest_support_google_publisher_do_logout (PublishingRESTSupportGooglePublisher* self);
gboolean publishing_rest_support_google_publisher_is_running (PublishingRESTSupportGooglePublisher* self);
void publishing_rest_support_google_publisher_start (PublishingRESTSupportGooglePublisher* self);
void publishing_rest_support_google_publisher_stop (PublishingRESTSupportGooglePublisher* self);
GType publishing_rest_support_google_publisher_authenticated_transaction_get_type (void) G_GNUC_CONST;
PublishingRESTSupportGooglePublisherAuthenticatedTransaction* publishing_rest_support_google_publisher_authenticated_transaction_new (PublishingRESTSupportGoogleSession* session,
                                                                                                                                      const gchar* endpoint_url,
                                                                                                                                      PublishingRESTSupportHttpMethod method);
PublishingRESTSupportGooglePublisherAuthenticatedTransaction* publishing_rest_support_google_publisher_authenticated_transaction_construct (GType object_type,
                                                                                                                                            PublishingRESTSupportGoogleSession* session,
                                                                                                                                            const gchar* endpoint_url,
                                                                                                                                            PublishingRESTSupportHttpMethod method);
GType publishing_rest_support_oauth1_session_get_type (void) G_GNUC_CONST;
PublishingRESTSupportOAuth1Session* publishing_rest_support_oauth1_session_new (const gchar* endpoint_uri);
PublishingRESTSupportOAuth1Session* publishing_rest_support_oauth1_session_construct (GType object_type,
                                                                                      const gchar* endpoint_uri);
void publishing_rest_support_oauth1_session_authenticate_from_persistent_credentials (PublishingRESTSupportOAuth1Session* self,
                                                                                      const gchar* token,
                                                                                      const gchar* secret,
                                                                                      const gchar* username);
void publishing_rest_support_oauth1_session_deauthenticate (PublishingRESTSupportOAuth1Session* self);
void publishing_rest_support_oauth1_session_set_api_credentials (PublishingRESTSupportOAuth1Session* self,
                                                                 const gchar* consumer_key,
                                                                 const gchar* consumer_secret);
gchar* publishing_rest_support_oauth1_session_sign_transaction (PublishingRESTSupportOAuth1Session* self,
                                                                PublishingRESTSupportTransaction* txn,
                                                                PublishingRESTSupportArgument** extra_arguments,
                                                                int extra_arguments_length1);
void publishing_rest_support_oauth1_session_set_request_phase_credentials (PublishingRESTSupportOAuth1Session* self,
                                                                           const gchar* token,
                                                                           const gchar* secret);
void publishing_rest_support_oauth1_session_set_access_phase_credentials (PublishingRESTSupportOAuth1Session* self,
                                                                          const gchar* token,
                                                                          const gchar* secret,
                                                                          const gchar* username);
gchar* publishing_rest_support_oauth1_session_get_oauth_nonce (PublishingRESTSupportOAuth1Session* self);
gchar* publishing_rest_support_oauth1_session_get_oauth_timestamp (PublishingRESTSupportOAuth1Session* self);
gchar* publishing_rest_support_oauth1_session_get_consumer_key (PublishingRESTSupportOAuth1Session* self);
gchar* publishing_rest_support_oauth1_session_get_request_phase_token (PublishingRESTSupportOAuth1Session* self);
gchar* publishing_rest_support_oauth1_session_get_access_phase_token (PublishingRESTSupportOAuth1Session* self);
gboolean publishing_rest_support_oauth1_session_has_access_phase_token (PublishingRESTSupportOAuth1Session* self);
gchar* publishing_rest_support_oauth1_session_get_access_phase_token_secret (PublishingRESTSupportOAuth1Session* self);
gchar* publishing_rest_support_oauth1_session_get_username (PublishingRESTSupportOAuth1Session* self);
GType publishing_rest_support_oauth1_transaction_get_type (void) G_GNUC_CONST;
PublishingRESTSupportOAuth1Transaction* publishing_rest_support_oauth1_transaction_new (PublishingRESTSupportOAuth1Session* session,
                                                                                        PublishingRESTSupportHttpMethod method);
PublishingRESTSupportOAuth1Transaction* publishing_rest_support_oauth1_transaction_construct (GType object_type,
                                                                                              PublishingRESTSupportOAuth1Session* session,
                                                                                              PublishingRESTSupportHttpMethod method);
PublishingRESTSupportOAuth1Transaction* publishing_rest_support_oauth1_transaction_new_with_uri (PublishingRESTSupportOAuth1Session* session,
                                                                                                 const gchar* uri,
                                                                                                 PublishingRESTSupportHttpMethod method);
PublishingRESTSupportOAuth1Transaction* publishing_rest_support_oauth1_transaction_construct_with_uri (GType object_type,
                                                                                                       PublishingRESTSupportOAuth1Session* session,
                                                                                                       const gchar* uri,
                                                                                                       PublishingRESTSupportHttpMethod method);
GType publishing_rest_support_oauth1_upload_transaction_get_type (void) G_GNUC_CONST;
PublishingRESTSupportOAuth1UploadTransaction* publishing_rest_support_oauth1_upload_transaction_new (PublishingRESTSupportOAuth1Session* session,
                                                                                                     SpitPublishingPublishable* publishable,
                                                                                                     const gchar* endpoint_uri);
PublishingRESTSupportOAuth1UploadTransaction* publishing_rest_support_oauth1_upload_transaction_construct (GType object_type,
                                                                                                           PublishingRESTSupportOAuth1Session* session,
                                                                                                           SpitPublishingPublishable* publishable,
                                                                                                           const gchar* endpoint_uri);
void publishing_rest_support_oauth1_upload_transaction_add_authorization_header_field (PublishingRESTSupportOAuth1UploadTransaction* self,
                                                                                       const gchar* key,
                                                                                       const gchar* value);
gchar* publishing_rest_support_oauth1_upload_transaction_get_authorization_header_string (PublishingRESTSupportOAuth1UploadTransaction* self);
void publishing_rest_support_oauth1_upload_transaction_authorize (PublishingRESTSupportOAuth1UploadTransaction* self);
#define RESOURCES_WEBSITE_NAME _ ("Visit the Shotwell home page")
#define RESOURCES_WEBSITE_URL "https://wiki.gnome.org/Apps/Shotwell"
#define RESOURCES_LICENSE "\n" \
"Shotwell is free software; you can redistribute it and/or modify it un" \
"der the \n" \
"terms of the GNU Lesser General Public License as published by the Fre" \
"e \n" \
"Software Foundation; either version 2.1 of the License, or (at your op" \
"tion) \n" \
"any later version.\n" \
"\n" \
"Shotwell is distributed in the hope that it will be useful, but WITHOU" \
"T \n" \
"ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " \
"FITNESS\n" \
"FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License f" \
"or \n" \
"more details.\n" \
"\n" \
"You should have received a copy of the GNU Lesser General Public Licen" \
"se \n" \
"along with Shotwell; if not, write to the Free Software Foundation, In" \
"c., \n" \
"51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA\n"
#define RESOURCES_TRANSLATORS _ ("translator-credits")
GdkPixbuf** resources_load_icon_set (GFile* icon_file,
                                     int* result_length1);
GdkPixbuf** resources_load_from_resource (const gchar* resource_path,
                                          int* result_length1);
GType shotwell_plugins_common_web_authentication_pane_get_type (void) G_GNUC_CONST;
void shotwell_plugins_common_web_authentication_pane_on_page_load (ShotwellPluginsCommonWebAuthenticationPane* self);
void shotwell_plugins_common_web_authentication_pane_set_cursor (ShotwellPluginsCommonWebAuthenticationPane* self,
                                                                 GdkCursorType type);
WebKitWebView* shotwell_plugins_common_web_authentication_pane_get_view (ShotwellPluginsCommonWebAuthenticationPane* self);
ShotwellPluginsCommonWebAuthenticationPane* shotwell_plugins_common_web_authentication_pane_construct (GType object_type);
SpitPublishingDialogPaneGeometryOptions shotwell_plugins_common_web_authentication_pane_get_preferred_geometry (ShotwellPluginsCommonWebAuthenticationPane* self);
gchar* shotwell_plugins_common_web_authentication_pane_get_login_uri (ShotwellPluginsCommonWebAuthenticationPane* self);
GType shotwell_plugins_common_builder_pane_get_type (void) G_GNUC_CONST;
GtkBuilder* shotwell_plugins_common_builder_pane_get_builder (ShotwellPluginsCommonBuilderPane* self);
GtkWidget* shotwell_plugins_common_builder_pane_get_default_widget (ShotwellPluginsCommonBuilderPane* self);
void shotwell_plugins_common_builder_pane_on_pane_installed (ShotwellPluginsCommonBuilderPane* self);
void shotwell_plugins_common_builder_pane_on_pane_uninstalled (ShotwellPluginsCommonBuilderPane* self);
ShotwellPluginsCommonBuilderPane* shotwell_plugins_common_builder_pane_construct (GType object_type);
SpitPublishingDialogPaneGeometryOptions shotwell_plugins_common_builder_pane_get_preferred_geometry (ShotwellPluginsCommonBuilderPane* self);
gchar* shotwell_plugins_common_builder_pane_get_resource_path (ShotwellPluginsCommonBuilderPane* self);
gboolean shotwell_plugins_common_builder_pane_get_connect_signals (ShotwellPluginsCommonBuilderPane* self);
gchar* shotwell_plugins_common_builder_pane_get_default_id (ShotwellPluginsCommonBuilderPane* self);


G_END_DECLS

#endif