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

#ifndef __PLUGINS_SHOTWELL_PLUGIN_COMMON_H__
#define __PLUGINS_SHOTWELL_PLUGIN_COMMON_H__

#include <stdlib.h>
#include <string.h>
#include <glib.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 <glib/gi18n-lib.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gtk/gtk.h>

G_BEGIN_DECLS

#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif
#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")

#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;
typedef enum  {
	PUBLISHING_REST_SUPPORT_HTTP_METHOD_GET,
	PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST,
	PUBLISHING_REST_SUPPORT_HTTP_METHOD_PUT
} PublishingRESTSupportHttpMethod;

#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;
typedef gchar* (*PublishingRESTSupportXmlDocumentCheckForErrorResponse) (PublishingRESTSupportXmlDocument* doc, gpointer user_data);

#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 SHOTWELL_PLUGINS_COMMON_TYPE_EXTERNAL_WEB_PANE (shotwell_plugins_common_external_web_pane_get_type ())
#define SHOTWELL_PLUGINS_COMMON_EXTERNAL_WEB_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SHOTWELL_PLUGINS_COMMON_TYPE_EXTERNAL_WEB_PANE, ShotwellPluginsCommonExternalWebPane))
#define SHOTWELL_PLUGINS_COMMON_EXTERNAL_WEB_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHOTWELL_PLUGINS_COMMON_TYPE_EXTERNAL_WEB_PANE, ShotwellPluginsCommonExternalWebPaneClass))
#define SHOTWELL_PLUGINS_COMMON_IS_EXTERNAL_WEB_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SHOTWELL_PLUGINS_COMMON_TYPE_EXTERNAL_WEB_PANE))
#define SHOTWELL_PLUGINS_COMMON_IS_EXTERNAL_WEB_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHOTWELL_PLUGINS_COMMON_TYPE_EXTERNAL_WEB_PANE))
#define SHOTWELL_PLUGINS_COMMON_EXTERNAL_WEB_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHOTWELL_PLUGINS_COMMON_TYPE_EXTERNAL_WEB_PANE, ShotwellPluginsCommonExternalWebPaneClass))

typedef struct _ShotwellPluginsCommonExternalWebPane ShotwellPluginsCommonExternalWebPane;
typedef struct _ShotwellPluginsCommonExternalWebPaneClass ShotwellPluginsCommonExternalWebPaneClass;
typedef struct _ShotwellPluginsCommonExternalWebPanePrivate ShotwellPluginsCommonExternalWebPanePrivate;

#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;

#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;

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);
};

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_async) (PublishingRESTSupportTransaction* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*execute_finish) (PublishingRESTSupportTransaction* self, GAsyncResult* _res_, 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);
};

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 _ShotwellPluginsCommonExternalWebPane {
	GObject parent_instance;
	ShotwellPluginsCommonExternalWebPanePrivate * priv;
	GtkWidget* widget;
};

struct _ShotwellPluginsCommonExternalWebPaneClass {
	GObjectClass parent_class;
};

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);
};

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;
};

VALA_EXTERN gchar* publishing_rest_support_hmac_sha1 (const gchar* key,
                                          const gchar* message);
VALA_EXTERN gpointer publishing_rest_support_session_ref (gpointer instance);
VALA_EXTERN void publishing_rest_support_session_unref (gpointer instance);
VALA_EXTERN GParamSpec* publishing_rest_support_param_spec_session (const gchar* name,
                                                        const gchar* nick,
                                                        const gchar* blurb,
                                                        GType object_type,
                                                        GParamFlags flags);
VALA_EXTERN void publishing_rest_support_value_set_session (GValue* value,
                                                gpointer v_object);
VALA_EXTERN void publishing_rest_support_value_take_session (GValue* value,
                                                 gpointer v_object);
VALA_EXTERN gpointer publishing_rest_support_value_get_session (const GValue* value);
VALA_EXTERN GType publishing_rest_support_session_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PublishingRESTSupportSession, publishing_rest_support_session_unref)
VALA_EXTERN PublishingRESTSupportSession* publishing_rest_support_session_construct (GType object_type,
                                                                         const gchar* endpoint_url,
                                                                         SoupSessionFeature** features,
                                                                         gint features_length1);
VALA_EXTERN void publishing_rest_support_session_notify_wire_message_unqueued (PublishingRESTSupportSession* self,
                                                                   SoupMessage* message);
VALA_EXTERN void publishing_rest_support_session_notify_authenticated (PublishingRESTSupportSession* self);
VALA_EXTERN void publishing_rest_support_session_notify_authentication_failed (PublishingRESTSupportSession* self,
                                                                   GError* err);
VALA_EXTERN gboolean publishing_rest_support_session_is_authenticated (PublishingRESTSupportSession* self);
VALA_EXTERN gchar* publishing_rest_support_session_get_endpoint_url (PublishingRESTSupportSession* self);
VALA_EXTERN void publishing_rest_support_session_stop_transactions (PublishingRESTSupportSession* self);
VALA_EXTERN gboolean publishing_rest_support_session_are_transactions_stopped (PublishingRESTSupportSession* self);
VALA_EXTERN void publishing_rest_support_session_send_wire_message_async (PublishingRESTSupportSession* self,
                                                              SoupMessage* message,
                                                              GAsyncReadyCallback _callback_,
                                                              gpointer _user_data_);
VALA_EXTERN void publishing_rest_support_session_send_wire_message_finish (PublishingRESTSupportSession* self,
                                                               GAsyncResult* _res_);
VALA_EXTERN void publishing_rest_support_session_set_insecure (PublishingRESTSupportSession* self);
VALA_EXTERN gboolean publishing_rest_support_session_get_is_insecure (PublishingRESTSupportSession* self);
VALA_EXTERN GError* publishing_rest_support_session_get_transport_error (PublishingRESTSupportSession* self);
VALA_EXTERN GBytes* publishing_rest_support_session_get_body (PublishingRESTSupportSession* self);
VALA_EXTERN GType publishing_rest_support_http_method_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* publishing_rest_support_http_method_to_string (PublishingRESTSupportHttpMethod self);
VALA_EXTERN PublishingRESTSupportHttpMethod publishing_rest_support_http_method_from_string (const gchar* str);
VALA_EXTERN gpointer publishing_rest_support_argument_ref (gpointer instance);
VALA_EXTERN void publishing_rest_support_argument_unref (gpointer instance);
VALA_EXTERN GParamSpec* publishing_rest_support_param_spec_argument (const gchar* name,
                                                         const gchar* nick,
                                                         const gchar* blurb,
                                                         GType object_type,
                                                         GParamFlags flags);
VALA_EXTERN void publishing_rest_support_value_set_argument (GValue* value,
                                                 gpointer v_object);
VALA_EXTERN void publishing_rest_support_value_take_argument (GValue* value,
                                                  gpointer v_object);
VALA_EXTERN gpointer publishing_rest_support_value_get_argument (const GValue* value);
VALA_EXTERN GType publishing_rest_support_argument_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PublishingRESTSupportArgument, publishing_rest_support_argument_unref)
VALA_EXTERN PublishingRESTSupportArgument* publishing_rest_support_argument_new (const gchar* key,
                                                                     const gchar* value);
VALA_EXTERN PublishingRESTSupportArgument* publishing_rest_support_argument_construct (GType object_type,
                                                                           const gchar* key,
                                                                           const gchar* value);
VALA_EXTERN gchar* publishing_rest_support_argument_serialize_for_sbs (PublishingRESTSupportArgument** args,
                                                           gint args_length1);
VALA_EXTERN gchar* publishing_rest_support_argument_serialize_for_authorization_header (PublishingRESTSupportArgument** args,
                                                                            gint args_length1);
VALA_EXTERN gchar* publishing_rest_support_argument_serialize_list (PublishingRESTSupportArgument** args,
                                                        gint args_length1,
                                                        gboolean encode,
                                                        gboolean escape,
                                                        const gchar* separator);
VALA_EXTERN gint publishing_rest_support_argument_compare (PublishingRESTSupportArgument* arg1,
                                               PublishingRESTSupportArgument* arg2);
VALA_EXTERN PublishingRESTSupportArgument** publishing_rest_support_argument_sort (PublishingRESTSupportArgument** inputArray,
                                                                       gint inputArray_length1,
                                                                       gint* result_length1);
VALA_EXTERN gchar* publishing_rest_support_argument_to_string (PublishingRESTSupportArgument* self,
                                                   gboolean escape,
                                                   gboolean encode);
VALA_EXTERN gpointer publishing_rest_support_transaction_ref (gpointer instance);
VALA_EXTERN void publishing_rest_support_transaction_unref (gpointer instance);
VALA_EXTERN GParamSpec* publishing_rest_support_param_spec_transaction (const gchar* name,
                                                            const gchar* nick,
                                                            const gchar* blurb,
                                                            GType object_type,
                                                            GParamFlags flags);
VALA_EXTERN void publishing_rest_support_value_set_transaction (GValue* value,
                                                    gpointer v_object);
VALA_EXTERN void publishing_rest_support_value_take_transaction (GValue* value,
                                                     gpointer v_object);
VALA_EXTERN gpointer publishing_rest_support_value_get_transaction (const GValue* value);
VALA_EXTERN GType publishing_rest_support_transaction_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PublishingRESTSupportTransaction, publishing_rest_support_transaction_unref)
VALA_EXTERN PublishingRESTSupportTransaction* publishing_rest_support_transaction_new (PublishingRESTSupportSession* parent_session,
                                                                           PublishingRESTSupportHttpMethod method);
VALA_EXTERN PublishingRESTSupportTransaction* publishing_rest_support_transaction_construct (GType object_type,
                                                                                 PublishingRESTSupportSession* parent_session,
                                                                                 PublishingRESTSupportHttpMethod method);
VALA_EXTERN PublishingRESTSupportTransaction* publishing_rest_support_transaction_new_with_endpoint_url (PublishingRESTSupportSession* parent_session,
                                                                                             const gchar* endpoint_url,
                                                                                             PublishingRESTSupportHttpMethod method);
VALA_EXTERN PublishingRESTSupportTransaction* publishing_rest_support_transaction_construct_with_endpoint_url (GType object_type,
                                                                                                   PublishingRESTSupportSession* parent_session,
                                                                                                   const gchar* endpoint_url,
                                                                                                   PublishingRESTSupportHttpMethod method);
VALA_EXTERN gchar* publishing_rest_support_transaction_detailed_error_from_tls_flags (PublishingRESTSupportTransaction* self,
                                                                          GTlsCertificate** cert);
VALA_EXTERN void publishing_rest_support_transaction_check_response (PublishingRESTSupportTransaction* self,
                                                         SoupMessage* message,
                                                         GError** error);
VALA_EXTERN PublishingRESTSupportArgument** publishing_rest_support_transaction_get_arguments (PublishingRESTSupportTransaction* self,
                                                                                   gint* result_length1);
VALA_EXTERN PublishingRESTSupportArgument** publishing_rest_support_transaction_get_sorted_arguments (PublishingRESTSupportTransaction* self,
                                                                                          gint* result_length1);
VALA_EXTERN void publishing_rest_support_transaction_set_is_executed (PublishingRESTSupportTransaction* self,
                                                          gboolean is_executed);
VALA_EXTERN void publishing_rest_support_transaction_send_async (PublishingRESTSupportTransaction* self,
                                                     GAsyncReadyCallback _callback_,
                                                     gpointer _user_data_);
VALA_EXTERN void publishing_rest_support_transaction_send_finish (PublishingRESTSupportTransaction* self,
                                                      GAsyncResult* _res_,
                                                      GError** error);
VALA_EXTERN PublishingRESTSupportHttpMethod publishing_rest_support_transaction_get_method (PublishingRESTSupportTransaction* self);
VALA_EXTERN void publishing_rest_support_transaction_add_header (PublishingRESTSupportTransaction* self,
                                                     const gchar* key,
                                                     const gchar* value);
VALA_EXTERN void publishing_rest_support_transaction_set_custom_payload (PublishingRESTSupportTransaction* self,
                                                             const gchar* custom_payload,
                                                             const gchar* payload_content_type,
                                                             gulong payload_length);
VALA_EXTERN void publishing_rest_support_transaction_set_message (PublishingRESTSupportTransaction* self,
                                                      SoupMessage* message,
                                                      gulong request_length);
VALA_EXTERN gboolean publishing_rest_support_transaction_get_is_executed (PublishingRESTSupportTransaction* self);
VALA_EXTERN guint publishing_rest_support_transaction_get_status_code (PublishingRESTSupportTransaction* self);
VALA_EXTERN void publishing_rest_support_transaction_execute_async (PublishingRESTSupportTransaction* self,
                                                        GAsyncReadyCallback _callback_,
                                                        gpointer _user_data_);
VALA_EXTERN void publishing_rest_support_transaction_execute_finish (PublishingRESTSupportTransaction* self,
                                                         GAsyncResult* _res_,
                                                         GError** error);
VALA_EXTERN gchar* publishing_rest_support_transaction_get_response (PublishingRESTSupportTransaction* self);
VALA_EXTERN SoupMessageHeaders* publishing_rest_support_transaction_get_response_headers (PublishingRESTSupportTransaction* self);
VALA_EXTERN SoupMessage* publishing_rest_support_transaction_get_message (PublishingRESTSupportTransaction* self);
VALA_EXTERN void publishing_rest_support_transaction_add_argument (PublishingRESTSupportTransaction* self,
                                                       const gchar* name,
                                                       const gchar* value);
VALA_EXTERN void publishing_rest_support_transaction_set_argument (PublishingRESTSupportTransaction* self,
                                                       const gchar* name,
                                                       const gchar* value);
VALA_EXTERN gchar* publishing_rest_support_transaction_get_endpoint_url (PublishingRESTSupportTransaction* self);
VALA_EXTERN PublishingRESTSupportSession* publishing_rest_support_transaction_get_parent_session (PublishingRESTSupportTransaction* self);
VALA_EXTERN GType publishing_rest_support_upload_transaction_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PublishingRESTSupportUploadTransaction, publishing_rest_support_transaction_unref)
VALA_EXTERN PublishingRESTSupportUploadTransaction* publishing_rest_support_upload_transaction_new (PublishingRESTSupportSession* session,
                                                                                        SpitPublishingPublishable* publishable);
VALA_EXTERN PublishingRESTSupportUploadTransaction* publishing_rest_support_upload_transaction_construct (GType object_type,
                                                                                              PublishingRESTSupportSession* session,
                                                                                              SpitPublishingPublishable* publishable);
VALA_EXTERN PublishingRESTSupportUploadTransaction* publishing_rest_support_upload_transaction_new_with_endpoint_url (PublishingRESTSupportSession* session,
                                                                                                          SpitPublishingPublishable* publishable,
                                                                                                          const gchar* endpoint_url);
VALA_EXTERN PublishingRESTSupportUploadTransaction* publishing_rest_support_upload_transaction_construct_with_endpoint_url (GType object_type,
                                                                                                                PublishingRESTSupportSession* session,
                                                                                                                SpitPublishingPublishable* publishable,
                                                                                                                const gchar* endpoint_url);
VALA_EXTERN void publishing_rest_support_upload_transaction_set_binary_disposition_table (PublishingRESTSupportUploadTransaction* self,
                                                                              GHashTable* new_disp_table);
VALA_EXTERN gpointer publishing_rest_support_xml_document_ref (gpointer instance);
VALA_EXTERN void publishing_rest_support_xml_document_unref (gpointer instance);
VALA_EXTERN GParamSpec* publishing_rest_support_param_spec_xml_document (const gchar* name,
                                                             const gchar* nick,
                                                             const gchar* blurb,
                                                             GType object_type,
                                                             GParamFlags flags);
VALA_EXTERN void publishing_rest_support_value_set_xml_document (GValue* value,
                                                     gpointer v_object);
VALA_EXTERN void publishing_rest_support_value_take_xml_document (GValue* value,
                                                      gpointer v_object);
VALA_EXTERN gpointer publishing_rest_support_value_get_xml_document (const GValue* value);
VALA_EXTERN GType publishing_rest_support_xml_document_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PublishingRESTSupportXmlDocument, publishing_rest_support_xml_document_unref)
VALA_EXTERN xmlNode* publishing_rest_support_xml_document_get_root_node (PublishingRESTSupportXmlDocument* self);
VALA_EXTERN xmlNode* publishing_rest_support_xml_document_get_named_child (PublishingRESTSupportXmlDocument* self,
                                                               xmlNode* parent,
                                                               const gchar* child_name,
                                                               GError** error);
VALA_EXTERN gchar* publishing_rest_support_xml_document_get_property_value (PublishingRESTSupportXmlDocument* self,
                                                                xmlNode* node,
                                                                const gchar* property_key,
                                                                GError** error);
VALA_EXTERN PublishingRESTSupportXmlDocument* publishing_rest_support_xml_document_parse_string (const gchar* input_string,
                                                                                     PublishingRESTSupportXmlDocumentCheckForErrorResponse check_for_error_response,
                                                                                     gpointer check_for_error_response_target,
                                                                                     GError** error);
VALA_EXTERN gchar* publishing_rest_support_decimal_entity_encode (const gchar* source);
VALA_EXTERN gpointer publishing_rest_support_batch_uploader_ref (gpointer instance);
VALA_EXTERN void publishing_rest_support_batch_uploader_unref (gpointer instance);
VALA_EXTERN GParamSpec* publishing_rest_support_param_spec_batch_uploader (const gchar* name,
                                                               const gchar* nick,
                                                               const gchar* blurb,
                                                               GType object_type,
                                                               GParamFlags flags);
VALA_EXTERN void publishing_rest_support_value_set_batch_uploader (GValue* value,
                                                       gpointer v_object);
VALA_EXTERN void publishing_rest_support_value_take_batch_uploader (GValue* value,
                                                        gpointer v_object);
VALA_EXTERN gpointer publishing_rest_support_value_get_batch_uploader (const GValue* value);
VALA_EXTERN GType publishing_rest_support_batch_uploader_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PublishingRESTSupportBatchUploader, publishing_rest_support_batch_uploader_unref)
VALA_EXTERN PublishingRESTSupportBatchUploader* publishing_rest_support_batch_uploader_construct (GType object_type,
                                                                                      PublishingRESTSupportSession* session,
                                                                                      SpitPublishingPublishable** publishables,
                                                                                      gint publishables_length1);
VALA_EXTERN PublishingRESTSupportSession* publishing_rest_support_batch_uploader_get_session (PublishingRESTSupportBatchUploader* self);
VALA_EXTERN SpitPublishingPublishable* publishing_rest_support_batch_uploader_get_current_publishable (PublishingRESTSupportBatchUploader* self);
VALA_EXTERN PublishingRESTSupportTransaction* publishing_rest_support_batch_uploader_create_transaction (PublishingRESTSupportBatchUploader* self,
                                                                                             SpitPublishingPublishable* publishable);
VALA_EXTERN void publishing_rest_support_batch_uploader_upload_async (PublishingRESTSupportBatchUploader* self,
                                                          SpitPublishingProgressCallback status_updated,
                                                          gpointer status_updated_target,
                                                          GAsyncReadyCallback _callback_,
                                                          gpointer _user_data_);
VALA_EXTERN gint publishing_rest_support_batch_uploader_upload_finish (PublishingRESTSupportBatchUploader* self,
                                                           GAsyncResult* _res_,
                                                           GError** error);
VALA_EXTERN gchar* publishing_rest_support_asciify_string (const gchar* s);
VALA_EXTERN GType publishing_rest_support_google_session_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PublishingRESTSupportGoogleSession, publishing_rest_support_session_unref)
VALA_EXTERN gchar* publishing_rest_support_google_session_get_user_name (PublishingRESTSupportGoogleSession* self);
VALA_EXTERN gchar* publishing_rest_support_google_session_get_access_token (PublishingRESTSupportGoogleSession* self);
VALA_EXTERN void publishing_rest_support_google_session_deauthenticate (PublishingRESTSupportGoogleSession* self);
VALA_EXTERN PublishingRESTSupportGoogleSession* publishing_rest_support_google_session_construct (GType object_type);
VALA_EXTERN GType publishing_rest_support_google_publisher_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PublishingRESTSupportGooglePublisher, g_object_unref)
VALA_EXTERN PublishingRESTSupportGooglePublisher* publishing_rest_support_google_publisher_construct (GType object_type,
                                                                                          SpitPublishingService* service,
                                                                                          SpitPublishingPluginHost* host,
                                                                                          const gchar* scope);
VALA_EXTERN SpitPublishingAuthenticator* publishing_rest_support_google_publisher_get_authenticator (PublishingRESTSupportGooglePublisher* self);
VALA_EXTERN SpitPublishingPluginHost* publishing_rest_support_google_publisher_get_host (PublishingRESTSupportGooglePublisher* self);
VALA_EXTERN PublishingRESTSupportGoogleSession* publishing_rest_support_google_publisher_get_session (PublishingRESTSupportGooglePublisher* self);
VALA_EXTERN void publishing_rest_support_google_publisher_on_login_flow_complete (PublishingRESTSupportGooglePublisher* self);
VALA_EXTERN void publishing_rest_support_google_publisher_do_logout (PublishingRESTSupportGooglePublisher* self);
VALA_EXTERN gboolean publishing_rest_support_google_publisher_is_running (PublishingRESTSupportGooglePublisher* self);
VALA_EXTERN void publishing_rest_support_google_publisher_start (PublishingRESTSupportGooglePublisher* self);
VALA_EXTERN void publishing_rest_support_google_publisher_stop (PublishingRESTSupportGooglePublisher* self);
VALA_EXTERN GType publishing_rest_support_google_publisher_authenticated_transaction_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PublishingRESTSupportGooglePublisherAuthenticatedTransaction, publishing_rest_support_transaction_unref)
VALA_EXTERN PublishingRESTSupportGooglePublisherAuthenticatedTransaction* publishing_rest_support_google_publisher_authenticated_transaction_new (PublishingRESTSupportGoogleSession* session,
                                                                                                                                      const gchar* endpoint_url,
                                                                                                                                      PublishingRESTSupportHttpMethod method);
VALA_EXTERN PublishingRESTSupportGooglePublisherAuthenticatedTransaction* publishing_rest_support_google_publisher_authenticated_transaction_construct (GType object_type,
                                                                                                                                            PublishingRESTSupportGoogleSession* session,
                                                                                                                                            const gchar* endpoint_url,
                                                                                                                                            PublishingRESTSupportHttpMethod method);
VALA_EXTERN GdkPixbuf** resources_load_from_resource (const gchar* resource_path,
                                          gint* result_length1);
VALA_EXTERN GType shotwell_plugins_common_external_web_pane_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ShotwellPluginsCommonExternalWebPane, g_object_unref)
VALA_EXTERN ShotwellPluginsCommonExternalWebPane* shotwell_plugins_common_external_web_pane_new (const gchar* uri);
VALA_EXTERN ShotwellPluginsCommonExternalWebPane* shotwell_plugins_common_external_web_pane_construct (GType object_type,
                                                                                           const gchar* uri);
VALA_EXTERN SpitPublishingDialogPaneGeometryOptions shotwell_plugins_common_external_web_pane_get_preferred_geometry (ShotwellPluginsCommonExternalWebPane* self);
VALA_EXTERN gchar* shotwell_plugins_common_external_web_pane_get_login_uri (ShotwellPluginsCommonExternalWebPane* self);
VALA_EXTERN GType shotwell_plugins_common_builder_pane_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ShotwellPluginsCommonBuilderPane, g_object_unref)
VALA_EXTERN GtkBuilder* shotwell_plugins_common_builder_pane_get_builder (ShotwellPluginsCommonBuilderPane* self);
VALA_EXTERN GtkWidget* shotwell_plugins_common_builder_pane_get_default_widget (ShotwellPluginsCommonBuilderPane* self);
VALA_EXTERN void shotwell_plugins_common_builder_pane_on_pane_installed (ShotwellPluginsCommonBuilderPane* self);
VALA_EXTERN void shotwell_plugins_common_builder_pane_on_pane_uninstalled (ShotwellPluginsCommonBuilderPane* self);
VALA_EXTERN ShotwellPluginsCommonBuilderPane* shotwell_plugins_common_builder_pane_construct (GType object_type);
VALA_EXTERN SpitPublishingDialogPaneGeometryOptions shotwell_plugins_common_builder_pane_get_preferred_geometry (ShotwellPluginsCommonBuilderPane* self);
VALA_EXTERN gchar* shotwell_plugins_common_builder_pane_get_resource_path (ShotwellPluginsCommonBuilderPane* self);
VALA_EXTERN gboolean shotwell_plugins_common_builder_pane_get_connect_signals (ShotwellPluginsCommonBuilderPane* self);
VALA_EXTERN gchar* shotwell_plugins_common_builder_pane_get_default_id (ShotwellPluginsCommonBuilderPane* self);
VALA_EXTERN GType publishing_rest_support_oauth1_session_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PublishingRESTSupportOAuth1Session, publishing_rest_support_session_unref)
VALA_EXTERN PublishingRESTSupportOAuth1Session* publishing_rest_support_oauth1_session_new (const gchar* endpoint_uri);
VALA_EXTERN PublishingRESTSupportOAuth1Session* publishing_rest_support_oauth1_session_construct (GType object_type,
                                                                                      const gchar* endpoint_uri);
VALA_EXTERN void publishing_rest_support_oauth1_session_authenticate_from_persistent_credentials (PublishingRESTSupportOAuth1Session* self,
                                                                                      const gchar* token,
                                                                                      const gchar* secret,
                                                                                      const gchar* username);
VALA_EXTERN void publishing_rest_support_oauth1_session_deauthenticate (PublishingRESTSupportOAuth1Session* self);
VALA_EXTERN void publishing_rest_support_oauth1_session_set_api_credentials (PublishingRESTSupportOAuth1Session* self,
                                                                 const gchar* consumer_key,
                                                                 const gchar* consumer_secret);
VALA_EXTERN gchar* publishing_rest_support_oauth1_session_sign_transaction (PublishingRESTSupportOAuth1Session* self,
                                                                PublishingRESTSupportTransaction* txn,
                                                                PublishingRESTSupportArgument** extra_arguments,
                                                                gint extra_arguments_length1);
VALA_EXTERN void publishing_rest_support_oauth1_session_set_request_phase_credentials (PublishingRESTSupportOAuth1Session* self,
                                                                           const gchar* token,
                                                                           const gchar* secret);
VALA_EXTERN void publishing_rest_support_oauth1_session_set_access_phase_credentials (PublishingRESTSupportOAuth1Session* self,
                                                                          const gchar* token,
                                                                          const gchar* secret,
                                                                          const gchar* username);
VALA_EXTERN gchar* publishing_rest_support_oauth1_session_get_oauth_nonce (PublishingRESTSupportOAuth1Session* self);
VALA_EXTERN gchar* publishing_rest_support_oauth1_session_get_oauth_timestamp (PublishingRESTSupportOAuth1Session* self);
VALA_EXTERN gchar* publishing_rest_support_oauth1_session_get_consumer_key (PublishingRESTSupportOAuth1Session* self);
VALA_EXTERN gchar* publishing_rest_support_oauth1_session_get_request_phase_token (PublishingRESTSupportOAuth1Session* self);
VALA_EXTERN gchar* publishing_rest_support_oauth1_session_get_access_phase_token (PublishingRESTSupportOAuth1Session* self);
VALA_EXTERN gboolean publishing_rest_support_oauth1_session_has_access_phase_token (PublishingRESTSupportOAuth1Session* self);
VALA_EXTERN gchar* publishing_rest_support_oauth1_session_get_access_phase_token_secret (PublishingRESTSupportOAuth1Session* self);
VALA_EXTERN gchar* publishing_rest_support_oauth1_session_get_username (PublishingRESTSupportOAuth1Session* self);
VALA_EXTERN GType publishing_rest_support_oauth1_transaction_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PublishingRESTSupportOAuth1Transaction, publishing_rest_support_transaction_unref)
VALA_EXTERN PublishingRESTSupportOAuth1Transaction* publishing_rest_support_oauth1_transaction_new (PublishingRESTSupportOAuth1Session* session,
                                                                                        PublishingRESTSupportHttpMethod method);
VALA_EXTERN PublishingRESTSupportOAuth1Transaction* publishing_rest_support_oauth1_transaction_construct (GType object_type,
                                                                                              PublishingRESTSupportOAuth1Session* session,
                                                                                              PublishingRESTSupportHttpMethod method);
VALA_EXTERN PublishingRESTSupportOAuth1Transaction* publishing_rest_support_oauth1_transaction_new_with_uri (PublishingRESTSupportOAuth1Session* session,
                                                                                                 const gchar* uri,
                                                                                                 PublishingRESTSupportHttpMethod method);
VALA_EXTERN PublishingRESTSupportOAuth1Transaction* publishing_rest_support_oauth1_transaction_construct_with_uri (GType object_type,
                                                                                                       PublishingRESTSupportOAuth1Session* session,
                                                                                                       const gchar* uri,
                                                                                                       PublishingRESTSupportHttpMethod method);
VALA_EXTERN GType publishing_rest_support_oauth1_upload_transaction_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PublishingRESTSupportOAuth1UploadTransaction, publishing_rest_support_transaction_unref)
VALA_EXTERN PublishingRESTSupportOAuth1UploadTransaction* publishing_rest_support_oauth1_upload_transaction_new (PublishingRESTSupportOAuth1Session* session,
                                                                                                     SpitPublishingPublishable* publishable,
                                                                                                     const gchar* endpoint_uri);
VALA_EXTERN PublishingRESTSupportOAuth1UploadTransaction* publishing_rest_support_oauth1_upload_transaction_construct (GType object_type,
                                                                                                           PublishingRESTSupportOAuth1Session* session,
                                                                                                           SpitPublishingPublishable* publishable,
                                                                                                           const gchar* endpoint_uri);
VALA_EXTERN void publishing_rest_support_oauth1_upload_transaction_add_authorization_header_field (PublishingRESTSupportOAuth1UploadTransaction* self,
                                                                                       const gchar* key,
                                                                                       const gchar* value);
VALA_EXTERN gchar* publishing_rest_support_oauth1_upload_transaction_get_authorization_header_string (PublishingRESTSupportOAuth1UploadTransaction* self);
VALA_EXTERN void publishing_rest_support_oauth1_upload_transaction_authorize (PublishingRESTSupportOAuth1UploadTransaction* self);

G_END_DECLS

#endif
