/* pidgin-plugin.c generated by valac 0.56.17, the Vala compiler
 * generated from pidgin-plugin.vala, do not modify */

/*
 * Copyright (C) 2010 Michal Hruby <michal.mhr@gmail.com>
 * Copyright (C) 2010 Alberto Aldegheri <albyrock87+dev@gmail.com>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA.
 *
 * Authored by Alberto Aldegheri <albyrock87+dev@gmail.com>
 *
 */

#include <glib-object.h>
#include <gio/gio.h>
#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include "plugins.h"
#include <gee.h>
#include <synapse-core.h>
#include <glib/gi18n-lib.h>

#define SYNAPSE_PURPLE_INTERFACE_UNIQUE_NAME "im.pidgin.purple.PurpleService"
#define SYNAPSE_PURPLE_INTERFACE_OBJECT_PATH "/im/pidgin/purple/PurpleObject"
#if !defined(VALA_STRICT_C)
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ >= 14)
#pragma GCC diagnostic warning "-Wincompatible-pointer-types"
#elif defined(__clang__) && (__clang_major__ >= 16)
#pragma clang diagnostic ignored "-Wincompatible-function-pointer-types"
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
#endif
#endif

#define SYNAPSE_TYPE_PURPLE_INTERFACE (synapse_purple_interface_get_type ())
#define SYNAPSE_PURPLE_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_TYPE_PURPLE_INTERFACE, SynapsePurpleInterface))
#define SYNAPSE_IS_PURPLE_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_TYPE_PURPLE_INTERFACE))
#define SYNAPSE_PURPLE_INTERFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SYNAPSE_TYPE_PURPLE_INTERFACE, SynapsePurpleInterfaceIface))

typedef struct _SynapsePurpleInterface SynapsePurpleInterface;
typedef struct _SynapsePurpleInterfaceIface SynapsePurpleInterfaceIface;

#define SYNAPSE_TYPE_PURPLE_INTERFACE_PROXY (synapse_purple_interface_proxy_get_type ())
enum  {
	SYNAPSE_PURPLE_INTERFACE_ACCOUNT_ADDED_SIGNAL,
	SYNAPSE_PURPLE_INTERFACE_ACCOUNT_REMOVED_SIGNAL,
	SYNAPSE_PURPLE_INTERFACE_BUDDY_ADDED_SIGNAL,
	SYNAPSE_PURPLE_INTERFACE_BUDDY_REMOVED_SIGNAL,
	SYNAPSE_PURPLE_INTERFACE_BUDDY_SIGNED_ON_SIGNAL,
	SYNAPSE_PURPLE_INTERFACE_BUDDY_SIGNED_OFF_SIGNAL,
	SYNAPSE_PURPLE_INTERFACE_BUDDY_ICON_CHANGED_SIGNAL,
	SYNAPSE_PURPLE_INTERFACE_NUM_SIGNALS
};
static guint synapse_purple_interface_signals[SYNAPSE_PURPLE_INTERFACE_NUM_SIGNALS] = {0};
typedef GDBusProxy SynapsePurpleInterfaceProxy;
typedef GDBusProxyClass SynapsePurpleInterfaceProxyClass;
#define _g_free0(var) (var = (g_free (var), NULL))

#define SYNAPSE_PIDGIN_PLUGIN_TYPE_CONTACT (synapse_pidgin_plugin_contact_get_type ())
#define SYNAPSE_PIDGIN_PLUGIN_CONTACT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_PIDGIN_PLUGIN_TYPE_CONTACT, SynapsePidginPluginContact))
#define SYNAPSE_PIDGIN_PLUGIN_CONTACT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SYNAPSE_PIDGIN_PLUGIN_TYPE_CONTACT, SynapsePidginPluginContactClass))
#define SYNAPSE_PIDGIN_PLUGIN_IS_CONTACT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_PIDGIN_PLUGIN_TYPE_CONTACT))
#define SYNAPSE_PIDGIN_PLUGIN_IS_CONTACT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SYNAPSE_PIDGIN_PLUGIN_TYPE_CONTACT))
#define SYNAPSE_PIDGIN_PLUGIN_CONTACT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SYNAPSE_PIDGIN_PLUGIN_TYPE_CONTACT, SynapsePidginPluginContactClass))

typedef struct _SynapsePidginPluginContact SynapsePidginPluginContact;
typedef struct _SynapsePidginPluginContactClass SynapsePidginPluginContactClass;
enum  {
	SYNAPSE_PIDGIN_PLUGIN_0_PROPERTY,
	SYNAPSE_PIDGIN_PLUGIN_ENABLED_PROPERTY,
	SYNAPSE_PIDGIN_PLUGIN_NUM_PROPERTIES
};
static GParamSpec* synapse_pidgin_plugin_properties[SYNAPSE_PIDGIN_PLUGIN_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
typedef struct _SynapsePidginPluginGetContactData SynapsePidginPluginGetContactData;
typedef struct _SynapsePidginPluginInitContactsData SynapsePidginPluginInitContactsData;
typedef struct _SynapsePidginPluginSearchData SynapsePidginPluginSearchData;

#define SYNAPSE_PIDGIN_PLUGIN_TYPE_SEND_TO_CONTACT (synapse_pidgin_plugin_send_to_contact_get_type ())
#define SYNAPSE_PIDGIN_PLUGIN_SEND_TO_CONTACT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_PIDGIN_PLUGIN_TYPE_SEND_TO_CONTACT, SynapsePidginPluginSendToContact))
#define SYNAPSE_PIDGIN_PLUGIN_SEND_TO_CONTACT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SYNAPSE_PIDGIN_PLUGIN_TYPE_SEND_TO_CONTACT, SynapsePidginPluginSendToContactClass))
#define SYNAPSE_PIDGIN_PLUGIN_IS_SEND_TO_CONTACT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_PIDGIN_PLUGIN_TYPE_SEND_TO_CONTACT))
#define SYNAPSE_PIDGIN_PLUGIN_IS_SEND_TO_CONTACT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SYNAPSE_PIDGIN_PLUGIN_TYPE_SEND_TO_CONTACT))
#define SYNAPSE_PIDGIN_PLUGIN_SEND_TO_CONTACT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SYNAPSE_PIDGIN_PLUGIN_TYPE_SEND_TO_CONTACT, SynapsePidginPluginSendToContactClass))

typedef struct _SynapsePidginPluginSendToContact SynapsePidginPluginSendToContact;
typedef struct _SynapsePidginPluginSendToContactClass SynapsePidginPluginSendToContactClass;
typedef struct _SynapsePidginPluginSendToContactPrivate SynapsePidginPluginSendToContactPrivate;
enum  {
	SYNAPSE_PIDGIN_PLUGIN_SEND_TO_CONTACT_0_PROPERTY,
	SYNAPSE_PIDGIN_PLUGIN_SEND_TO_CONTACT_NUM_PROPERTIES
};
static GParamSpec* synapse_pidgin_plugin_send_to_contact_properties[SYNAPSE_PIDGIN_PLUGIN_SEND_TO_CONTACT_NUM_PROPERTIES];
typedef struct _SynapsePidginPluginContactPrivate SynapsePidginPluginContactPrivate;
enum  {
	SYNAPSE_PIDGIN_PLUGIN_CONTACT_0_PROPERTY,
	SYNAPSE_PIDGIN_PLUGIN_CONTACT_PLUGIN_PROPERTY,
	SYNAPSE_PIDGIN_PLUGIN_CONTACT_ACCOUNT_ID_PROPERTY,
	SYNAPSE_PIDGIN_PLUGIN_CONTACT_CONTACT_ID_PROPERTY,
	SYNAPSE_PIDGIN_PLUGIN_CONTACT_NAME_PROPERTY,
	SYNAPSE_PIDGIN_PLUGIN_CONTACT_ONLINE_PROPERTY,
	SYNAPSE_PIDGIN_PLUGIN_CONTACT_NUM_PROPERTIES
};
static GParamSpec* synapse_pidgin_plugin_contact_properties[SYNAPSE_PIDGIN_PLUGIN_CONTACT_NUM_PROPERTIES];

struct _SynapsePurpleInterfaceIface {
	GTypeInterface parent_iface;
	gchar* (*purple_account_get_protocol_name) (SynapsePurpleInterface* self, gint account, GError** error);
	gint (*purple_buddy_get_account) (SynapsePurpleInterface* self, gint buddy, GError** error);
	gchar* (*purple_buddy_get_name) (SynapsePurpleInterface* self, gint buddy, GError** error);
	gchar* (*purple_buddy_get_alias) (SynapsePurpleInterface* self, gint buddy, GError** error);
	gchar* (*purple_buddy_icon_get_full_path) (SynapsePurpleInterface* self, gint icon, GError** error);
	gint (*purple_buddy_get_icon) (SynapsePurpleInterface* self, gint buddy, GError** error);
	gint (*purple_buddy_is_online) (SynapsePurpleInterface* self, gint buddy, GError** error);
	gint* (*purple_accounts_get_all_active) (SynapsePurpleInterface* self, gint* result_length1, GError** error);
	gint* (*purple_find_buddies) (SynapsePurpleInterface* self, gint account, const gchar* pattern, gint* result_length1, GError** error);
	gint (*purple_conversation_new) (SynapsePurpleInterface* self, gint type, gint account, const gchar* name, GError** error);
	void (*purple_conversation_present) (SynapsePurpleInterface* self, gint conv, GError** error);
	gint (*purple_conv_im) (SynapsePurpleInterface* self, gint conv, GError** error);
	void (*purple_conv_im_send) (SynapsePurpleInterface* self, gint im, const gchar* mess, GError** error);
	void (*serv_send_file) (SynapsePurpleInterface* self, gint conn, const gchar* who, const gchar* file, GError** error);
	gint (*purple_account_get_connection) (SynapsePurpleInterface* self, gint account, GError** error);
};

struct _SynapsePidginPluginPrivate {
	gboolean _enabled;
	GeeMap* contacts;
	SynapsePurpleInterface* p;
	GeeList* actions;
};

struct _SynapsePidginPluginGetContactData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	SynapsePidginPlugin* self;
	gint buddy;
	gint account;
	gchar* protocol;
	SynapsePurpleInterface* _tmp0_;
	gchar* prot;
	gchar* _tmp1_;
	gint _tmp2_;
	SynapsePurpleInterface* _tmp3_;
	gchar* _tmp4_;
	SynapsePurpleInterface* _tmp5_;
	gchar* _tmp6_;
	gchar* _tmp7_;
	gchar* alias;
	SynapsePurpleInterface* _tmp8_;
	gchar* _tmp9_;
	gchar* name;
	SynapsePurpleInterface* _tmp10_;
	gchar* _tmp11_;
	gint _tmp12_;
	SynapsePurpleInterface* _tmp13_;
	gboolean online;
	gboolean _tmp14_;
	const gchar* _tmp15_;
	const gchar* _tmp16_;
	const gchar* _tmp17_;
	gchar* _tmp18_;
	gint iconid;
	SynapsePurpleInterface* _tmp19_;
	gchar* icon;
	gchar* _tmp20_;
	SynapsePurpleInterface* _tmp21_;
	gchar* _tmp22_;
	gchar* _tmp23_;
	GeeMap* _tmp24_;
	const gchar* _tmp25_;
	const gchar* _tmp26_;
	const gchar* _tmp27_;
	const gchar* _tmp28_;
	const gchar* _tmp29_;
	gchar* _tmp30_;
	gchar* _tmp31_;
	SynapsePidginPluginContact* _tmp32_;
	SynapsePidginPluginContact* _tmp33_;
	GError* _inner_error0_;
};

struct _SynapsePidginPluginInitContactsData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	SynapsePidginPlugin* self;
	GeeMap* _tmp0_;
	SynapsePurpleInterface* _tmp1_;
	gint* accounts;
	SynapsePurpleInterface* _tmp2_;
	gint _tmp3_;
	gint* _tmp4_;
	gint accounts_length1;
	gint _accounts_size_;
	gint* _tmp5_;
	gint _tmp5__length1;
	gint* account_collection;
	gint account_collection_length1;
	gint _account_collection_size_;
	gint account_it;
	gint account;
	SynapsePurpleInterface* _tmp6_;
	gchar* protocol;
	SynapsePurpleInterface* _tmp7_;
	gchar* _tmp8_;
	gint* buddies;
	SynapsePurpleInterface* _tmp9_;
	gint _tmp10_;
	gint* _tmp11_;
	gint buddies_length1;
	gint _buddies_size_;
	gint* _tmp12_;
	gint _tmp12__length1;
	gint* buddy_collection;
	gint buddy_collection_length1;
	gint _buddy_collection_size_;
	gint buddy_it;
	gint buddy;
	SynapsePurpleInterface* _tmp13_;
	const gchar* _tmp14_;
	GError* _inner_error0_;
};

struct _SynapsePidginPluginSearchData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	SynapsePidginPlugin* self;
	SynapseQuery q;
	SynapseResultSet* result;
	SynapseQuery _tmp0_;
	SynapseResultSet* _result_;
	SynapseResultSet* _tmp1_;
	GeeList* matchers;
	SynapseQuery _tmp2_;
	const gchar* _tmp3_;
	GeeList* _tmp4_;
	GeeSet* matches;
	GeeMap* _tmp5_;
	GeeSet* _tmp6_;
	GeeSet* _tmp7_;
	GeeIterator* _contact_it;
	GeeSet* _tmp8_;
	GeeIterator* _tmp9_;
	GeeIterator* _tmp10_;
	GeeMapEntry* contact;
	GeeIterator* _tmp11_;
	gpointer _tmp12_;
	GeeMapEntry* _tmp13_;
	gconstpointer _tmp14_;
	gconstpointer _tmp15_;
	gboolean _tmp16_;
	gboolean _tmp17_;
	GeeList* _matcher_list;
	GeeList* _tmp18_;
	gint _matcher_size;
	GeeList* _tmp19_;
	gint _tmp20_;
	gint _tmp21_;
	gint _matcher_index;
	gint _tmp22_;
	gint _tmp23_;
	GeeMapEntry* matcher;
	GeeList* _tmp24_;
	gpointer _tmp25_;
	GeeMapEntry* _tmp26_;
	gconstpointer _tmp27_;
	gconstpointer _tmp28_;
	GeeMapEntry* _tmp29_;
	gconstpointer _tmp30_;
	gconstpointer _tmp31_;
	const gchar* _tmp32_;
	const gchar* _tmp33_;
	SynapseResultSet* _tmp34_;
	GeeMapEntry* _tmp35_;
	gconstpointer _tmp36_;
	gconstpointer _tmp37_;
	GeeMapEntry* _tmp38_;
	gconstpointer _tmp39_;
	gconstpointer _tmp40_;
	GError* _inner_error0_;
};

struct _SynapsePidginPluginSendToContact {
	SynapseAction parent_instance;
	SynapsePidginPluginSendToContactPrivate * priv;
};

struct _SynapsePidginPluginSendToContactClass {
	SynapseActionClass parent_class;
};

struct _SynapsePidginPluginContact {
	SynapseContactMatch parent_instance;
	SynapsePidginPluginContactPrivate * priv;
};

struct _SynapsePidginPluginContactClass {
	SynapseContactMatchClass parent_class;
};

struct _SynapsePidginPluginContactPrivate {
	SynapsePidginPlugin* _plugin;
	gint _account_id;
	gint _contact_id;
	gchar* _name;
	gboolean _online;
};

static gint SynapsePidginPlugin_private_offset;
static gpointer synapse_pidgin_plugin_parent_class = NULL;
static gpointer synapse_pidgin_plugin_send_to_contact_parent_class = NULL;
static gint SynapsePidginPluginContact_private_offset;
static gpointer synapse_pidgin_plugin_contact_parent_class = NULL;
static SynapseActivatableIface * synapse_pidgin_plugin_synapse_activatable_parent_iface = NULL;
static SynapseItemProviderIface * synapse_pidgin_plugin_synapse_item_provider_parent_iface = NULL;
static SynapseActionProviderIface * synapse_pidgin_plugin_synapse_action_provider_parent_iface = NULL;

VALA_EXTERN GType synapse_purple_interface_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint synapse_purple_interface_register_object (void* object,
                                                GDBusConnection* connection,
                                                const gchar* path,
                                                GError** error);
VALA_EXTERN GType synapse_purple_interface_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* synapse_purple_interface_purple_account_get_protocol_name (SynapsePurpleInterface* self,
                                                                  gint account,
                                                                  GError** error);
VALA_EXTERN gint synapse_purple_interface_purple_buddy_get_account (SynapsePurpleInterface* self,
                                                        gint buddy,
                                                        GError** error);
VALA_EXTERN gchar* synapse_purple_interface_purple_buddy_get_name (SynapsePurpleInterface* self,
                                                       gint buddy,
                                                       GError** error);
VALA_EXTERN gchar* synapse_purple_interface_purple_buddy_get_alias (SynapsePurpleInterface* self,
                                                        gint buddy,
                                                        GError** error);
VALA_EXTERN gchar* synapse_purple_interface_purple_buddy_icon_get_full_path (SynapsePurpleInterface* self,
                                                                 gint icon,
                                                                 GError** error);
VALA_EXTERN gint synapse_purple_interface_purple_buddy_get_icon (SynapsePurpleInterface* self,
                                                     gint buddy,
                                                     GError** error);
VALA_EXTERN gint synapse_purple_interface_purple_buddy_is_online (SynapsePurpleInterface* self,
                                                      gint buddy,
                                                      GError** error);
VALA_EXTERN gint* synapse_purple_interface_purple_accounts_get_all_active (SynapsePurpleInterface* self,
                                                               gint* result_length1,
                                                               GError** error);
VALA_EXTERN gint* synapse_purple_interface_purple_find_buddies (SynapsePurpleInterface* self,
                                                    gint account,
                                                    const gchar* pattern,
                                                    gint* result_length1,
                                                    GError** error);
VALA_EXTERN gint synapse_purple_interface_purple_conversation_new (SynapsePurpleInterface* self,
                                                       gint type,
                                                       gint account,
                                                       const gchar* name,
                                                       GError** error);
VALA_EXTERN void synapse_purple_interface_purple_conversation_present (SynapsePurpleInterface* self,
                                                           gint conv,
                                                           GError** error);
VALA_EXTERN gint synapse_purple_interface_purple_conv_im (SynapsePurpleInterface* self,
                                              gint conv,
                                              GError** error);
VALA_EXTERN void synapse_purple_interface_purple_conv_im_send (SynapsePurpleInterface* self,
                                                   gint im,
                                                   const gchar* mess,
                                                   GError** error);
VALA_EXTERN void synapse_purple_interface_serv_send_file (SynapsePurpleInterface* self,
                                              gint conn,
                                              const gchar* who,
                                              const gchar* file,
                                              GError** error);
VALA_EXTERN gint synapse_purple_interface_purple_account_get_connection (SynapsePurpleInterface* self,
                                                             gint account,
                                                             GError** error);
static GType synapse_purple_interface_get_type_once (void);
static void synapse_purple_interface_proxy_g_signal (GDBusProxy* proxy,
                                              const gchar* sender_name,
                                              const gchar* signal_name,
                                              GVariant* parameters);
static void _dbus_handle_synapse_purple_interface_account_added (SynapsePurpleInterface* self,
                                                          GVariant* parameters);
static void _dbus_handle_synapse_purple_interface_account_removed (SynapsePurpleInterface* self,
                                                            GVariant* parameters);
static void _dbus_handle_synapse_purple_interface_buddy_added (SynapsePurpleInterface* self,
                                                        GVariant* parameters);
static void _dbus_handle_synapse_purple_interface_buddy_removed (SynapsePurpleInterface* self,
                                                          GVariant* parameters);
static void _dbus_handle_synapse_purple_interface_buddy_signed_on (SynapsePurpleInterface* self,
                                                            GVariant* parameters);
static void _dbus_handle_synapse_purple_interface_buddy_signed_off (SynapsePurpleInterface* self,
                                                             GVariant* parameters);
static void _dbus_handle_synapse_purple_interface_buddy_icon_changed (SynapsePurpleInterface* self,
                                                               GVariant* parameters);
static gchar* synapse_purple_interface_proxy_purple_account_get_protocol_name (SynapsePurpleInterface* self,
                                                                        gint account,
                                                                        GError** error);
static gint synapse_purple_interface_proxy_purple_buddy_get_account (SynapsePurpleInterface* self,
                                                              gint buddy,
                                                              GError** error);
static gchar* synapse_purple_interface_proxy_purple_buddy_get_name (SynapsePurpleInterface* self,
                                                             gint buddy,
                                                             GError** error);
static gchar* synapse_purple_interface_proxy_purple_buddy_get_alias (SynapsePurpleInterface* self,
                                                              gint buddy,
                                                              GError** error);
static gchar* synapse_purple_interface_proxy_purple_buddy_icon_get_full_path (SynapsePurpleInterface* self,
                                                                       gint icon,
                                                                       GError** error);
static gint synapse_purple_interface_proxy_purple_buddy_get_icon (SynapsePurpleInterface* self,
                                                           gint buddy,
                                                           GError** error);
static gint synapse_purple_interface_proxy_purple_buddy_is_online (SynapsePurpleInterface* self,
                                                            gint buddy,
                                                            GError** error);
static gint* synapse_purple_interface_proxy_purple_accounts_get_all_active (SynapsePurpleInterface* self,
                                                                     gint* result_length1,
                                                                     GError** error);
static gint* synapse_purple_interface_proxy_purple_find_buddies (SynapsePurpleInterface* self,
                                                          gint account,
                                                          const gchar* pattern,
                                                          gint* result_length1,
                                                          GError** error);
static gint synapse_purple_interface_proxy_purple_conversation_new (SynapsePurpleInterface* self,
                                                             gint type,
                                                             gint account,
                                                             const gchar* name,
                                                             GError** error);
static void synapse_purple_interface_proxy_purple_conversation_present (SynapsePurpleInterface* self,
                                                                 gint conv,
                                                                 GError** error);
static gint synapse_purple_interface_proxy_purple_conv_im (SynapsePurpleInterface* self,
                                                    gint conv,
                                                    GError** error);
static void synapse_purple_interface_proxy_purple_conv_im_send (SynapsePurpleInterface* self,
                                                         gint im,
                                                         const gchar* mess,
                                                         GError** error);
static void synapse_purple_interface_proxy_serv_send_file (SynapsePurpleInterface* self,
                                                    gint conn,
                                                    const gchar* who,
                                                    const gchar* file,
                                                    GError** error);
static gint synapse_purple_interface_proxy_purple_account_get_connection (SynapsePurpleInterface* self,
                                                                   gint account,
                                                                   GError** error);
static void synapse_purple_interface_proxy_synapse_purple_interface_interface_init (SynapsePurpleInterfaceIface* iface);
static void _dbus_synapse_purple_interface_purple_account_get_protocol_name (SynapsePurpleInterface* self,
                                                                      GVariant* _parameters_,
                                                                      GDBusMethodInvocation* invocation);
static void _dbus_synapse_purple_interface_purple_buddy_get_account (SynapsePurpleInterface* self,
                                                              GVariant* _parameters_,
                                                              GDBusMethodInvocation* invocation);
static void _dbus_synapse_purple_interface_purple_buddy_get_name (SynapsePurpleInterface* self,
                                                           GVariant* _parameters_,
                                                           GDBusMethodInvocation* invocation);
static void _dbus_synapse_purple_interface_purple_buddy_get_alias (SynapsePurpleInterface* self,
                                                            GVariant* _parameters_,
                                                            GDBusMethodInvocation* invocation);
static void _dbus_synapse_purple_interface_purple_buddy_icon_get_full_path (SynapsePurpleInterface* self,
                                                                     GVariant* _parameters_,
                                                                     GDBusMethodInvocation* invocation);
static void _dbus_synapse_purple_interface_purple_buddy_get_icon (SynapsePurpleInterface* self,
                                                           GVariant* _parameters_,
                                                           GDBusMethodInvocation* invocation);
static void _dbus_synapse_purple_interface_purple_buddy_is_online (SynapsePurpleInterface* self,
                                                            GVariant* _parameters_,
                                                            GDBusMethodInvocation* invocation);
static void _dbus_synapse_purple_interface_purple_accounts_get_all_active (SynapsePurpleInterface* self,
                                                                    GVariant* _parameters_,
                                                                    GDBusMethodInvocation* invocation);
static void _dbus_synapse_purple_interface_purple_find_buddies (SynapsePurpleInterface* self,
                                                         GVariant* _parameters_,
                                                         GDBusMethodInvocation* invocation);
static void _dbus_synapse_purple_interface_purple_conversation_new (SynapsePurpleInterface* self,
                                                             GVariant* _parameters_,
                                                             GDBusMethodInvocation* invocation);
static void _dbus_synapse_purple_interface_purple_conversation_present (SynapsePurpleInterface* self,
                                                                 GVariant* _parameters_,
                                                                 GDBusMethodInvocation* invocation);
static void _dbus_synapse_purple_interface_purple_conv_im (SynapsePurpleInterface* self,
                                                    GVariant* _parameters_,
                                                    GDBusMethodInvocation* invocation);
static void _dbus_synapse_purple_interface_purple_conv_im_send (SynapsePurpleInterface* self,
                                                         GVariant* _parameters_,
                                                         GDBusMethodInvocation* invocation);
static void _dbus_synapse_purple_interface_serv_send_file (SynapsePurpleInterface* self,
                                                    GVariant* _parameters_,
                                                    GDBusMethodInvocation* invocation);
static void _dbus_synapse_purple_interface_purple_account_get_connection (SynapsePurpleInterface* self,
                                                                   GVariant* _parameters_,
                                                                   GDBusMethodInvocation* invocation);
static void synapse_purple_interface_dbus_interface_method_call (GDBusConnection* connection,
                                                          const gchar* sender,
                                                          const gchar* object_path,
                                                          const gchar* interface_name,
                                                          const gchar* method_name,
                                                          GVariant* parameters,
                                                          GDBusMethodInvocation* invocation,
                                                          gpointer user_data);
static GVariant* synapse_purple_interface_dbus_interface_get_property (GDBusConnection* connection,
                                                                const gchar* sender,
                                                                const gchar* object_path,
                                                                const gchar* interface_name,
                                                                const gchar* property_name,
                                                                GError** error,
                                                                gpointer user_data);
static gboolean synapse_purple_interface_dbus_interface_set_property (GDBusConnection* connection,
                                                               const gchar* sender,
                                                               const gchar* object_path,
                                                               const gchar* interface_name,
                                                               const gchar* property_name,
                                                               GVariant* value,
                                                               GError** error,
                                                               gpointer user_data);
static void _dbus_synapse_purple_interface_account_added (GObject* _sender,
                                                   gint acc,
                                                   gpointer* _data);
static void _dbus_synapse_purple_interface_account_removed (GObject* _sender,
                                                     gint acc,
                                                     gpointer* _data);
static void _dbus_synapse_purple_interface_buddy_added (GObject* _sender,
                                                 gint buddy,
                                                 gpointer* _data);
static void _dbus_synapse_purple_interface_buddy_removed (GObject* _sender,
                                                   gint buddy,
                                                   gpointer* _data);
static void _dbus_synapse_purple_interface_buddy_signed_on (GObject* _sender,
                                                     gint buddy,
                                                     gpointer* _data);
static void _dbus_synapse_purple_interface_buddy_signed_off (GObject* _sender,
                                                      gint buddy,
                                                      gpointer* _data);
static void _dbus_synapse_purple_interface_buddy_icon_changed (GObject* _sender,
                                                        gint buddy,
                                                        gpointer* _data);
static void _synapse_purple_interface_unregister_object (gpointer user_data);
static GType synapse_pidgin_plugin_contact_get_type (void) G_GNUC_CONST  G_GNUC_UNUSED ;
static void synapse_pidgin_plugin_real_activate (SynapseActivatable* base);
static void synapse_pidgin_plugin_real_deactivate (SynapseActivatable* base);
static void synapse_pidgin_plugin_register_plugin (void);
static void _synapse_pidgin_plugin_register_plugin_synapse_plugin_register_func (void);
static void synapse_pidgin_plugin_send_file (SynapsePidginPlugin* self,
                                      SynapsePidginPluginContact* contact,
                                      const gchar* uri);
static gint synapse_pidgin_plugin_contact_get_account_id (SynapsePidginPluginContact* self);
static const gchar* synapse_pidgin_plugin_contact_get_name (SynapsePidginPluginContact* self);
static void synapse_pidgin_plugin_send_message (SynapsePidginPlugin* self,
                                         SynapsePidginPluginContact* contact,
                                         const gchar* message,
                                         gboolean present);
static void synapse_pidgin_plugin_open_chat (SynapsePidginPlugin* self,
                                      SynapsePidginPluginContact* contact);
static void synapse_pidgin_plugin_connect_to_bus (SynapsePidginPlugin* self);
static void synapse_pidgin_plugin_init_contacts (SynapsePidginPlugin* self,
                                          GAsyncReadyCallback _callback_,
                                          gpointer _user_data_);
static void synapse_pidgin_plugin_init_contacts_finish (SynapsePidginPlugin* self,
                                                 GAsyncResult* _res_);
static void ___lambda18_ (SynapsePidginPlugin* self,
                   GObject* obj,
                   GAsyncResult* res);
static void synapse_pidgin_plugin_connect_to_signals (SynapsePidginPlugin* self);
static void ____lambda18__gasync_ready_callback (GObject* source_object,
                                          GAsyncResult* res,
                                          gpointer self);
static void __lambda19_ (SynapsePidginPlugin* self,
                  gint acc);
static void ___lambda19__synapse_purple_interface_account_added (SynapsePurpleInterface* _sender,
                                                          gint acc,
                                                          gpointer self);
static void __lambda20_ (SynapsePidginPlugin* self,
                  gint acc);
static void ___lambda20__synapse_purple_interface_account_removed (SynapsePurpleInterface* _sender,
                                                            gint acc,
                                                            gpointer self);
static void __lambda21_ (SynapsePidginPlugin* self,
                  gint buddy);
static void synapse_pidgin_plugin_contact_changed (SynapsePidginPlugin* self,
                                            gint buddy,
                                            gint online,
                                            gint addremove);
static void ___lambda21__synapse_purple_interface_buddy_added (SynapsePurpleInterface* _sender,
                                                        gint buddy,
                                                        gpointer self);
static void __lambda22_ (SynapsePidginPlugin* self,
                  gint buddy);
static void ___lambda22__synapse_purple_interface_buddy_removed (SynapsePurpleInterface* _sender,
                                                          gint buddy,
                                                          gpointer self);
static void __lambda23_ (SynapsePidginPlugin* self,
                  gint buddy);
static void ___lambda23__synapse_purple_interface_buddy_signed_on (SynapsePurpleInterface* _sender,
                                                            gint buddy,
                                                            gpointer self);
static void __lambda24_ (SynapsePidginPlugin* self,
                  gint buddy);
static void ___lambda24__synapse_purple_interface_buddy_signed_off (SynapsePurpleInterface* _sender,
                                                             gint buddy,
                                                             gpointer self);
static void __lambda25_ (SynapsePidginPlugin* self,
                  gint buddy);
static void ___lambda25__synapse_purple_interface_buddy_icon_changed (SynapsePurpleInterface* _sender,
                                                               gint buddy,
                                                               gpointer self);
static void synapse_pidgin_plugin_contact_set_online (SynapsePidginPluginContact* self,
                                               gboolean value);
static void synapse_pidgin_plugin_get_contact (SynapsePidginPlugin* self,
                                        gint buddy,
                                        gint account,
                                        const gchar* protocol,
                                        GAsyncReadyCallback _callback_,
                                        gpointer _user_data_);
static void synapse_pidgin_plugin_get_contact_finish (SynapsePidginPlugin* self,
                                               GAsyncResult* _res_,
                                               GError** error);
static SynapseResultSet* synapse_pidgin_plugin_real_find_for_match (SynapseActionProvider* base,
                                                             SynapseQuery* query,
                                                             SynapseMatch* match);
static void synapse_pidgin_plugin_get_contact_data_free (gpointer _data);
static gboolean synapse_pidgin_plugin_get_contact_co (SynapsePidginPluginGetContactData* _data_);
static SynapsePidginPluginContact* synapse_pidgin_plugin_contact_new (SynapsePidginPlugin* plugin,
                                                               gint account_id,
                                                               gint contact_id,
                                                               const gchar* name,
                                                               gboolean online,
                                                               const gchar* alias,
                                                               const gchar* icon_path,
                                                               const gchar* description);
static SynapsePidginPluginContact* synapse_pidgin_plugin_contact_construct (GType object_type,
                                                                     SynapsePidginPlugin* plugin,
                                                                     gint account_id,
                                                                     gint contact_id,
                                                                     const gchar* name,
                                                                     gboolean online,
                                                                     const gchar* alias,
                                                                     const gchar* icon_path,
                                                                     const gchar* description);
static void synapse_pidgin_plugin_init_contacts_data_free (gpointer _data);
static gboolean synapse_pidgin_plugin_init_contacts_co (SynapsePidginPluginInitContactsData* _data_);
static void synapse_pidgin_plugin_init_contacts_ready (GObject* source_object,
                                                GAsyncResult* _res_,
                                                gpointer _user_data_);
static gboolean synapse_pidgin_plugin_real_handles_query (SynapseItemProvider* base,
                                                   SynapseQuery* query);
static void synapse_pidgin_plugin_real_search_data_free (gpointer _data);
static void synapse_pidgin_plugin_real_search (SynapseItemProvider* base,
                                        SynapseQuery* q,
                                        GAsyncReadyCallback _callback_,
                                        gpointer _user_data_);
static gboolean synapse_pidgin_plugin_real_search_co (SynapsePidginPluginSearchData* _data_);
static gboolean synapse_pidgin_plugin_contact_get_online (SynapsePidginPluginContact* self);
static GType synapse_pidgin_plugin_send_to_contact_get_type (void) G_GNUC_CONST  G_GNUC_UNUSED ;
static SynapsePidginPluginSendToContact* synapse_pidgin_plugin_send_to_contact_new (void);
static SynapsePidginPluginSendToContact* synapse_pidgin_plugin_send_to_contact_construct (GType object_type);
static void synapse_pidgin_plugin_send_to_contact_real_do_execute (SynapseAction* base,
                                                            SynapseMatch* match,
                                                            SynapseMatch* target);
static void synapse_pidgin_plugin_contact_send_file (SynapsePidginPluginContact* self,
                                              const gchar* path);
static gboolean synapse_pidgin_plugin_send_to_contact_real_valid_for_match (SynapseAction* base,
                                                                     SynapseMatch* match);
static gboolean synapse_pidgin_plugin_send_to_contact_real_needs_target (SynapseMatch* base);
static SynapseQueryFlags synapse_pidgin_plugin_send_to_contact_real_target_flags (SynapseMatch* base);
static GType synapse_pidgin_plugin_send_to_contact_get_type_once (void);
static void synapse_pidgin_plugin_contact_real_send_message (SynapseContactMatch* base,
                                                      const gchar* message,
                                                      gboolean present);
static SynapsePidginPlugin* synapse_pidgin_plugin_contact_get_plugin (SynapsePidginPluginContact* self);
static void synapse_pidgin_plugin_contact_real_open_chat (SynapseContactMatch* base);
static void synapse_pidgin_plugin_contact_set_plugin (SynapsePidginPluginContact* self,
                                               SynapsePidginPlugin* value);
static void synapse_pidgin_plugin_contact_set_account_id (SynapsePidginPluginContact* self,
                                                   gint value);
static gint synapse_pidgin_plugin_contact_get_contact_id (SynapsePidginPluginContact* self);
static void synapse_pidgin_plugin_contact_set_contact_id (SynapsePidginPluginContact* self,
                                                   gint value);
static void synapse_pidgin_plugin_contact_set_name (SynapsePidginPluginContact* self,
                                             const gchar* value);
static void synapse_pidgin_plugin_contact_finalize (GObject * obj);
static GType synapse_pidgin_plugin_contact_get_type_once (void);
static void _vala_synapse_pidgin_plugin_contact_get_property (GObject * object,
                                                       guint property_id,
                                                       GValue * value,
                                                       GParamSpec * pspec);
static void _vala_synapse_pidgin_plugin_contact_set_property (GObject * object,
                                                       guint property_id,
                                                       const GValue * value,
                                                       GParamSpec * pspec);
static GObject * synapse_pidgin_plugin_constructor (GType type,
                                             guint n_construct_properties,
                                             GObjectConstructParam * construct_properties);
static void _synapse_pidgin_plugin___lambda26_ (SynapsePidginPlugin* self,
                                         const gchar* name,
                                         gboolean is_owned);
static void __synapse_pidgin_plugin___lambda26__synapse_dbus_service_owner_changed (SynapseDBusService* _sender,
                                                                             const gchar* name,
                                                                             gboolean is_owned,
                                                                             gpointer self);
static void synapse_pidgin_plugin_finalize (GObject * obj);
static GType synapse_pidgin_plugin_get_type_once (void);
static void _vala_synapse_pidgin_plugin_get_property (GObject * object,
                                               guint property_id,
                                               GValue * value,
                                               GParamSpec * pspec);
static void _vala_synapse_pidgin_plugin_set_property (GObject * object,
                                               guint property_id,
                                               const GValue * value,
                                               GParamSpec * pspec);

static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_purple_account_get_protocol_name_account = {-1, "account", "i", NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_purple_account_get_protocol_name_result = {-1, "result", "s", NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_purple_account_get_protocol_name_in[] = {&_synapse_purple_interface_dbus_arg_info_purple_account_get_protocol_name_account, NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_purple_account_get_protocol_name_out[] = {&_synapse_purple_interface_dbus_arg_info_purple_account_get_protocol_name_result, NULL};
static const GDBusMethodInfo _synapse_purple_interface_dbus_method_info_purple_account_get_protocol_name = {-1, "PurpleAccountGetProtocolName", (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_purple_account_get_protocol_name_in), (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_purple_account_get_protocol_name_out), NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_purple_buddy_get_account_buddy = {-1, "buddy", "i", NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_purple_buddy_get_account_result = {-1, "result", "i", NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_purple_buddy_get_account_in[] = {&_synapse_purple_interface_dbus_arg_info_purple_buddy_get_account_buddy, NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_purple_buddy_get_account_out[] = {&_synapse_purple_interface_dbus_arg_info_purple_buddy_get_account_result, NULL};
static const GDBusMethodInfo _synapse_purple_interface_dbus_method_info_purple_buddy_get_account = {-1, "PurpleBuddyGetAccount", (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_purple_buddy_get_account_in), (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_purple_buddy_get_account_out), NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_purple_buddy_get_name_buddy = {-1, "buddy", "i", NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_purple_buddy_get_name_result = {-1, "result", "s", NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_purple_buddy_get_name_in[] = {&_synapse_purple_interface_dbus_arg_info_purple_buddy_get_name_buddy, NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_purple_buddy_get_name_out[] = {&_synapse_purple_interface_dbus_arg_info_purple_buddy_get_name_result, NULL};
static const GDBusMethodInfo _synapse_purple_interface_dbus_method_info_purple_buddy_get_name = {-1, "PurpleBuddyGetName", (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_purple_buddy_get_name_in), (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_purple_buddy_get_name_out), NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_purple_buddy_get_alias_buddy = {-1, "buddy", "i", NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_purple_buddy_get_alias_result = {-1, "result", "s", NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_purple_buddy_get_alias_in[] = {&_synapse_purple_interface_dbus_arg_info_purple_buddy_get_alias_buddy, NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_purple_buddy_get_alias_out[] = {&_synapse_purple_interface_dbus_arg_info_purple_buddy_get_alias_result, NULL};
static const GDBusMethodInfo _synapse_purple_interface_dbus_method_info_purple_buddy_get_alias = {-1, "PurpleBuddyGetAlias", (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_purple_buddy_get_alias_in), (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_purple_buddy_get_alias_out), NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_purple_buddy_icon_get_full_path_icon = {-1, "icon", "i", NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_purple_buddy_icon_get_full_path_result = {-1, "result", "s", NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_purple_buddy_icon_get_full_path_in[] = {&_synapse_purple_interface_dbus_arg_info_purple_buddy_icon_get_full_path_icon, NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_purple_buddy_icon_get_full_path_out[] = {&_synapse_purple_interface_dbus_arg_info_purple_buddy_icon_get_full_path_result, NULL};
static const GDBusMethodInfo _synapse_purple_interface_dbus_method_info_purple_buddy_icon_get_full_path = {-1, "PurpleBuddyIconGetFullPath", (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_purple_buddy_icon_get_full_path_in), (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_purple_buddy_icon_get_full_path_out), NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_purple_buddy_get_icon_buddy = {-1, "buddy", "i", NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_purple_buddy_get_icon_result = {-1, "result", "i", NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_purple_buddy_get_icon_in[] = {&_synapse_purple_interface_dbus_arg_info_purple_buddy_get_icon_buddy, NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_purple_buddy_get_icon_out[] = {&_synapse_purple_interface_dbus_arg_info_purple_buddy_get_icon_result, NULL};
static const GDBusMethodInfo _synapse_purple_interface_dbus_method_info_purple_buddy_get_icon = {-1, "PurpleBuddyGetIcon", (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_purple_buddy_get_icon_in), (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_purple_buddy_get_icon_out), NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_purple_buddy_is_online_buddy = {-1, "buddy", "i", NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_purple_buddy_is_online_result = {-1, "result", "i", NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_purple_buddy_is_online_in[] = {&_synapse_purple_interface_dbus_arg_info_purple_buddy_is_online_buddy, NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_purple_buddy_is_online_out[] = {&_synapse_purple_interface_dbus_arg_info_purple_buddy_is_online_result, NULL};
static const GDBusMethodInfo _synapse_purple_interface_dbus_method_info_purple_buddy_is_online = {-1, "PurpleBuddyIsOnline", (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_purple_buddy_is_online_in), (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_purple_buddy_is_online_out), NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_purple_accounts_get_all_active_result = {-1, "result", "ai", NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_purple_accounts_get_all_active_in[] = {NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_purple_accounts_get_all_active_out[] = {&_synapse_purple_interface_dbus_arg_info_purple_accounts_get_all_active_result, NULL};
static const GDBusMethodInfo _synapse_purple_interface_dbus_method_info_purple_accounts_get_all_active = {-1, "PurpleAccountsGetAllActive", (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_purple_accounts_get_all_active_in), (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_purple_accounts_get_all_active_out), NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_purple_find_buddies_account = {-1, "account", "i", NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_purple_find_buddies_pattern = {-1, "pattern", "s", NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_purple_find_buddies_result = {-1, "result", "ai", NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_purple_find_buddies_in[] = {&_synapse_purple_interface_dbus_arg_info_purple_find_buddies_account, &_synapse_purple_interface_dbus_arg_info_purple_find_buddies_pattern, NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_purple_find_buddies_out[] = {&_synapse_purple_interface_dbus_arg_info_purple_find_buddies_result, NULL};
static const GDBusMethodInfo _synapse_purple_interface_dbus_method_info_purple_find_buddies = {-1, "PurpleFindBuddies", (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_purple_find_buddies_in), (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_purple_find_buddies_out), NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_purple_conversation_new_type = {-1, "type", "i", NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_purple_conversation_new_account = {-1, "account", "i", NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_purple_conversation_new_name = {-1, "name", "s", NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_purple_conversation_new_result = {-1, "result", "i", NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_purple_conversation_new_in[] = {&_synapse_purple_interface_dbus_arg_info_purple_conversation_new_type, &_synapse_purple_interface_dbus_arg_info_purple_conversation_new_account, &_synapse_purple_interface_dbus_arg_info_purple_conversation_new_name, NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_purple_conversation_new_out[] = {&_synapse_purple_interface_dbus_arg_info_purple_conversation_new_result, NULL};
static const GDBusMethodInfo _synapse_purple_interface_dbus_method_info_purple_conversation_new = {-1, "PurpleConversationNew", (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_purple_conversation_new_in), (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_purple_conversation_new_out), NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_purple_conversation_present_conv = {-1, "conv", "i", NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_purple_conversation_present_in[] = {&_synapse_purple_interface_dbus_arg_info_purple_conversation_present_conv, NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_purple_conversation_present_out[] = {NULL};
static const GDBusMethodInfo _synapse_purple_interface_dbus_method_info_purple_conversation_present = {-1, "PurpleConversationPresent", (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_purple_conversation_present_in), (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_purple_conversation_present_out), NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_purple_conv_im_conv = {-1, "conv", "i", NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_purple_conv_im_result = {-1, "result", "i", NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_purple_conv_im_in[] = {&_synapse_purple_interface_dbus_arg_info_purple_conv_im_conv, NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_purple_conv_im_out[] = {&_synapse_purple_interface_dbus_arg_info_purple_conv_im_result, NULL};
static const GDBusMethodInfo _synapse_purple_interface_dbus_method_info_purple_conv_im = {-1, "PurpleConvIm", (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_purple_conv_im_in), (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_purple_conv_im_out), NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_purple_conv_im_send_im = {-1, "im", "i", NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_purple_conv_im_send_mess = {-1, "mess", "s", NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_purple_conv_im_send_in[] = {&_synapse_purple_interface_dbus_arg_info_purple_conv_im_send_im, &_synapse_purple_interface_dbus_arg_info_purple_conv_im_send_mess, NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_purple_conv_im_send_out[] = {NULL};
static const GDBusMethodInfo _synapse_purple_interface_dbus_method_info_purple_conv_im_send = {-1, "PurpleConvImSend", (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_purple_conv_im_send_in), (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_purple_conv_im_send_out), NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_serv_send_file_conn = {-1, "conn", "i", NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_serv_send_file_who = {-1, "who", "s", NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_serv_send_file_file = {-1, "file", "s", NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_serv_send_file_in[] = {&_synapse_purple_interface_dbus_arg_info_serv_send_file_conn, &_synapse_purple_interface_dbus_arg_info_serv_send_file_who, &_synapse_purple_interface_dbus_arg_info_serv_send_file_file, NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_serv_send_file_out[] = {NULL};
static const GDBusMethodInfo _synapse_purple_interface_dbus_method_info_serv_send_file = {-1, "ServSendFile", (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_serv_send_file_in), (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_serv_send_file_out), NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_purple_account_get_connection_account = {-1, "account", "i", NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_purple_account_get_connection_result = {-1, "result", "i", NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_purple_account_get_connection_in[] = {&_synapse_purple_interface_dbus_arg_info_purple_account_get_connection_account, NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_purple_account_get_connection_out[] = {&_synapse_purple_interface_dbus_arg_info_purple_account_get_connection_result, NULL};
static const GDBusMethodInfo _synapse_purple_interface_dbus_method_info_purple_account_get_connection = {-1, "PurpleAccountGetConnection", (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_purple_account_get_connection_in), (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_purple_account_get_connection_out), NULL};
static const GDBusMethodInfo * const _synapse_purple_interface_dbus_method_info[] = {&_synapse_purple_interface_dbus_method_info_purple_account_get_protocol_name, &_synapse_purple_interface_dbus_method_info_purple_buddy_get_account, &_synapse_purple_interface_dbus_method_info_purple_buddy_get_name, &_synapse_purple_interface_dbus_method_info_purple_buddy_get_alias, &_synapse_purple_interface_dbus_method_info_purple_buddy_icon_get_full_path, &_synapse_purple_interface_dbus_method_info_purple_buddy_get_icon, &_synapse_purple_interface_dbus_method_info_purple_buddy_is_online, &_synapse_purple_interface_dbus_method_info_purple_accounts_get_all_active, &_synapse_purple_interface_dbus_method_info_purple_find_buddies, &_synapse_purple_interface_dbus_method_info_purple_conversation_new, &_synapse_purple_interface_dbus_method_info_purple_conversation_present, &_synapse_purple_interface_dbus_method_info_purple_conv_im, &_synapse_purple_interface_dbus_method_info_purple_conv_im_send, &_synapse_purple_interface_dbus_method_info_serv_send_file, &_synapse_purple_interface_dbus_method_info_purple_account_get_connection, NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_account_added_acc = {-1, "acc", "i", NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_account_added[] = {&_synapse_purple_interface_dbus_arg_info_account_added_acc, NULL};
static const GDBusSignalInfo _synapse_purple_interface_dbus_signal_info_account_added = {-1, "AccountAdded", (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_account_added), NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_account_removed_acc = {-1, "acc", "i", NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_account_removed[] = {&_synapse_purple_interface_dbus_arg_info_account_removed_acc, NULL};
static const GDBusSignalInfo _synapse_purple_interface_dbus_signal_info_account_removed = {-1, "AccountRemoved", (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_account_removed), NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_buddy_added_buddy = {-1, "buddy", "i", NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_buddy_added[] = {&_synapse_purple_interface_dbus_arg_info_buddy_added_buddy, NULL};
static const GDBusSignalInfo _synapse_purple_interface_dbus_signal_info_buddy_added = {-1, "BuddyAdded", (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_buddy_added), NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_buddy_removed_buddy = {-1, "buddy", "i", NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_buddy_removed[] = {&_synapse_purple_interface_dbus_arg_info_buddy_removed_buddy, NULL};
static const GDBusSignalInfo _synapse_purple_interface_dbus_signal_info_buddy_removed = {-1, "BuddyRemoved", (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_buddy_removed), NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_buddy_signed_on_buddy = {-1, "buddy", "i", NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_buddy_signed_on[] = {&_synapse_purple_interface_dbus_arg_info_buddy_signed_on_buddy, NULL};
static const GDBusSignalInfo _synapse_purple_interface_dbus_signal_info_buddy_signed_on = {-1, "BuddySignedOn", (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_buddy_signed_on), NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_buddy_signed_off_buddy = {-1, "buddy", "i", NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_buddy_signed_off[] = {&_synapse_purple_interface_dbus_arg_info_buddy_signed_off_buddy, NULL};
static const GDBusSignalInfo _synapse_purple_interface_dbus_signal_info_buddy_signed_off = {-1, "BuddySignedOff", (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_buddy_signed_off), NULL};
static const GDBusArgInfo _synapse_purple_interface_dbus_arg_info_buddy_icon_changed_buddy = {-1, "buddy", "i", NULL};
static const GDBusArgInfo * const _synapse_purple_interface_dbus_arg_info_buddy_icon_changed[] = {&_synapse_purple_interface_dbus_arg_info_buddy_icon_changed_buddy, NULL};
static const GDBusSignalInfo _synapse_purple_interface_dbus_signal_info_buddy_icon_changed = {-1, "BuddyIconChanged", (GDBusArgInfo **) (&_synapse_purple_interface_dbus_arg_info_buddy_icon_changed), NULL};
static const GDBusSignalInfo * const _synapse_purple_interface_dbus_signal_info[] = {&_synapse_purple_interface_dbus_signal_info_account_added, &_synapse_purple_interface_dbus_signal_info_account_removed, &_synapse_purple_interface_dbus_signal_info_buddy_added, &_synapse_purple_interface_dbus_signal_info_buddy_removed, &_synapse_purple_interface_dbus_signal_info_buddy_signed_on, &_synapse_purple_interface_dbus_signal_info_buddy_signed_off, &_synapse_purple_interface_dbus_signal_info_buddy_icon_changed, NULL};
static const GDBusPropertyInfo * const _synapse_purple_interface_dbus_property_info[] = {NULL};
static const GDBusInterfaceInfo _synapse_purple_interface_dbus_interface_info = {-1, "im.pidgin.purple.PurpleInterface", (GDBusMethodInfo **) (&_synapse_purple_interface_dbus_method_info), (GDBusSignalInfo **) (&_synapse_purple_interface_dbus_signal_info), (GDBusPropertyInfo **) (&_synapse_purple_interface_dbus_property_info), NULL};
static const GDBusInterfaceVTable _synapse_purple_interface_dbus_interface_vtable = {synapse_purple_interface_dbus_interface_method_call, synapse_purple_interface_dbus_interface_get_property, synapse_purple_interface_dbus_interface_set_property};

gchar*
synapse_purple_interface_purple_account_get_protocol_name (SynapsePurpleInterface* self,
                                                           gint account,
                                                           GError** error)
{
	SynapsePurpleInterfaceIface* _iface_;
#line 30 "pidgin-plugin.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 30 "pidgin-plugin.vala"
	_iface_ = SYNAPSE_PURPLE_INTERFACE_GET_INTERFACE (self);
#line 30 "pidgin-plugin.vala"
	if (_iface_->purple_account_get_protocol_name) {
#line 30 "pidgin-plugin.vala"
		return _iface_->purple_account_get_protocol_name (self, account, error);
#line 847 "pidgin-plugin.c"
	}
#line 30 "pidgin-plugin.vala"
	return NULL;
#line 851 "pidgin-plugin.c"
}

gint
synapse_purple_interface_purple_buddy_get_account (SynapsePurpleInterface* self,
                                                   gint buddy,
                                                   GError** error)
{
	SynapsePurpleInterfaceIface* _iface_;
#line 31 "pidgin-plugin.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 31 "pidgin-plugin.vala"
	_iface_ = SYNAPSE_PURPLE_INTERFACE_GET_INTERFACE (self);
#line 31 "pidgin-plugin.vala"
	if (_iface_->purple_buddy_get_account) {
#line 31 "pidgin-plugin.vala"
		return _iface_->purple_buddy_get_account (self, buddy, error);
#line 868 "pidgin-plugin.c"
	}
#line 31 "pidgin-plugin.vala"
	return -1;
#line 872 "pidgin-plugin.c"
}

gchar*
synapse_purple_interface_purple_buddy_get_name (SynapsePurpleInterface* self,
                                                gint buddy,
                                                GError** error)
{
	SynapsePurpleInterfaceIface* _iface_;
#line 32 "pidgin-plugin.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 32 "pidgin-plugin.vala"
	_iface_ = SYNAPSE_PURPLE_INTERFACE_GET_INTERFACE (self);
#line 32 "pidgin-plugin.vala"
	if (_iface_->purple_buddy_get_name) {
#line 32 "pidgin-plugin.vala"
		return _iface_->purple_buddy_get_name (self, buddy, error);
#line 889 "pidgin-plugin.c"
	}
#line 32 "pidgin-plugin.vala"
	return NULL;
#line 893 "pidgin-plugin.c"
}

gchar*
synapse_purple_interface_purple_buddy_get_alias (SynapsePurpleInterface* self,
                                                 gint buddy,
                                                 GError** error)
{
	SynapsePurpleInterfaceIface* _iface_;
#line 33 "pidgin-plugin.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 33 "pidgin-plugin.vala"
	_iface_ = SYNAPSE_PURPLE_INTERFACE_GET_INTERFACE (self);
#line 33 "pidgin-plugin.vala"
	if (_iface_->purple_buddy_get_alias) {
#line 33 "pidgin-plugin.vala"
		return _iface_->purple_buddy_get_alias (self, buddy, error);
#line 910 "pidgin-plugin.c"
	}
#line 33 "pidgin-plugin.vala"
	return NULL;
#line 914 "pidgin-plugin.c"
}

gchar*
synapse_purple_interface_purple_buddy_icon_get_full_path (SynapsePurpleInterface* self,
                                                          gint icon,
                                                          GError** error)
{
	SynapsePurpleInterfaceIface* _iface_;
#line 34 "pidgin-plugin.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 34 "pidgin-plugin.vala"
	_iface_ = SYNAPSE_PURPLE_INTERFACE_GET_INTERFACE (self);
#line 34 "pidgin-plugin.vala"
	if (_iface_->purple_buddy_icon_get_full_path) {
#line 34 "pidgin-plugin.vala"
		return _iface_->purple_buddy_icon_get_full_path (self, icon, error);
#line 931 "pidgin-plugin.c"
	}
#line 34 "pidgin-plugin.vala"
	return NULL;
#line 935 "pidgin-plugin.c"
}

gint
synapse_purple_interface_purple_buddy_get_icon (SynapsePurpleInterface* self,
                                                gint buddy,
                                                GError** error)
{
	SynapsePurpleInterfaceIface* _iface_;
#line 35 "pidgin-plugin.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 35 "pidgin-plugin.vala"
	_iface_ = SYNAPSE_PURPLE_INTERFACE_GET_INTERFACE (self);
#line 35 "pidgin-plugin.vala"
	if (_iface_->purple_buddy_get_icon) {
#line 35 "pidgin-plugin.vala"
		return _iface_->purple_buddy_get_icon (self, buddy, error);
#line 952 "pidgin-plugin.c"
	}
#line 35 "pidgin-plugin.vala"
	return -1;
#line 956 "pidgin-plugin.c"
}

gint
synapse_purple_interface_purple_buddy_is_online (SynapsePurpleInterface* self,
                                                 gint buddy,
                                                 GError** error)
{
	SynapsePurpleInterfaceIface* _iface_;
#line 36 "pidgin-plugin.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 36 "pidgin-plugin.vala"
	_iface_ = SYNAPSE_PURPLE_INTERFACE_GET_INTERFACE (self);
#line 36 "pidgin-plugin.vala"
	if (_iface_->purple_buddy_is_online) {
#line 36 "pidgin-plugin.vala"
		return _iface_->purple_buddy_is_online (self, buddy, error);
#line 973 "pidgin-plugin.c"
	}
#line 36 "pidgin-plugin.vala"
	return -1;
#line 977 "pidgin-plugin.c"
}

gint*
synapse_purple_interface_purple_accounts_get_all_active (SynapsePurpleInterface* self,
                                                         gint* result_length1,
                                                         GError** error)
{
	SynapsePurpleInterfaceIface* _iface_;
#line 38 "pidgin-plugin.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 38 "pidgin-plugin.vala"
	_iface_ = SYNAPSE_PURPLE_INTERFACE_GET_INTERFACE (self);
#line 38 "pidgin-plugin.vala"
	if (_iface_->purple_accounts_get_all_active) {
#line 38 "pidgin-plugin.vala"
		return _iface_->purple_accounts_get_all_active (self, result_length1, error);
#line 994 "pidgin-plugin.c"
	}
#line 38 "pidgin-plugin.vala"
	return NULL;
#line 998 "pidgin-plugin.c"
}

gint*
synapse_purple_interface_purple_find_buddies (SynapsePurpleInterface* self,
                                              gint account,
                                              const gchar* pattern,
                                              gint* result_length1,
                                              GError** error)
{
	SynapsePurpleInterfaceIface* _iface_;
#line 39 "pidgin-plugin.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 39 "pidgin-plugin.vala"
	_iface_ = SYNAPSE_PURPLE_INTERFACE_GET_INTERFACE (self);
#line 39 "pidgin-plugin.vala"
	if (_iface_->purple_find_buddies) {
#line 39 "pidgin-plugin.vala"
		return _iface_->purple_find_buddies (self, account, pattern, result_length1, error);
#line 1017 "pidgin-plugin.c"
	}
#line 39 "pidgin-plugin.vala"
	return NULL;
#line 1021 "pidgin-plugin.c"
}

gint
synapse_purple_interface_purple_conversation_new (SynapsePurpleInterface* self,
                                                  gint type,
                                                  gint account,
                                                  const gchar* name,
                                                  GError** error)
{
	SynapsePurpleInterfaceIface* _iface_;
#line 41 "pidgin-plugin.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 41 "pidgin-plugin.vala"
	_iface_ = SYNAPSE_PURPLE_INTERFACE_GET_INTERFACE (self);
#line 41 "pidgin-plugin.vala"
	if (_iface_->purple_conversation_new) {
#line 41 "pidgin-plugin.vala"
		return _iface_->purple_conversation_new (self, type, account, name, error);
#line 1040 "pidgin-plugin.c"
	}
#line 41 "pidgin-plugin.vala"
	return -1;
#line 1044 "pidgin-plugin.c"
}

void
synapse_purple_interface_purple_conversation_present (SynapsePurpleInterface* self,
                                                      gint conv,
                                                      GError** error)
{
	SynapsePurpleInterfaceIface* _iface_;
#line 42 "pidgin-plugin.vala"
	g_return_if_fail (self != NULL);
#line 42 "pidgin-plugin.vala"
	_iface_ = SYNAPSE_PURPLE_INTERFACE_GET_INTERFACE (self);
#line 42 "pidgin-plugin.vala"
	if (_iface_->purple_conversation_present) {
#line 42 "pidgin-plugin.vala"
		_iface_->purple_conversation_present (self, conv, error);
#line 1061 "pidgin-plugin.c"
	}
}

gint
synapse_purple_interface_purple_conv_im (SynapsePurpleInterface* self,
                                         gint conv,
                                         GError** error)
{
	SynapsePurpleInterfaceIface* _iface_;
#line 43 "pidgin-plugin.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 43 "pidgin-plugin.vala"
	_iface_ = SYNAPSE_PURPLE_INTERFACE_GET_INTERFACE (self);
#line 43 "pidgin-plugin.vala"
	if (_iface_->purple_conv_im) {
#line 43 "pidgin-plugin.vala"
		return _iface_->purple_conv_im (self, conv, error);
#line 1079 "pidgin-plugin.c"
	}
#line 43 "pidgin-plugin.vala"
	return -1;
#line 1083 "pidgin-plugin.c"
}

void
synapse_purple_interface_purple_conv_im_send (SynapsePurpleInterface* self,
                                              gint im,
                                              const gchar* mess,
                                              GError** error)
{
	SynapsePurpleInterfaceIface* _iface_;
#line 44 "pidgin-plugin.vala"
	g_return_if_fail (self != NULL);
#line 44 "pidgin-plugin.vala"
	_iface_ = SYNAPSE_PURPLE_INTERFACE_GET_INTERFACE (self);
#line 44 "pidgin-plugin.vala"
	if (_iface_->purple_conv_im_send) {
#line 44 "pidgin-plugin.vala"
		_iface_->purple_conv_im_send (self, im, mess, error);
#line 1101 "pidgin-plugin.c"
	}
}

void
synapse_purple_interface_serv_send_file (SynapsePurpleInterface* self,
                                         gint conn,
                                         const gchar* who,
                                         const gchar* file,
                                         GError** error)
{
	SynapsePurpleInterfaceIface* _iface_;
#line 54 "pidgin-plugin.vala"
	g_return_if_fail (self != NULL);
#line 54 "pidgin-plugin.vala"
	_iface_ = SYNAPSE_PURPLE_INTERFACE_GET_INTERFACE (self);
#line 54 "pidgin-plugin.vala"
	if (_iface_->serv_send_file) {
#line 54 "pidgin-plugin.vala"
		_iface_->serv_send_file (self, conn, who, file, error);
#line 1121 "pidgin-plugin.c"
	}
}

gint
synapse_purple_interface_purple_account_get_connection (SynapsePurpleInterface* self,
                                                        gint account,
                                                        GError** error)
{
	SynapsePurpleInterfaceIface* _iface_;
#line 55 "pidgin-plugin.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 55 "pidgin-plugin.vala"
	_iface_ = SYNAPSE_PURPLE_INTERFACE_GET_INTERFACE (self);
#line 55 "pidgin-plugin.vala"
	if (_iface_->purple_account_get_connection) {
#line 55 "pidgin-plugin.vala"
		return _iface_->purple_account_get_connection (self, account, error);
#line 1139 "pidgin-plugin.c"
	}
#line 55 "pidgin-plugin.vala"
	return -1;
#line 1143 "pidgin-plugin.c"
}

static void
synapse_purple_interface_default_init (SynapsePurpleInterfaceIface * iface,
                                       gpointer iface_data)
{
#line 26 "pidgin-plugin.vala"
	synapse_purple_interface_signals[SYNAPSE_PURPLE_INTERFACE_ACCOUNT_ADDED_SIGNAL] = g_signal_new ("account-added", SYNAPSE_TYPE_PURPLE_INTERFACE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__INT, G_TYPE_NONE, 1, G_TYPE_INT);
#line 26 "pidgin-plugin.vala"
	synapse_purple_interface_signals[SYNAPSE_PURPLE_INTERFACE_ACCOUNT_REMOVED_SIGNAL] = g_signal_new ("account-removed", SYNAPSE_TYPE_PURPLE_INTERFACE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__INT, G_TYPE_NONE, 1, G_TYPE_INT);
#line 26 "pidgin-plugin.vala"
	synapse_purple_interface_signals[SYNAPSE_PURPLE_INTERFACE_BUDDY_ADDED_SIGNAL] = g_signal_new ("buddy-added", SYNAPSE_TYPE_PURPLE_INTERFACE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__INT, G_TYPE_NONE, 1, G_TYPE_INT);
#line 26 "pidgin-plugin.vala"
	synapse_purple_interface_signals[SYNAPSE_PURPLE_INTERFACE_BUDDY_REMOVED_SIGNAL] = g_signal_new ("buddy-removed", SYNAPSE_TYPE_PURPLE_INTERFACE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__INT, G_TYPE_NONE, 1, G_TYPE_INT);
#line 26 "pidgin-plugin.vala"
	synapse_purple_interface_signals[SYNAPSE_PURPLE_INTERFACE_BUDDY_SIGNED_ON_SIGNAL] = g_signal_new ("buddy-signed-on", SYNAPSE_TYPE_PURPLE_INTERFACE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__INT, G_TYPE_NONE, 1, G_TYPE_INT);
#line 26 "pidgin-plugin.vala"
	synapse_purple_interface_signals[SYNAPSE_PURPLE_INTERFACE_BUDDY_SIGNED_OFF_SIGNAL] = g_signal_new ("buddy-signed-off", SYNAPSE_TYPE_PURPLE_INTERFACE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__INT, G_TYPE_NONE, 1, G_TYPE_INT);
#line 26 "pidgin-plugin.vala"
	synapse_purple_interface_signals[SYNAPSE_PURPLE_INTERFACE_BUDDY_ICON_CHANGED_SIGNAL] = g_signal_new ("buddy-icon-changed", SYNAPSE_TYPE_PURPLE_INTERFACE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__INT, G_TYPE_NONE, 1, G_TYPE_INT);
#line 1164 "pidgin-plugin.c"
}

static GType
synapse_purple_interface_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SynapsePurpleInterfaceIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) synapse_purple_interface_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
	GType synapse_purple_interface_type_id;
	synapse_purple_interface_type_id = g_type_register_static (G_TYPE_INTERFACE, "SynapsePurpleInterface", &g_define_type_info, 0);
	g_type_interface_add_prerequisite (synapse_purple_interface_type_id, G_TYPE_OBJECT);
	g_type_set_qdata (synapse_purple_interface_type_id, g_quark_from_static_string ("vala-dbus-proxy-type"), (void*) synapse_purple_interface_proxy_get_type);
	g_type_set_qdata (synapse_purple_interface_type_id, g_quark_from_static_string ("vala-dbus-interface-name"), "im.pidgin.purple.PurpleInterface");
	g_type_set_qdata (synapse_purple_interface_type_id, g_quark_from_static_string ("vala-dbus-interface-info"), (void*) (&_synapse_purple_interface_dbus_interface_info));
	g_type_set_qdata (synapse_purple_interface_type_id, g_quark_from_static_string ("vala-dbus-register-object"), (void*) synapse_purple_interface_register_object);
	return synapse_purple_interface_type_id;
}

GType
synapse_purple_interface_get_type (void)
{
	static volatile gsize synapse_purple_interface_type_id__once = 0;
	if (g_once_init_enter (&synapse_purple_interface_type_id__once)) {
		GType synapse_purple_interface_type_id;
		synapse_purple_interface_type_id = synapse_purple_interface_get_type_once ();
		g_once_init_leave (&synapse_purple_interface_type_id__once, synapse_purple_interface_type_id);
	}
	return synapse_purple_interface_type_id__once;
}

G_DEFINE_TYPE_EXTENDED (SynapsePurpleInterfaceProxy, synapse_purple_interface_proxy, G_TYPE_DBUS_PROXY, 0, G_IMPLEMENT_INTERFACE (SYNAPSE_TYPE_PURPLE_INTERFACE, synapse_purple_interface_proxy_synapse_purple_interface_interface_init) )
static void
synapse_purple_interface_proxy_class_init (SynapsePurpleInterfaceProxyClass* klass)
{
#line 24 "pastebin-plugin.vala"
	G_DBUS_PROXY_CLASS (klass)->g_signal = synapse_purple_interface_proxy_g_signal;
#line 1199 "pidgin-plugin.c"
}

static void
_dbus_handle_synapse_purple_interface_account_added (SynapsePurpleInterface* self,
                                                     GVariant* parameters)
{
	GVariantIter _arguments_iter;
	gint acc = 0;
	GVariant* _tmp9_;
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_arguments_iter, parameters);
#line 24 "pastebin-plugin.vala"
	_tmp9_ = g_variant_iter_next_value (&_arguments_iter);
#line 24 "pastebin-plugin.vala"
	acc = g_variant_get_int32 (_tmp9_);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp9_);
#line 24 "pastebin-plugin.vala"
	g_signal_emit_by_name (self, "account-added", acc);
#line 1219 "pidgin-plugin.c"
}

static void
_dbus_handle_synapse_purple_interface_account_removed (SynapsePurpleInterface* self,
                                                       GVariant* parameters)
{
	GVariantIter _arguments_iter;
	gint acc = 0;
	GVariant* _tmp10_;
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_arguments_iter, parameters);
#line 24 "pastebin-plugin.vala"
	_tmp10_ = g_variant_iter_next_value (&_arguments_iter);
#line 24 "pastebin-plugin.vala"
	acc = g_variant_get_int32 (_tmp10_);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp10_);
#line 24 "pastebin-plugin.vala"
	g_signal_emit_by_name (self, "account-removed", acc);
#line 1239 "pidgin-plugin.c"
}

static void
_dbus_handle_synapse_purple_interface_buddy_added (SynapsePurpleInterface* self,
                                                   GVariant* parameters)
{
	GVariantIter _arguments_iter;
	gint buddy = 0;
	GVariant* _tmp11_;
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_arguments_iter, parameters);
#line 24 "pastebin-plugin.vala"
	_tmp11_ = g_variant_iter_next_value (&_arguments_iter);
#line 24 "pastebin-plugin.vala"
	buddy = g_variant_get_int32 (_tmp11_);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp11_);
#line 24 "pastebin-plugin.vala"
	g_signal_emit_by_name (self, "buddy-added", buddy);
#line 1259 "pidgin-plugin.c"
}

static void
_dbus_handle_synapse_purple_interface_buddy_removed (SynapsePurpleInterface* self,
                                                     GVariant* parameters)
{
	GVariantIter _arguments_iter;
	gint buddy = 0;
	GVariant* _tmp12_;
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_arguments_iter, parameters);
#line 24 "pastebin-plugin.vala"
	_tmp12_ = g_variant_iter_next_value (&_arguments_iter);
#line 24 "pastebin-plugin.vala"
	buddy = g_variant_get_int32 (_tmp12_);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp12_);
#line 24 "pastebin-plugin.vala"
	g_signal_emit_by_name (self, "buddy-removed", buddy);
#line 1279 "pidgin-plugin.c"
}

static void
_dbus_handle_synapse_purple_interface_buddy_signed_on (SynapsePurpleInterface* self,
                                                       GVariant* parameters)
{
	GVariantIter _arguments_iter;
	gint buddy = 0;
	GVariant* _tmp13_;
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_arguments_iter, parameters);
#line 24 "pastebin-plugin.vala"
	_tmp13_ = g_variant_iter_next_value (&_arguments_iter);
#line 24 "pastebin-plugin.vala"
	buddy = g_variant_get_int32 (_tmp13_);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp13_);
#line 24 "pastebin-plugin.vala"
	g_signal_emit_by_name (self, "buddy-signed-on", buddy);
#line 1299 "pidgin-plugin.c"
}

static void
_dbus_handle_synapse_purple_interface_buddy_signed_off (SynapsePurpleInterface* self,
                                                        GVariant* parameters)
{
	GVariantIter _arguments_iter;
	gint buddy = 0;
	GVariant* _tmp14_;
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_arguments_iter, parameters);
#line 24 "pastebin-plugin.vala"
	_tmp14_ = g_variant_iter_next_value (&_arguments_iter);
#line 24 "pastebin-plugin.vala"
	buddy = g_variant_get_int32 (_tmp14_);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp14_);
#line 24 "pastebin-plugin.vala"
	g_signal_emit_by_name (self, "buddy-signed-off", buddy);
#line 1319 "pidgin-plugin.c"
}

static void
_dbus_handle_synapse_purple_interface_buddy_icon_changed (SynapsePurpleInterface* self,
                                                          GVariant* parameters)
{
	GVariantIter _arguments_iter;
	gint buddy = 0;
	GVariant* _tmp15_;
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_arguments_iter, parameters);
#line 24 "pastebin-plugin.vala"
	_tmp15_ = g_variant_iter_next_value (&_arguments_iter);
#line 24 "pastebin-plugin.vala"
	buddy = g_variant_get_int32 (_tmp15_);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp15_);
#line 24 "pastebin-plugin.vala"
	g_signal_emit_by_name (self, "buddy-icon-changed", buddy);
#line 1339 "pidgin-plugin.c"
}

static void
synapse_purple_interface_proxy_g_signal (GDBusProxy* proxy,
                                         const gchar* sender_name,
                                         const gchar* signal_name,
                                         GVariant* parameters)
{
#line 24 "pastebin-plugin.vala"
	if (strcmp (signal_name, "AccountAdded") == 0) {
#line 24 "pastebin-plugin.vala"
		_dbus_handle_synapse_purple_interface_account_added ((SynapsePurpleInterface*) proxy, parameters);
#line 1352 "pidgin-plugin.c"
	} else if (strcmp (signal_name, "AccountRemoved") == 0) {
#line 24 "pastebin-plugin.vala"
		_dbus_handle_synapse_purple_interface_account_removed ((SynapsePurpleInterface*) proxy, parameters);
#line 1356 "pidgin-plugin.c"
	} else if (strcmp (signal_name, "BuddyAdded") == 0) {
#line 24 "pastebin-plugin.vala"
		_dbus_handle_synapse_purple_interface_buddy_added ((SynapsePurpleInterface*) proxy, parameters);
#line 1360 "pidgin-plugin.c"
	} else if (strcmp (signal_name, "BuddyRemoved") == 0) {
#line 24 "pastebin-plugin.vala"
		_dbus_handle_synapse_purple_interface_buddy_removed ((SynapsePurpleInterface*) proxy, parameters);
#line 1364 "pidgin-plugin.c"
	} else if (strcmp (signal_name, "BuddySignedOn") == 0) {
#line 24 "pastebin-plugin.vala"
		_dbus_handle_synapse_purple_interface_buddy_signed_on ((SynapsePurpleInterface*) proxy, parameters);
#line 1368 "pidgin-plugin.c"
	} else if (strcmp (signal_name, "BuddySignedOff") == 0) {
#line 24 "pastebin-plugin.vala"
		_dbus_handle_synapse_purple_interface_buddy_signed_off ((SynapsePurpleInterface*) proxy, parameters);
#line 1372 "pidgin-plugin.c"
	} else if (strcmp (signal_name, "BuddyIconChanged") == 0) {
#line 24 "pastebin-plugin.vala"
		_dbus_handle_synapse_purple_interface_buddy_icon_changed ((SynapsePurpleInterface*) proxy, parameters);
#line 1376 "pidgin-plugin.c"
	}
}

static void
synapse_purple_interface_proxy_init (SynapsePurpleInterfaceProxy* self)
{
#line 24 "pastebin-plugin.vala"
	g_dbus_proxy_set_interface_info (G_DBUS_PROXY (self), (GDBusInterfaceInfo *) (&_synapse_purple_interface_dbus_interface_info));
#line 1385 "pidgin-plugin.c"
}

static gchar*
synapse_purple_interface_proxy_purple_account_get_protocol_name (SynapsePurpleInterface* self,
                                                                 gint account,
                                                                 GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	gchar* _result = NULL;
	GVariant* _tmp16_;
#line 24 "pastebin-plugin.vala"
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "im.pidgin.purple.PurpleInterface", "PurpleAccountGetProtocolName");
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (account));
#line 24 "pastebin-plugin.vala"
	_arguments = g_variant_builder_end (&_arguments_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_message_set_body (_message, _arguments);
#line 24 "pastebin-plugin.vala"
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_message);
#line 24 "pastebin-plugin.vala"
	if (!_reply_message) {
#line 24 "pastebin-plugin.vala"
		return NULL;
#line 1419 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	if (g_dbus_message_to_gerror (_reply_message, error)) {
#line 24 "pastebin-plugin.vala"
		g_object_unref (_reply_message);
#line 24 "pastebin-plugin.vala"
		return NULL;
#line 1427 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	_reply = g_dbus_message_get_body (_reply_message);
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_reply_iter, _reply);
#line 24 "pastebin-plugin.vala"
	_tmp16_ = g_variant_iter_next_value (&_reply_iter);
#line 24 "pastebin-plugin.vala"
	_result = g_variant_dup_string (_tmp16_, NULL);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp16_);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_reply_message);
#line 24 "pastebin-plugin.vala"
	return _result;
#line 1443 "pidgin-plugin.c"
}

static gint
synapse_purple_interface_proxy_purple_buddy_get_account (SynapsePurpleInterface* self,
                                                         gint buddy,
                                                         GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	gint _result = 0;
	GVariant* _tmp19_;
#line 24 "pastebin-plugin.vala"
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "im.pidgin.purple.PurpleInterface", "PurpleBuddyGetAccount");
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (buddy));
#line 24 "pastebin-plugin.vala"
	_arguments = g_variant_builder_end (&_arguments_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_message_set_body (_message, _arguments);
#line 24 "pastebin-plugin.vala"
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_message);
#line 24 "pastebin-plugin.vala"
	if (!_reply_message) {
#line 1475 "pidgin-plugin.c"
		gint _tmp17_ = 0;
#line 24 "pastebin-plugin.vala"
		return _tmp17_;
#line 1479 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	if (g_dbus_message_to_gerror (_reply_message, error)) {
#line 1483 "pidgin-plugin.c"
		gint _tmp18_ = 0;
#line 24 "pastebin-plugin.vala"
		g_object_unref (_reply_message);
#line 24 "pastebin-plugin.vala"
		return _tmp18_;
#line 1489 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	_reply = g_dbus_message_get_body (_reply_message);
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_reply_iter, _reply);
#line 24 "pastebin-plugin.vala"
	_tmp19_ = g_variant_iter_next_value (&_reply_iter);
#line 24 "pastebin-plugin.vala"
	_result = g_variant_get_int32 (_tmp19_);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp19_);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_reply_message);
#line 24 "pastebin-plugin.vala"
	return _result;
#line 1505 "pidgin-plugin.c"
}

static gchar*
synapse_purple_interface_proxy_purple_buddy_get_name (SynapsePurpleInterface* self,
                                                      gint buddy,
                                                      GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	gchar* _result = NULL;
	GVariant* _tmp20_;
#line 24 "pastebin-plugin.vala"
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "im.pidgin.purple.PurpleInterface", "PurpleBuddyGetName");
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (buddy));
#line 24 "pastebin-plugin.vala"
	_arguments = g_variant_builder_end (&_arguments_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_message_set_body (_message, _arguments);
#line 24 "pastebin-plugin.vala"
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_message);
#line 24 "pastebin-plugin.vala"
	if (!_reply_message) {
#line 24 "pastebin-plugin.vala"
		return NULL;
#line 1539 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	if (g_dbus_message_to_gerror (_reply_message, error)) {
#line 24 "pastebin-plugin.vala"
		g_object_unref (_reply_message);
#line 24 "pastebin-plugin.vala"
		return NULL;
#line 1547 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	_reply = g_dbus_message_get_body (_reply_message);
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_reply_iter, _reply);
#line 24 "pastebin-plugin.vala"
	_tmp20_ = g_variant_iter_next_value (&_reply_iter);
#line 24 "pastebin-plugin.vala"
	_result = g_variant_dup_string (_tmp20_, NULL);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp20_);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_reply_message);
#line 24 "pastebin-plugin.vala"
	return _result;
#line 1563 "pidgin-plugin.c"
}

static gchar*
synapse_purple_interface_proxy_purple_buddy_get_alias (SynapsePurpleInterface* self,
                                                       gint buddy,
                                                       GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	gchar* _result = NULL;
	GVariant* _tmp21_;
#line 24 "pastebin-plugin.vala"
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "im.pidgin.purple.PurpleInterface", "PurpleBuddyGetAlias");
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (buddy));
#line 24 "pastebin-plugin.vala"
	_arguments = g_variant_builder_end (&_arguments_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_message_set_body (_message, _arguments);
#line 24 "pastebin-plugin.vala"
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_message);
#line 24 "pastebin-plugin.vala"
	if (!_reply_message) {
#line 24 "pastebin-plugin.vala"
		return NULL;
#line 1597 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	if (g_dbus_message_to_gerror (_reply_message, error)) {
#line 24 "pastebin-plugin.vala"
		g_object_unref (_reply_message);
#line 24 "pastebin-plugin.vala"
		return NULL;
#line 1605 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	_reply = g_dbus_message_get_body (_reply_message);
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_reply_iter, _reply);
#line 24 "pastebin-plugin.vala"
	_tmp21_ = g_variant_iter_next_value (&_reply_iter);
#line 24 "pastebin-plugin.vala"
	_result = g_variant_dup_string (_tmp21_, NULL);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp21_);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_reply_message);
#line 24 "pastebin-plugin.vala"
	return _result;
#line 1621 "pidgin-plugin.c"
}

static gchar*
synapse_purple_interface_proxy_purple_buddy_icon_get_full_path (SynapsePurpleInterface* self,
                                                                gint icon,
                                                                GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	gchar* _result = NULL;
	GVariant* _tmp22_;
#line 24 "pastebin-plugin.vala"
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "im.pidgin.purple.PurpleInterface", "PurpleBuddyIconGetFullPath");
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (icon));
#line 24 "pastebin-plugin.vala"
	_arguments = g_variant_builder_end (&_arguments_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_message_set_body (_message, _arguments);
#line 24 "pastebin-plugin.vala"
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_message);
#line 24 "pastebin-plugin.vala"
	if (!_reply_message) {
#line 24 "pastebin-plugin.vala"
		return NULL;
#line 1655 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	if (g_dbus_message_to_gerror (_reply_message, error)) {
#line 24 "pastebin-plugin.vala"
		g_object_unref (_reply_message);
#line 24 "pastebin-plugin.vala"
		return NULL;
#line 1663 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	_reply = g_dbus_message_get_body (_reply_message);
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_reply_iter, _reply);
#line 24 "pastebin-plugin.vala"
	_tmp22_ = g_variant_iter_next_value (&_reply_iter);
#line 24 "pastebin-plugin.vala"
	_result = g_variant_dup_string (_tmp22_, NULL);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp22_);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_reply_message);
#line 24 "pastebin-plugin.vala"
	return _result;
#line 1679 "pidgin-plugin.c"
}

static gint
synapse_purple_interface_proxy_purple_buddy_get_icon (SynapsePurpleInterface* self,
                                                      gint buddy,
                                                      GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	gint _result = 0;
	GVariant* _tmp25_;
#line 24 "pastebin-plugin.vala"
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "im.pidgin.purple.PurpleInterface", "PurpleBuddyGetIcon");
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (buddy));
#line 24 "pastebin-plugin.vala"
	_arguments = g_variant_builder_end (&_arguments_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_message_set_body (_message, _arguments);
#line 24 "pastebin-plugin.vala"
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_message);
#line 24 "pastebin-plugin.vala"
	if (!_reply_message) {
#line 1711 "pidgin-plugin.c"
		gint _tmp23_ = 0;
#line 24 "pastebin-plugin.vala"
		return _tmp23_;
#line 1715 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	if (g_dbus_message_to_gerror (_reply_message, error)) {
#line 1719 "pidgin-plugin.c"
		gint _tmp24_ = 0;
#line 24 "pastebin-plugin.vala"
		g_object_unref (_reply_message);
#line 24 "pastebin-plugin.vala"
		return _tmp24_;
#line 1725 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	_reply = g_dbus_message_get_body (_reply_message);
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_reply_iter, _reply);
#line 24 "pastebin-plugin.vala"
	_tmp25_ = g_variant_iter_next_value (&_reply_iter);
#line 24 "pastebin-plugin.vala"
	_result = g_variant_get_int32 (_tmp25_);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp25_);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_reply_message);
#line 24 "pastebin-plugin.vala"
	return _result;
#line 1741 "pidgin-plugin.c"
}

static gint
synapse_purple_interface_proxy_purple_buddy_is_online (SynapsePurpleInterface* self,
                                                       gint buddy,
                                                       GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	gint _result = 0;
	GVariant* _tmp28_;
#line 24 "pastebin-plugin.vala"
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "im.pidgin.purple.PurpleInterface", "PurpleBuddyIsOnline");
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (buddy));
#line 24 "pastebin-plugin.vala"
	_arguments = g_variant_builder_end (&_arguments_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_message_set_body (_message, _arguments);
#line 24 "pastebin-plugin.vala"
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_message);
#line 24 "pastebin-plugin.vala"
	if (!_reply_message) {
#line 1773 "pidgin-plugin.c"
		gint _tmp26_ = 0;
#line 24 "pastebin-plugin.vala"
		return _tmp26_;
#line 1777 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	if (g_dbus_message_to_gerror (_reply_message, error)) {
#line 1781 "pidgin-plugin.c"
		gint _tmp27_ = 0;
#line 24 "pastebin-plugin.vala"
		g_object_unref (_reply_message);
#line 24 "pastebin-plugin.vala"
		return _tmp27_;
#line 1787 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	_reply = g_dbus_message_get_body (_reply_message);
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_reply_iter, _reply);
#line 24 "pastebin-plugin.vala"
	_tmp28_ = g_variant_iter_next_value (&_reply_iter);
#line 24 "pastebin-plugin.vala"
	_result = g_variant_get_int32 (_tmp28_);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp28_);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_reply_message);
#line 24 "pastebin-plugin.vala"
	return _result;
#line 1803 "pidgin-plugin.c"
}

static gint*
synapse_purple_interface_proxy_purple_accounts_get_all_active (SynapsePurpleInterface* self,
                                                               gint* result_length1,
                                                               GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	gint* _result = NULL;
	gint _result_length1;
	GVariant* _tmp29_;
	gint* _tmp30_;
	gint _tmp30__length;
	gint _tmp30__size;
	gint _tmp30__length1;
	GVariantIter _tmp31_;
	GVariant* _tmp32_;
#line 24 "pastebin-plugin.vala"
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "im.pidgin.purple.PurpleInterface", "PurpleAccountsGetAllActive");
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	_arguments = g_variant_builder_end (&_arguments_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_message_set_body (_message, _arguments);
#line 24 "pastebin-plugin.vala"
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_message);
#line 24 "pastebin-plugin.vala"
	if (!_reply_message) {
#line 24 "pastebin-plugin.vala"
		return NULL;
#line 1842 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	if (g_dbus_message_to_gerror (_reply_message, error)) {
#line 24 "pastebin-plugin.vala"
		g_object_unref (_reply_message);
#line 24 "pastebin-plugin.vala"
		return NULL;
#line 1850 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	_reply = g_dbus_message_get_body (_reply_message);
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_reply_iter, _reply);
#line 1856 "pidgin-plugin.c"
	_result_length1 = 0;
#line 24 "pastebin-plugin.vala"
	_tmp29_ = g_variant_iter_next_value (&_reply_iter);
#line 1860 "pidgin-plugin.c"
	_tmp30_ = g_new (gint, 5);
	_tmp30__length = 0;
	_tmp30__size = 4;
	_tmp30__length1 = 0;
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_tmp31_, _tmp29_);
#line 24 "pastebin-plugin.vala"
	for (; (_tmp32_ = g_variant_iter_next_value (&_tmp31_)) != NULL; _tmp30__length1++) {
#line 24 "pastebin-plugin.vala"
		if (_tmp30__size == _tmp30__length) {
#line 24 "pastebin-plugin.vala"
			_tmp30__size = 2 * _tmp30__size;
#line 24 "pastebin-plugin.vala"
			_tmp30_ = g_renew (gint, _tmp30_, _tmp30__size + 1);
#line 1875 "pidgin-plugin.c"
		}
#line 24 "pastebin-plugin.vala"
		_tmp30_[_tmp30__length++] = g_variant_get_int32 (_tmp32_);
#line 24 "pastebin-plugin.vala"
		g_variant_unref (_tmp32_);
#line 1881 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	_result_length1 = _tmp30__length1;
#line 24 "pastebin-plugin.vala"
	_result = _tmp30_;
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp29_);
#line 24 "pastebin-plugin.vala"
	*result_length1 = _result_length1;
#line 24 "pastebin-plugin.vala"
	g_object_unref (_reply_message);
#line 24 "pastebin-plugin.vala"
	return _result;
#line 1895 "pidgin-plugin.c"
}

static gint*
synapse_purple_interface_proxy_purple_find_buddies (SynapsePurpleInterface* self,
                                                    gint account,
                                                    const gchar* pattern,
                                                    gint* result_length1,
                                                    GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	gint* _result = NULL;
	gint _result_length1;
	GVariant* _tmp33_;
	gint* _tmp34_;
	gint _tmp34__length;
	gint _tmp34__size;
	gint _tmp34__length1;
	GVariantIter _tmp35_;
	GVariant* _tmp36_;
#line 24 "pastebin-plugin.vala"
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "im.pidgin.purple.PurpleInterface", "PurpleFindBuddies");
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (account));
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (pattern));
#line 24 "pastebin-plugin.vala"
	_arguments = g_variant_builder_end (&_arguments_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_message_set_body (_message, _arguments);
#line 24 "pastebin-plugin.vala"
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_message);
#line 24 "pastebin-plugin.vala"
	if (!_reply_message) {
#line 24 "pastebin-plugin.vala"
		return NULL;
#line 1940 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	if (g_dbus_message_to_gerror (_reply_message, error)) {
#line 24 "pastebin-plugin.vala"
		g_object_unref (_reply_message);
#line 24 "pastebin-plugin.vala"
		return NULL;
#line 1948 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	_reply = g_dbus_message_get_body (_reply_message);
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_reply_iter, _reply);
#line 1954 "pidgin-plugin.c"
	_result_length1 = 0;
#line 24 "pastebin-plugin.vala"
	_tmp33_ = g_variant_iter_next_value (&_reply_iter);
#line 1958 "pidgin-plugin.c"
	_tmp34_ = g_new (gint, 5);
	_tmp34__length = 0;
	_tmp34__size = 4;
	_tmp34__length1 = 0;
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_tmp35_, _tmp33_);
#line 24 "pastebin-plugin.vala"
	for (; (_tmp36_ = g_variant_iter_next_value (&_tmp35_)) != NULL; _tmp34__length1++) {
#line 24 "pastebin-plugin.vala"
		if (_tmp34__size == _tmp34__length) {
#line 24 "pastebin-plugin.vala"
			_tmp34__size = 2 * _tmp34__size;
#line 24 "pastebin-plugin.vala"
			_tmp34_ = g_renew (gint, _tmp34_, _tmp34__size + 1);
#line 1973 "pidgin-plugin.c"
		}
#line 24 "pastebin-plugin.vala"
		_tmp34_[_tmp34__length++] = g_variant_get_int32 (_tmp36_);
#line 24 "pastebin-plugin.vala"
		g_variant_unref (_tmp36_);
#line 1979 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	_result_length1 = _tmp34__length1;
#line 24 "pastebin-plugin.vala"
	_result = _tmp34_;
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp33_);
#line 24 "pastebin-plugin.vala"
	*result_length1 = _result_length1;
#line 24 "pastebin-plugin.vala"
	g_object_unref (_reply_message);
#line 24 "pastebin-plugin.vala"
	return _result;
#line 1993 "pidgin-plugin.c"
}

static gint
synapse_purple_interface_proxy_purple_conversation_new (SynapsePurpleInterface* self,
                                                        gint type,
                                                        gint account,
                                                        const gchar* name,
                                                        GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	gint _result = 0;
	GVariant* _tmp39_;
#line 24 "pastebin-plugin.vala"
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "im.pidgin.purple.PurpleInterface", "PurpleConversationNew");
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (type));
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (account));
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (name));
#line 24 "pastebin-plugin.vala"
	_arguments = g_variant_builder_end (&_arguments_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_message_set_body (_message, _arguments);
#line 24 "pastebin-plugin.vala"
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_message);
#line 24 "pastebin-plugin.vala"
	if (!_reply_message) {
#line 2031 "pidgin-plugin.c"
		gint _tmp37_ = 0;
#line 24 "pastebin-plugin.vala"
		return _tmp37_;
#line 2035 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	if (g_dbus_message_to_gerror (_reply_message, error)) {
#line 2039 "pidgin-plugin.c"
		gint _tmp38_ = 0;
#line 24 "pastebin-plugin.vala"
		g_object_unref (_reply_message);
#line 24 "pastebin-plugin.vala"
		return _tmp38_;
#line 2045 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	_reply = g_dbus_message_get_body (_reply_message);
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_reply_iter, _reply);
#line 24 "pastebin-plugin.vala"
	_tmp39_ = g_variant_iter_next_value (&_reply_iter);
#line 24 "pastebin-plugin.vala"
	_result = g_variant_get_int32 (_tmp39_);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp39_);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_reply_message);
#line 24 "pastebin-plugin.vala"
	return _result;
#line 2061 "pidgin-plugin.c"
}

static void
synapse_purple_interface_proxy_purple_conversation_present (SynapsePurpleInterface* self,
                                                            gint conv,
                                                            GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
#line 24 "pastebin-plugin.vala"
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "im.pidgin.purple.PurpleInterface", "PurpleConversationPresent");
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (conv));
#line 24 "pastebin-plugin.vala"
	_arguments = g_variant_builder_end (&_arguments_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_message_set_body (_message, _arguments);
#line 24 "pastebin-plugin.vala"
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_message);
#line 24 "pastebin-plugin.vala"
	if (!_reply_message) {
#line 24 "pastebin-plugin.vala"
		return;
#line 2091 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	if (g_dbus_message_to_gerror (_reply_message, error)) {
#line 24 "pastebin-plugin.vala"
		g_object_unref (_reply_message);
#line 24 "pastebin-plugin.vala"
		return;
#line 2099 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	g_object_unref (_reply_message);
#line 2103 "pidgin-plugin.c"
}

static gint
synapse_purple_interface_proxy_purple_conv_im (SynapsePurpleInterface* self,
                                               gint conv,
                                               GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	gint _result = 0;
	GVariant* _tmp42_;
#line 24 "pastebin-plugin.vala"
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "im.pidgin.purple.PurpleInterface", "PurpleConvIm");
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (conv));
#line 24 "pastebin-plugin.vala"
	_arguments = g_variant_builder_end (&_arguments_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_message_set_body (_message, _arguments);
#line 24 "pastebin-plugin.vala"
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_message);
#line 24 "pastebin-plugin.vala"
	if (!_reply_message) {
#line 2135 "pidgin-plugin.c"
		gint _tmp40_ = 0;
#line 24 "pastebin-plugin.vala"
		return _tmp40_;
#line 2139 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	if (g_dbus_message_to_gerror (_reply_message, error)) {
#line 2143 "pidgin-plugin.c"
		gint _tmp41_ = 0;
#line 24 "pastebin-plugin.vala"
		g_object_unref (_reply_message);
#line 24 "pastebin-plugin.vala"
		return _tmp41_;
#line 2149 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	_reply = g_dbus_message_get_body (_reply_message);
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_reply_iter, _reply);
#line 24 "pastebin-plugin.vala"
	_tmp42_ = g_variant_iter_next_value (&_reply_iter);
#line 24 "pastebin-plugin.vala"
	_result = g_variant_get_int32 (_tmp42_);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp42_);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_reply_message);
#line 24 "pastebin-plugin.vala"
	return _result;
#line 2165 "pidgin-plugin.c"
}

static void
synapse_purple_interface_proxy_purple_conv_im_send (SynapsePurpleInterface* self,
                                                    gint im,
                                                    const gchar* mess,
                                                    GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
#line 24 "pastebin-plugin.vala"
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "im.pidgin.purple.PurpleInterface", "PurpleConvImSend");
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (im));
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (mess));
#line 24 "pastebin-plugin.vala"
	_arguments = g_variant_builder_end (&_arguments_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_message_set_body (_message, _arguments);
#line 24 "pastebin-plugin.vala"
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_message);
#line 24 "pastebin-plugin.vala"
	if (!_reply_message) {
#line 24 "pastebin-plugin.vala"
		return;
#line 2198 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	if (g_dbus_message_to_gerror (_reply_message, error)) {
#line 24 "pastebin-plugin.vala"
		g_object_unref (_reply_message);
#line 24 "pastebin-plugin.vala"
		return;
#line 2206 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	g_object_unref (_reply_message);
#line 2210 "pidgin-plugin.c"
}

static void
synapse_purple_interface_proxy_serv_send_file (SynapsePurpleInterface* self,
                                               gint conn,
                                               const gchar* who,
                                               const gchar* file,
                                               GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
#line 24 "pastebin-plugin.vala"
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "im.pidgin.purple.PurpleInterface", "ServSendFile");
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (conn));
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (who));
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (file));
#line 24 "pastebin-plugin.vala"
	_arguments = g_variant_builder_end (&_arguments_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_message_set_body (_message, _arguments);
#line 24 "pastebin-plugin.vala"
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_message);
#line 24 "pastebin-plugin.vala"
	if (!_reply_message) {
#line 24 "pastebin-plugin.vala"
		return;
#line 2246 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	if (g_dbus_message_to_gerror (_reply_message, error)) {
#line 24 "pastebin-plugin.vala"
		g_object_unref (_reply_message);
#line 24 "pastebin-plugin.vala"
		return;
#line 2254 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	g_object_unref (_reply_message);
#line 2258 "pidgin-plugin.c"
}

static gint
synapse_purple_interface_proxy_purple_account_get_connection (SynapsePurpleInterface* self,
                                                              gint account,
                                                              GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	gint _result = 0;
	GVariant* _tmp45_;
#line 24 "pastebin-plugin.vala"
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "im.pidgin.purple.PurpleInterface", "PurpleAccountGetConnection");
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (account));
#line 24 "pastebin-plugin.vala"
	_arguments = g_variant_builder_end (&_arguments_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_message_set_body (_message, _arguments);
#line 24 "pastebin-plugin.vala"
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_message);
#line 24 "pastebin-plugin.vala"
	if (!_reply_message) {
#line 2290 "pidgin-plugin.c"
		gint _tmp43_ = 0;
#line 24 "pastebin-plugin.vala"
		return _tmp43_;
#line 2294 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	if (g_dbus_message_to_gerror (_reply_message, error)) {
#line 2298 "pidgin-plugin.c"
		gint _tmp44_ = 0;
#line 24 "pastebin-plugin.vala"
		g_object_unref (_reply_message);
#line 24 "pastebin-plugin.vala"
		return _tmp44_;
#line 2304 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	_reply = g_dbus_message_get_body (_reply_message);
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_reply_iter, _reply);
#line 24 "pastebin-plugin.vala"
	_tmp45_ = g_variant_iter_next_value (&_reply_iter);
#line 24 "pastebin-plugin.vala"
	_result = g_variant_get_int32 (_tmp45_);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp45_);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_reply_message);
#line 24 "pastebin-plugin.vala"
	return _result;
#line 2320 "pidgin-plugin.c"
}

static void
synapse_purple_interface_proxy_synapse_purple_interface_interface_init (SynapsePurpleInterfaceIface* iface)
{
#line 24 "pastebin-plugin.vala"
	iface->purple_account_get_protocol_name = synapse_purple_interface_proxy_purple_account_get_protocol_name;
#line 24 "pastebin-plugin.vala"
	iface->purple_buddy_get_account = synapse_purple_interface_proxy_purple_buddy_get_account;
#line 24 "pastebin-plugin.vala"
	iface->purple_buddy_get_name = synapse_purple_interface_proxy_purple_buddy_get_name;
#line 24 "pastebin-plugin.vala"
	iface->purple_buddy_get_alias = synapse_purple_interface_proxy_purple_buddy_get_alias;
#line 24 "pastebin-plugin.vala"
	iface->purple_buddy_icon_get_full_path = synapse_purple_interface_proxy_purple_buddy_icon_get_full_path;
#line 24 "pastebin-plugin.vala"
	iface->purple_buddy_get_icon = synapse_purple_interface_proxy_purple_buddy_get_icon;
#line 24 "pastebin-plugin.vala"
	iface->purple_buddy_is_online = synapse_purple_interface_proxy_purple_buddy_is_online;
#line 24 "pastebin-plugin.vala"
	iface->purple_accounts_get_all_active = synapse_purple_interface_proxy_purple_accounts_get_all_active;
#line 24 "pastebin-plugin.vala"
	iface->purple_find_buddies = synapse_purple_interface_proxy_purple_find_buddies;
#line 24 "pastebin-plugin.vala"
	iface->purple_conversation_new = synapse_purple_interface_proxy_purple_conversation_new;
#line 24 "pastebin-plugin.vala"
	iface->purple_conversation_present = synapse_purple_interface_proxy_purple_conversation_present;
#line 24 "pastebin-plugin.vala"
	iface->purple_conv_im = synapse_purple_interface_proxy_purple_conv_im;
#line 24 "pastebin-plugin.vala"
	iface->purple_conv_im_send = synapse_purple_interface_proxy_purple_conv_im_send;
#line 24 "pastebin-plugin.vala"
	iface->serv_send_file = synapse_purple_interface_proxy_serv_send_file;
#line 24 "pastebin-plugin.vala"
	iface->purple_account_get_connection = synapse_purple_interface_proxy_purple_account_get_connection;
#line 2356 "pidgin-plugin.c"
}

static void
_dbus_synapse_purple_interface_purple_account_get_protocol_name (SynapsePurpleInterface* self,
                                                                 GVariant* _parameters_,
                                                                 GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gint account = 0;
	GVariant* _tmp46_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	gchar* result;
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_arguments_iter, _parameters_);
#line 24 "pastebin-plugin.vala"
	_tmp46_ = g_variant_iter_next_value (&_arguments_iter);
#line 24 "pastebin-plugin.vala"
	account = g_variant_get_int32 (_tmp46_);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp46_);
#line 24 "pastebin-plugin.vala"
	result = synapse_purple_interface_purple_account_get_protocol_name (self, account, &error);
#line 24 "pastebin-plugin.vala"
	if (error) {
#line 24 "pastebin-plugin.vala"
		g_dbus_method_invocation_take_error (invocation, error);
#line 24 "pastebin-plugin.vala"
		return;
#line 2388 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_reply_builder, g_variant_new_string (result));
#line 24 "pastebin-plugin.vala"
	_g_free0 (result);
#line 24 "pastebin-plugin.vala"
	_reply = g_variant_builder_end (&_reply_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_message_set_body (_reply_message, _reply);
#line 24 "pastebin-plugin.vala"
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
#line 24 "pastebin-plugin.vala"
	g_object_unref (invocation);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_reply_message);
#line 2408 "pidgin-plugin.c"
}

static void
_dbus_synapse_purple_interface_purple_buddy_get_account (SynapsePurpleInterface* self,
                                                         GVariant* _parameters_,
                                                         GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gint buddy = 0;
	GVariant* _tmp47_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	gint result;
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_arguments_iter, _parameters_);
#line 24 "pastebin-plugin.vala"
	_tmp47_ = g_variant_iter_next_value (&_arguments_iter);
#line 24 "pastebin-plugin.vala"
	buddy = g_variant_get_int32 (_tmp47_);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp47_);
#line 24 "pastebin-plugin.vala"
	result = synapse_purple_interface_purple_buddy_get_account (self, buddy, &error);
#line 24 "pastebin-plugin.vala"
	if (error) {
#line 24 "pastebin-plugin.vala"
		g_dbus_method_invocation_take_error (invocation, error);
#line 24 "pastebin-plugin.vala"
		return;
#line 2440 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_reply_builder, g_variant_new_int32 (result));
#line 24 "pastebin-plugin.vala"
	_reply = g_variant_builder_end (&_reply_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_message_set_body (_reply_message, _reply);
#line 24 "pastebin-plugin.vala"
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
#line 24 "pastebin-plugin.vala"
	g_object_unref (invocation);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_reply_message);
#line 2458 "pidgin-plugin.c"
}

static void
_dbus_synapse_purple_interface_purple_buddy_get_name (SynapsePurpleInterface* self,
                                                      GVariant* _parameters_,
                                                      GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gint buddy = 0;
	GVariant* _tmp48_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	gchar* result;
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_arguments_iter, _parameters_);
#line 24 "pastebin-plugin.vala"
	_tmp48_ = g_variant_iter_next_value (&_arguments_iter);
#line 24 "pastebin-plugin.vala"
	buddy = g_variant_get_int32 (_tmp48_);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp48_);
#line 24 "pastebin-plugin.vala"
	result = synapse_purple_interface_purple_buddy_get_name (self, buddy, &error);
#line 24 "pastebin-plugin.vala"
	if (error) {
#line 24 "pastebin-plugin.vala"
		g_dbus_method_invocation_take_error (invocation, error);
#line 24 "pastebin-plugin.vala"
		return;
#line 2490 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_reply_builder, g_variant_new_string (result));
#line 24 "pastebin-plugin.vala"
	_g_free0 (result);
#line 24 "pastebin-plugin.vala"
	_reply = g_variant_builder_end (&_reply_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_message_set_body (_reply_message, _reply);
#line 24 "pastebin-plugin.vala"
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
#line 24 "pastebin-plugin.vala"
	g_object_unref (invocation);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_reply_message);
#line 2510 "pidgin-plugin.c"
}

static void
_dbus_synapse_purple_interface_purple_buddy_get_alias (SynapsePurpleInterface* self,
                                                       GVariant* _parameters_,
                                                       GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gint buddy = 0;
	GVariant* _tmp49_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	gchar* result;
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_arguments_iter, _parameters_);
#line 24 "pastebin-plugin.vala"
	_tmp49_ = g_variant_iter_next_value (&_arguments_iter);
#line 24 "pastebin-plugin.vala"
	buddy = g_variant_get_int32 (_tmp49_);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp49_);
#line 24 "pastebin-plugin.vala"
	result = synapse_purple_interface_purple_buddy_get_alias (self, buddy, &error);
#line 24 "pastebin-plugin.vala"
	if (error) {
#line 24 "pastebin-plugin.vala"
		g_dbus_method_invocation_take_error (invocation, error);
#line 24 "pastebin-plugin.vala"
		return;
#line 2542 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_reply_builder, g_variant_new_string (result));
#line 24 "pastebin-plugin.vala"
	_g_free0 (result);
#line 24 "pastebin-plugin.vala"
	_reply = g_variant_builder_end (&_reply_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_message_set_body (_reply_message, _reply);
#line 24 "pastebin-plugin.vala"
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
#line 24 "pastebin-plugin.vala"
	g_object_unref (invocation);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_reply_message);
#line 2562 "pidgin-plugin.c"
}

static void
_dbus_synapse_purple_interface_purple_buddy_icon_get_full_path (SynapsePurpleInterface* self,
                                                                GVariant* _parameters_,
                                                                GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gint icon = 0;
	GVariant* _tmp50_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	gchar* result;
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_arguments_iter, _parameters_);
#line 24 "pastebin-plugin.vala"
	_tmp50_ = g_variant_iter_next_value (&_arguments_iter);
#line 24 "pastebin-plugin.vala"
	icon = g_variant_get_int32 (_tmp50_);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp50_);
#line 24 "pastebin-plugin.vala"
	result = synapse_purple_interface_purple_buddy_icon_get_full_path (self, icon, &error);
#line 24 "pastebin-plugin.vala"
	if (error) {
#line 24 "pastebin-plugin.vala"
		g_dbus_method_invocation_take_error (invocation, error);
#line 24 "pastebin-plugin.vala"
		return;
#line 2594 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_reply_builder, g_variant_new_string (result));
#line 24 "pastebin-plugin.vala"
	_g_free0 (result);
#line 24 "pastebin-plugin.vala"
	_reply = g_variant_builder_end (&_reply_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_message_set_body (_reply_message, _reply);
#line 24 "pastebin-plugin.vala"
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
#line 24 "pastebin-plugin.vala"
	g_object_unref (invocation);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_reply_message);
#line 2614 "pidgin-plugin.c"
}

static void
_dbus_synapse_purple_interface_purple_buddy_get_icon (SynapsePurpleInterface* self,
                                                      GVariant* _parameters_,
                                                      GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gint buddy = 0;
	GVariant* _tmp51_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	gint result;
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_arguments_iter, _parameters_);
#line 24 "pastebin-plugin.vala"
	_tmp51_ = g_variant_iter_next_value (&_arguments_iter);
#line 24 "pastebin-plugin.vala"
	buddy = g_variant_get_int32 (_tmp51_);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp51_);
#line 24 "pastebin-plugin.vala"
	result = synapse_purple_interface_purple_buddy_get_icon (self, buddy, &error);
#line 24 "pastebin-plugin.vala"
	if (error) {
#line 24 "pastebin-plugin.vala"
		g_dbus_method_invocation_take_error (invocation, error);
#line 24 "pastebin-plugin.vala"
		return;
#line 2646 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_reply_builder, g_variant_new_int32 (result));
#line 24 "pastebin-plugin.vala"
	_reply = g_variant_builder_end (&_reply_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_message_set_body (_reply_message, _reply);
#line 24 "pastebin-plugin.vala"
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
#line 24 "pastebin-plugin.vala"
	g_object_unref (invocation);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_reply_message);
#line 2664 "pidgin-plugin.c"
}

static void
_dbus_synapse_purple_interface_purple_buddy_is_online (SynapsePurpleInterface* self,
                                                       GVariant* _parameters_,
                                                       GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gint buddy = 0;
	GVariant* _tmp52_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	gint result;
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_arguments_iter, _parameters_);
#line 24 "pastebin-plugin.vala"
	_tmp52_ = g_variant_iter_next_value (&_arguments_iter);
#line 24 "pastebin-plugin.vala"
	buddy = g_variant_get_int32 (_tmp52_);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp52_);
#line 24 "pastebin-plugin.vala"
	result = synapse_purple_interface_purple_buddy_is_online (self, buddy, &error);
#line 24 "pastebin-plugin.vala"
	if (error) {
#line 24 "pastebin-plugin.vala"
		g_dbus_method_invocation_take_error (invocation, error);
#line 24 "pastebin-plugin.vala"
		return;
#line 2696 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_reply_builder, g_variant_new_int32 (result));
#line 24 "pastebin-plugin.vala"
	_reply = g_variant_builder_end (&_reply_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_message_set_body (_reply_message, _reply);
#line 24 "pastebin-plugin.vala"
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
#line 24 "pastebin-plugin.vala"
	g_object_unref (invocation);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_reply_message);
#line 2714 "pidgin-plugin.c"
}

static void
_dbus_synapse_purple_interface_purple_accounts_get_all_active (SynapsePurpleInterface* self,
                                                               GVariant* _parameters_,
                                                               GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	gint* result;
	gint result_length1 = 0;
	gint* _tmp53_;
	GVariantBuilder _tmp54_;
	gint _tmp55_;
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_arguments_iter, _parameters_);
#line 24 "pastebin-plugin.vala"
	result = synapse_purple_interface_purple_accounts_get_all_active (self, &result_length1, &error);
#line 24 "pastebin-plugin.vala"
	if (error) {
#line 24 "pastebin-plugin.vala"
		g_dbus_method_invocation_take_error (invocation, error);
#line 24 "pastebin-plugin.vala"
		return;
#line 2742 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	_tmp53_ = result;
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_tmp54_, G_VARIANT_TYPE ("ai"));
#line 24 "pastebin-plugin.vala"
	for (_tmp55_ = 0; _tmp55_ < result_length1; _tmp55_++) {
#line 24 "pastebin-plugin.vala"
		g_variant_builder_add_value (&_tmp54_, g_variant_new_int32 (*_tmp53_));
#line 24 "pastebin-plugin.vala"
		_tmp53_++;
#line 2758 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_reply_builder, g_variant_builder_end (&_tmp54_));
#line 24 "pastebin-plugin.vala"
	result = (g_free (result), NULL);
#line 24 "pastebin-plugin.vala"
	_reply = g_variant_builder_end (&_reply_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_message_set_body (_reply_message, _reply);
#line 24 "pastebin-plugin.vala"
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
#line 24 "pastebin-plugin.vala"
	g_object_unref (invocation);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_reply_message);
#line 2774 "pidgin-plugin.c"
}

static void
_dbus_synapse_purple_interface_purple_find_buddies (SynapsePurpleInterface* self,
                                                    GVariant* _parameters_,
                                                    GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gint account = 0;
	GVariant* _tmp56_;
	gchar* pattern = NULL;
	GVariant* _tmp57_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	gint* result;
	gint result_length1 = 0;
	gint* _tmp58_;
	GVariantBuilder _tmp59_;
	gint _tmp60_;
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_arguments_iter, _parameters_);
#line 24 "pastebin-plugin.vala"
	_tmp56_ = g_variant_iter_next_value (&_arguments_iter);
#line 24 "pastebin-plugin.vala"
	account = g_variant_get_int32 (_tmp56_);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp56_);
#line 24 "pastebin-plugin.vala"
	_tmp57_ = g_variant_iter_next_value (&_arguments_iter);
#line 24 "pastebin-plugin.vala"
	pattern = g_variant_dup_string (_tmp57_, NULL);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp57_);
#line 24 "pastebin-plugin.vala"
	result = synapse_purple_interface_purple_find_buddies (self, account, pattern, &result_length1, &error);
#line 24 "pastebin-plugin.vala"
	if (error) {
#line 24 "pastebin-plugin.vala"
		g_dbus_method_invocation_take_error (invocation, error);
#line 2816 "pidgin-plugin.c"
		goto _error;
	}
#line 24 "pastebin-plugin.vala"
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	_tmp58_ = result;
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_tmp59_, G_VARIANT_TYPE ("ai"));
#line 24 "pastebin-plugin.vala"
	for (_tmp60_ = 0; _tmp60_ < result_length1; _tmp60_++) {
#line 24 "pastebin-plugin.vala"
		g_variant_builder_add_value (&_tmp59_, g_variant_new_int32 (*_tmp58_));
#line 24 "pastebin-plugin.vala"
		_tmp58_++;
#line 2833 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_reply_builder, g_variant_builder_end (&_tmp59_));
#line 24 "pastebin-plugin.vala"
	result = (g_free (result), NULL);
#line 24 "pastebin-plugin.vala"
	_reply = g_variant_builder_end (&_reply_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_message_set_body (_reply_message, _reply);
#line 24 "pastebin-plugin.vala"
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
#line 24 "pastebin-plugin.vala"
	g_object_unref (invocation);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_reply_message);
#line 2849 "pidgin-plugin.c"
	_error:
#line 24 "pastebin-plugin.vala"
	_g_free0 (pattern);
#line 2853 "pidgin-plugin.c"
	;
}

static void
_dbus_synapse_purple_interface_purple_conversation_new (SynapsePurpleInterface* self,
                                                        GVariant* _parameters_,
                                                        GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gint type = 0;
	GVariant* _tmp61_;
	gint account = 0;
	GVariant* _tmp62_;
	gchar* name = NULL;
	GVariant* _tmp63_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	gint result;
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_arguments_iter, _parameters_);
#line 24 "pastebin-plugin.vala"
	_tmp61_ = g_variant_iter_next_value (&_arguments_iter);
#line 24 "pastebin-plugin.vala"
	type = g_variant_get_int32 (_tmp61_);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp61_);
#line 24 "pastebin-plugin.vala"
	_tmp62_ = g_variant_iter_next_value (&_arguments_iter);
#line 24 "pastebin-plugin.vala"
	account = g_variant_get_int32 (_tmp62_);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp62_);
#line 24 "pastebin-plugin.vala"
	_tmp63_ = g_variant_iter_next_value (&_arguments_iter);
#line 24 "pastebin-plugin.vala"
	name = g_variant_dup_string (_tmp63_, NULL);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp63_);
#line 24 "pastebin-plugin.vala"
	result = synapse_purple_interface_purple_conversation_new (self, type, account, name, &error);
#line 24 "pastebin-plugin.vala"
	if (error) {
#line 24 "pastebin-plugin.vala"
		g_dbus_method_invocation_take_error (invocation, error);
#line 2900 "pidgin-plugin.c"
		goto _error;
	}
#line 24 "pastebin-plugin.vala"
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_reply_builder, g_variant_new_int32 (result));
#line 24 "pastebin-plugin.vala"
	_reply = g_variant_builder_end (&_reply_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_message_set_body (_reply_message, _reply);
#line 24 "pastebin-plugin.vala"
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
#line 24 "pastebin-plugin.vala"
	g_object_unref (invocation);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_reply_message);
#line 2919 "pidgin-plugin.c"
	_error:
#line 24 "pastebin-plugin.vala"
	_g_free0 (name);
#line 2923 "pidgin-plugin.c"
	;
}

static void
_dbus_synapse_purple_interface_purple_conversation_present (SynapsePurpleInterface* self,
                                                            GVariant* _parameters_,
                                                            GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gint conv = 0;
	GVariant* _tmp64_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_arguments_iter, _parameters_);
#line 24 "pastebin-plugin.vala"
	_tmp64_ = g_variant_iter_next_value (&_arguments_iter);
#line 24 "pastebin-plugin.vala"
	conv = g_variant_get_int32 (_tmp64_);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp64_);
#line 24 "pastebin-plugin.vala"
	synapse_purple_interface_purple_conversation_present (self, conv, &error);
#line 24 "pastebin-plugin.vala"
	if (error) {
#line 24 "pastebin-plugin.vala"
		g_dbus_method_invocation_take_error (invocation, error);
#line 24 "pastebin-plugin.vala"
		return;
#line 2955 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	_reply = g_variant_builder_end (&_reply_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_message_set_body (_reply_message, _reply);
#line 24 "pastebin-plugin.vala"
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
#line 24 "pastebin-plugin.vala"
	g_object_unref (invocation);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_reply_message);
#line 2971 "pidgin-plugin.c"
}

static void
_dbus_synapse_purple_interface_purple_conv_im (SynapsePurpleInterface* self,
                                               GVariant* _parameters_,
                                               GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gint conv = 0;
	GVariant* _tmp65_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	gint result;
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_arguments_iter, _parameters_);
#line 24 "pastebin-plugin.vala"
	_tmp65_ = g_variant_iter_next_value (&_arguments_iter);
#line 24 "pastebin-plugin.vala"
	conv = g_variant_get_int32 (_tmp65_);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp65_);
#line 24 "pastebin-plugin.vala"
	result = synapse_purple_interface_purple_conv_im (self, conv, &error);
#line 24 "pastebin-plugin.vala"
	if (error) {
#line 24 "pastebin-plugin.vala"
		g_dbus_method_invocation_take_error (invocation, error);
#line 24 "pastebin-plugin.vala"
		return;
#line 3003 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_reply_builder, g_variant_new_int32 (result));
#line 24 "pastebin-plugin.vala"
	_reply = g_variant_builder_end (&_reply_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_message_set_body (_reply_message, _reply);
#line 24 "pastebin-plugin.vala"
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
#line 24 "pastebin-plugin.vala"
	g_object_unref (invocation);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_reply_message);
#line 3021 "pidgin-plugin.c"
}

static void
_dbus_synapse_purple_interface_purple_conv_im_send (SynapsePurpleInterface* self,
                                                    GVariant* _parameters_,
                                                    GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gint im = 0;
	GVariant* _tmp66_;
	gchar* mess = NULL;
	GVariant* _tmp67_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_arguments_iter, _parameters_);
#line 24 "pastebin-plugin.vala"
	_tmp66_ = g_variant_iter_next_value (&_arguments_iter);
#line 24 "pastebin-plugin.vala"
	im = g_variant_get_int32 (_tmp66_);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp66_);
#line 24 "pastebin-plugin.vala"
	_tmp67_ = g_variant_iter_next_value (&_arguments_iter);
#line 24 "pastebin-plugin.vala"
	mess = g_variant_dup_string (_tmp67_, NULL);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp67_);
#line 24 "pastebin-plugin.vala"
	synapse_purple_interface_purple_conv_im_send (self, im, mess, &error);
#line 24 "pastebin-plugin.vala"
	if (error) {
#line 24 "pastebin-plugin.vala"
		g_dbus_method_invocation_take_error (invocation, error);
#line 3058 "pidgin-plugin.c"
		goto _error;
	}
#line 24 "pastebin-plugin.vala"
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	_reply = g_variant_builder_end (&_reply_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_message_set_body (_reply_message, _reply);
#line 24 "pastebin-plugin.vala"
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
#line 24 "pastebin-plugin.vala"
	g_object_unref (invocation);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_reply_message);
#line 3075 "pidgin-plugin.c"
	_error:
#line 24 "pastebin-plugin.vala"
	_g_free0 (mess);
#line 3079 "pidgin-plugin.c"
	;
}

static void
_dbus_synapse_purple_interface_serv_send_file (SynapsePurpleInterface* self,
                                               GVariant* _parameters_,
                                               GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gint conn = 0;
	GVariant* _tmp68_;
	gchar* who = NULL;
	GVariant* _tmp69_;
	gchar* file = NULL;
	GVariant* _tmp70_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_arguments_iter, _parameters_);
#line 24 "pastebin-plugin.vala"
	_tmp68_ = g_variant_iter_next_value (&_arguments_iter);
#line 24 "pastebin-plugin.vala"
	conn = g_variant_get_int32 (_tmp68_);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp68_);
#line 24 "pastebin-plugin.vala"
	_tmp69_ = g_variant_iter_next_value (&_arguments_iter);
#line 24 "pastebin-plugin.vala"
	who = g_variant_dup_string (_tmp69_, NULL);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp69_);
#line 24 "pastebin-plugin.vala"
	_tmp70_ = g_variant_iter_next_value (&_arguments_iter);
#line 24 "pastebin-plugin.vala"
	file = g_variant_dup_string (_tmp70_, NULL);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp70_);
#line 24 "pastebin-plugin.vala"
	synapse_purple_interface_serv_send_file (self, conn, who, file, &error);
#line 24 "pastebin-plugin.vala"
	if (error) {
#line 24 "pastebin-plugin.vala"
		g_dbus_method_invocation_take_error (invocation, error);
#line 3125 "pidgin-plugin.c"
		goto _error;
	}
#line 24 "pastebin-plugin.vala"
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	_reply = g_variant_builder_end (&_reply_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_message_set_body (_reply_message, _reply);
#line 24 "pastebin-plugin.vala"
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
#line 24 "pastebin-plugin.vala"
	g_object_unref (invocation);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_reply_message);
#line 3142 "pidgin-plugin.c"
	_error:
#line 24 "pastebin-plugin.vala"
	_g_free0 (who);
#line 24 "pastebin-plugin.vala"
	_g_free0 (file);
#line 3148 "pidgin-plugin.c"
	;
}

static void
_dbus_synapse_purple_interface_purple_account_get_connection (SynapsePurpleInterface* self,
                                                              GVariant* _parameters_,
                                                              GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gint account = 0;
	GVariant* _tmp71_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	gint result;
#line 24 "pastebin-plugin.vala"
	g_variant_iter_init (&_arguments_iter, _parameters_);
#line 24 "pastebin-plugin.vala"
	_tmp71_ = g_variant_iter_next_value (&_arguments_iter);
#line 24 "pastebin-plugin.vala"
	account = g_variant_get_int32 (_tmp71_);
#line 24 "pastebin-plugin.vala"
	g_variant_unref (_tmp71_);
#line 24 "pastebin-plugin.vala"
	result = synapse_purple_interface_purple_account_get_connection (self, account, &error);
#line 24 "pastebin-plugin.vala"
	if (error) {
#line 24 "pastebin-plugin.vala"
		g_dbus_method_invocation_take_error (invocation, error);
#line 24 "pastebin-plugin.vala"
		return;
#line 3181 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_reply_builder, g_variant_new_int32 (result));
#line 24 "pastebin-plugin.vala"
	_reply = g_variant_builder_end (&_reply_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_message_set_body (_reply_message, _reply);
#line 24 "pastebin-plugin.vala"
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
#line 24 "pastebin-plugin.vala"
	g_object_unref (invocation);
#line 24 "pastebin-plugin.vala"
	g_object_unref (_reply_message);
#line 3199 "pidgin-plugin.c"
}

static void
synapse_purple_interface_dbus_interface_method_call (GDBusConnection* connection,
                                                     const gchar* sender,
                                                     const gchar* object_path,
                                                     const gchar* interface_name,
                                                     const gchar* method_name,
                                                     GVariant* parameters,
                                                     GDBusMethodInvocation* invocation,
                                                     gpointer user_data)
{
	gpointer* data;
	gpointer object;
	data = user_data;
	object = data[0];
#line 24 "pastebin-plugin.vala"
	if (strcmp (method_name, "PurpleAccountGetProtocolName") == 0) {
#line 24 "pastebin-plugin.vala"
		_dbus_synapse_purple_interface_purple_account_get_protocol_name (object, parameters, invocation);
#line 3220 "pidgin-plugin.c"
	} else if (strcmp (method_name, "PurpleBuddyGetAccount") == 0) {
#line 24 "pastebin-plugin.vala"
		_dbus_synapse_purple_interface_purple_buddy_get_account (object, parameters, invocation);
#line 3224 "pidgin-plugin.c"
	} else if (strcmp (method_name, "PurpleBuddyGetName") == 0) {
#line 24 "pastebin-plugin.vala"
		_dbus_synapse_purple_interface_purple_buddy_get_name (object, parameters, invocation);
#line 3228 "pidgin-plugin.c"
	} else if (strcmp (method_name, "PurpleBuddyGetAlias") == 0) {
#line 24 "pastebin-plugin.vala"
		_dbus_synapse_purple_interface_purple_buddy_get_alias (object, parameters, invocation);
#line 3232 "pidgin-plugin.c"
	} else if (strcmp (method_name, "PurpleBuddyIconGetFullPath") == 0) {
#line 24 "pastebin-plugin.vala"
		_dbus_synapse_purple_interface_purple_buddy_icon_get_full_path (object, parameters, invocation);
#line 3236 "pidgin-plugin.c"
	} else if (strcmp (method_name, "PurpleBuddyGetIcon") == 0) {
#line 24 "pastebin-plugin.vala"
		_dbus_synapse_purple_interface_purple_buddy_get_icon (object, parameters, invocation);
#line 3240 "pidgin-plugin.c"
	} else if (strcmp (method_name, "PurpleBuddyIsOnline") == 0) {
#line 24 "pastebin-plugin.vala"
		_dbus_synapse_purple_interface_purple_buddy_is_online (object, parameters, invocation);
#line 3244 "pidgin-plugin.c"
	} else if (strcmp (method_name, "PurpleAccountsGetAllActive") == 0) {
#line 24 "pastebin-plugin.vala"
		_dbus_synapse_purple_interface_purple_accounts_get_all_active (object, parameters, invocation);
#line 3248 "pidgin-plugin.c"
	} else if (strcmp (method_name, "PurpleFindBuddies") == 0) {
#line 24 "pastebin-plugin.vala"
		_dbus_synapse_purple_interface_purple_find_buddies (object, parameters, invocation);
#line 3252 "pidgin-plugin.c"
	} else if (strcmp (method_name, "PurpleConversationNew") == 0) {
#line 24 "pastebin-plugin.vala"
		_dbus_synapse_purple_interface_purple_conversation_new (object, parameters, invocation);
#line 3256 "pidgin-plugin.c"
	} else if (strcmp (method_name, "PurpleConversationPresent") == 0) {
#line 24 "pastebin-plugin.vala"
		_dbus_synapse_purple_interface_purple_conversation_present (object, parameters, invocation);
#line 3260 "pidgin-plugin.c"
	} else if (strcmp (method_name, "PurpleConvIm") == 0) {
#line 24 "pastebin-plugin.vala"
		_dbus_synapse_purple_interface_purple_conv_im (object, parameters, invocation);
#line 3264 "pidgin-plugin.c"
	} else if (strcmp (method_name, "PurpleConvImSend") == 0) {
#line 24 "pastebin-plugin.vala"
		_dbus_synapse_purple_interface_purple_conv_im_send (object, parameters, invocation);
#line 3268 "pidgin-plugin.c"
	} else if (strcmp (method_name, "ServSendFile") == 0) {
#line 24 "pastebin-plugin.vala"
		_dbus_synapse_purple_interface_serv_send_file (object, parameters, invocation);
#line 3272 "pidgin-plugin.c"
	} else if (strcmp (method_name, "PurpleAccountGetConnection") == 0) {
#line 24 "pastebin-plugin.vala"
		_dbus_synapse_purple_interface_purple_account_get_connection (object, parameters, invocation);
#line 3276 "pidgin-plugin.c"
	} else {
#line 24 "pastebin-plugin.vala"
		g_object_unref (invocation);
#line 3280 "pidgin-plugin.c"
	}
}

static GVariant*
synapse_purple_interface_dbus_interface_get_property (GDBusConnection* connection,
                                                      const gchar* sender,
                                                      const gchar* object_path,
                                                      const gchar* interface_name,
                                                      const gchar* property_name,
                                                      GError** error,
                                                      gpointer user_data)
{
	gpointer* data;
	gpointer object;
	data = user_data;
	object = data[0];
#line 24 "pastebin-plugin.vala"
	return NULL;
#line 3299 "pidgin-plugin.c"
}

static gboolean
synapse_purple_interface_dbus_interface_set_property (GDBusConnection* connection,
                                                      const gchar* sender,
                                                      const gchar* object_path,
                                                      const gchar* interface_name,
                                                      const gchar* property_name,
                                                      GVariant* value,
                                                      GError** error,
                                                      gpointer user_data)
{
	gpointer* data;
	gpointer object;
	data = user_data;
	object = data[0];
#line 24 "pastebin-plugin.vala"
	return FALSE;
#line 3318 "pidgin-plugin.c"
}

static void
_dbus_synapse_purple_interface_account_added (GObject* _sender,
                                              gint acc,
                                              gpointer* _data)
{
	GDBusConnection * _connection;
	const gchar * _path;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	_connection = _data[1];
	_path = _data[2];
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (acc));
#line 24 "pastebin-plugin.vala"
	_arguments = g_variant_builder_end (&_arguments_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_connection_emit_signal (_connection, NULL, _path, "im.pidgin.purple.PurpleInterface", "AccountAdded", _arguments, NULL);
#line 3340 "pidgin-plugin.c"
}

static void
_dbus_synapse_purple_interface_account_removed (GObject* _sender,
                                                gint acc,
                                                gpointer* _data)
{
	GDBusConnection * _connection;
	const gchar * _path;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	_connection = _data[1];
	_path = _data[2];
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (acc));
#line 24 "pastebin-plugin.vala"
	_arguments = g_variant_builder_end (&_arguments_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_connection_emit_signal (_connection, NULL, _path, "im.pidgin.purple.PurpleInterface", "AccountRemoved", _arguments, NULL);
#line 3362 "pidgin-plugin.c"
}

static void
_dbus_synapse_purple_interface_buddy_added (GObject* _sender,
                                            gint buddy,
                                            gpointer* _data)
{
	GDBusConnection * _connection;
	const gchar * _path;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	_connection = _data[1];
	_path = _data[2];
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (buddy));
#line 24 "pastebin-plugin.vala"
	_arguments = g_variant_builder_end (&_arguments_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_connection_emit_signal (_connection, NULL, _path, "im.pidgin.purple.PurpleInterface", "BuddyAdded", _arguments, NULL);
#line 3384 "pidgin-plugin.c"
}

static void
_dbus_synapse_purple_interface_buddy_removed (GObject* _sender,
                                              gint buddy,
                                              gpointer* _data)
{
	GDBusConnection * _connection;
	const gchar * _path;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	_connection = _data[1];
	_path = _data[2];
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (buddy));
#line 24 "pastebin-plugin.vala"
	_arguments = g_variant_builder_end (&_arguments_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_connection_emit_signal (_connection, NULL, _path, "im.pidgin.purple.PurpleInterface", "BuddyRemoved", _arguments, NULL);
#line 3406 "pidgin-plugin.c"
}

static void
_dbus_synapse_purple_interface_buddy_signed_on (GObject* _sender,
                                                gint buddy,
                                                gpointer* _data)
{
	GDBusConnection * _connection;
	const gchar * _path;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	_connection = _data[1];
	_path = _data[2];
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (buddy));
#line 24 "pastebin-plugin.vala"
	_arguments = g_variant_builder_end (&_arguments_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_connection_emit_signal (_connection, NULL, _path, "im.pidgin.purple.PurpleInterface", "BuddySignedOn", _arguments, NULL);
#line 3428 "pidgin-plugin.c"
}

static void
_dbus_synapse_purple_interface_buddy_signed_off (GObject* _sender,
                                                 gint buddy,
                                                 gpointer* _data)
{
	GDBusConnection * _connection;
	const gchar * _path;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	_connection = _data[1];
	_path = _data[2];
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (buddy));
#line 24 "pastebin-plugin.vala"
	_arguments = g_variant_builder_end (&_arguments_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_connection_emit_signal (_connection, NULL, _path, "im.pidgin.purple.PurpleInterface", "BuddySignedOff", _arguments, NULL);
#line 3450 "pidgin-plugin.c"
}

static void
_dbus_synapse_purple_interface_buddy_icon_changed (GObject* _sender,
                                                   gint buddy,
                                                   gpointer* _data)
{
	GDBusConnection * _connection;
	const gchar * _path;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	_connection = _data[1];
	_path = _data[2];
#line 24 "pastebin-plugin.vala"
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
#line 24 "pastebin-plugin.vala"
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (buddy));
#line 24 "pastebin-plugin.vala"
	_arguments = g_variant_builder_end (&_arguments_builder);
#line 24 "pastebin-plugin.vala"
	g_dbus_connection_emit_signal (_connection, NULL, _path, "im.pidgin.purple.PurpleInterface", "BuddyIconChanged", _arguments, NULL);
#line 3472 "pidgin-plugin.c"
}

guint
synapse_purple_interface_register_object (gpointer object,
                                          GDBusConnection* connection,
                                          const gchar* path,
                                          GError** error)
{
	guint result;
	gpointer *data;
#line 24 "pastebin-plugin.vala"
	data = g_new (gpointer, 3);
#line 24 "pastebin-plugin.vala"
	data[0] = g_object_ref (object);
#line 24 "pastebin-plugin.vala"
	data[1] = g_object_ref (connection);
#line 24 "pastebin-plugin.vala"
	data[2] = g_strdup (path);
#line 24 "pastebin-plugin.vala"
	result = g_dbus_connection_register_object (connection, path, (GDBusInterfaceInfo *) (&_synapse_purple_interface_dbus_interface_info), &_synapse_purple_interface_dbus_interface_vtable, data, _synapse_purple_interface_unregister_object, error);
#line 24 "pastebin-plugin.vala"
	if (!result) {
#line 24 "pastebin-plugin.vala"
		return 0;
#line 3497 "pidgin-plugin.c"
	}
#line 24 "pastebin-plugin.vala"
	g_signal_connect (object, "account-added", (GCallback) _dbus_synapse_purple_interface_account_added, data);
#line 24 "pastebin-plugin.vala"
	g_signal_connect (object, "account-removed", (GCallback) _dbus_synapse_purple_interface_account_removed, data);
#line 24 "pastebin-plugin.vala"
	g_signal_connect (object, "buddy-added", (GCallback) _dbus_synapse_purple_interface_buddy_added, data);
#line 24 "pastebin-plugin.vala"
	g_signal_connect (object, "buddy-removed", (GCallback) _dbus_synapse_purple_interface_buddy_removed, data);
#line 24 "pastebin-plugin.vala"
	g_signal_connect (object, "buddy-signed-on", (GCallback) _dbus_synapse_purple_interface_buddy_signed_on, data);
#line 24 "pastebin-plugin.vala"
	g_signal_connect (object, "buddy-signed-off", (GCallback) _dbus_synapse_purple_interface_buddy_signed_off, data);
#line 24 "pastebin-plugin.vala"
	g_signal_connect (object, "buddy-icon-changed", (GCallback) _dbus_synapse_purple_interface_buddy_icon_changed, data);
#line 24 "pastebin-plugin.vala"
	return result;
#line 3515 "pidgin-plugin.c"
}

static void
_synapse_purple_interface_unregister_object (gpointer user_data)
{
	gpointer* data;
	data = user_data;
#line 24 "pastebin-plugin.vala"
	g_signal_handlers_disconnect_by_func (data[0], _dbus_synapse_purple_interface_account_added, data);
#line 24 "pastebin-plugin.vala"
	g_signal_handlers_disconnect_by_func (data[0], _dbus_synapse_purple_interface_account_removed, data);
#line 24 "pastebin-plugin.vala"
	g_signal_handlers_disconnect_by_func (data[0], _dbus_synapse_purple_interface_buddy_added, data);
#line 24 "pastebin-plugin.vala"
	g_signal_handlers_disconnect_by_func (data[0], _dbus_synapse_purple_interface_buddy_removed, data);
#line 24 "pastebin-plugin.vala"
	g_signal_handlers_disconnect_by_func (data[0], _dbus_synapse_purple_interface_buddy_signed_on, data);
#line 24 "pastebin-plugin.vala"
	g_signal_handlers_disconnect_by_func (data[0], _dbus_synapse_purple_interface_buddy_signed_off, data);
#line 24 "pastebin-plugin.vala"
	g_signal_handlers_disconnect_by_func (data[0], _dbus_synapse_purple_interface_buddy_icon_changed, data);
#line 24 "pastebin-plugin.vala"
	g_object_unref (data[0]);
#line 24 "pastebin-plugin.vala"
	g_object_unref (data[1]);
#line 24 "pastebin-plugin.vala"
	g_free (data[2]);
#line 24 "pastebin-plugin.vala"
	g_free (data);
#line 3545 "pidgin-plugin.c"
}

static inline gpointer
synapse_pidgin_plugin_get_instance_private (SynapsePidginPlugin* self)
{
	return G_STRUCT_MEMBER_P (self, SynapsePidginPlugin_private_offset);
}

static void
synapse_pidgin_plugin_real_activate (SynapseActivatable* base)
{
	SynapsePidginPlugin * self;
#line 62 "pidgin-plugin.vala"
	self = (SynapsePidginPlugin*) base;
#line 3560 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_real_deactivate (SynapseActivatable* base)
{
	SynapsePidginPlugin * self;
#line 67 "pidgin-plugin.vala"
	self = (SynapsePidginPlugin*) base;
#line 3569 "pidgin-plugin.c"
}

static void
_synapse_pidgin_plugin_register_plugin_synapse_plugin_register_func (void)
{
#line 74 "pidgin-plugin.vala"
	synapse_pidgin_plugin_register_plugin ();
#line 3577 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_register_plugin (void)
{
	SynapsePluginRegistry* _tmp0_;
	SynapsePluginRegistry* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
#line 74 "pidgin-plugin.vala"
	_tmp0_ = synapse_plugin_registry_get_default ();
#line 74 "pidgin-plugin.vala"
	_tmp1_ = _tmp0_;
#line 74 "pidgin-plugin.vala"
	_tmp2_ = g_find_program_in_path ("pidgin");
#line 74 "pidgin-plugin.vala"
	_tmp3_ = _tmp2_;
#line 74 "pidgin-plugin.vala"
	synapse_plugin_registry_register_plugin (_tmp1_, SYNAPSE_TYPE_PIDGIN_PLUGIN, "Pidgin", _ ("Get access to your Pidgin contacts"), "pidgin", _synapse_pidgin_plugin_register_plugin_synapse_plugin_register_func, _tmp3_ != NULL, _ ("Pidgin is not installed."));
#line 74 "pidgin-plugin.vala"
	_g_free0 (_tmp3_);
#line 74 "pidgin-plugin.vala"
	_g_object_unref0 (_tmp1_);
#line 3601 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_send_file (SynapsePidginPlugin* self,
                                 SynapsePidginPluginContact* contact,
                                 const gchar* uri)
{
	GFile* f = NULL;
	GFile* _tmp0_;
	GFile* _tmp1_;
	gchar* path = NULL;
	GFile* _tmp2_;
	gchar* _tmp3_;
	GError* _inner_error0_ = NULL;
#line 165 "pidgin-plugin.vala"
	g_return_if_fail (self != NULL);
#line 165 "pidgin-plugin.vala"
	g_return_if_fail (contact != NULL);
#line 165 "pidgin-plugin.vala"
	g_return_if_fail (uri != NULL);
#line 168 "pidgin-plugin.vala"
	_tmp0_ = g_file_new_for_uri (uri);
#line 168 "pidgin-plugin.vala"
	_g_object_unref0 (f);
#line 168 "pidgin-plugin.vala"
	f = _tmp0_;
#line 169 "pidgin-plugin.vala"
	_tmp1_ = f;
#line 169 "pidgin-plugin.vala"
	if (!g_file_query_exists (_tmp1_, NULL)) {
#line 171 "pidgin-plugin.vala"
		g_warning (_ ("File \"%s\"does not exist."), uri);
#line 172 "pidgin-plugin.vala"
		_g_object_unref0 (f);
#line 172 "pidgin-plugin.vala"
		return;
#line 3638 "pidgin-plugin.c"
	}
#line 174 "pidgin-plugin.vala"
	_tmp2_ = f;
#line 174 "pidgin-plugin.vala"
	_tmp3_ = g_file_get_path (_tmp2_);
#line 174 "pidgin-plugin.vala"
	path = _tmp3_;
#line 3646 "pidgin-plugin.c"
	{
		gint conn = 0;
		SynapsePurpleInterface* _tmp4_;
		gint _tmp5_;
		gint _tmp6_;
		SynapsePurpleInterface* _tmp9_;
		const gchar* _tmp10_;
		const gchar* _tmp11_;
		const gchar* _tmp12_;
#line 176 "pidgin-plugin.vala"
		_tmp4_ = self->priv->p;
#line 176 "pidgin-plugin.vala"
		_tmp5_ = synapse_pidgin_plugin_contact_get_account_id (contact);
#line 176 "pidgin-plugin.vala"
		_tmp6_ = _tmp5_;
#line 176 "pidgin-plugin.vala"
		conn = synapse_purple_interface_purple_account_get_connection (_tmp4_, _tmp6_, &_inner_error0_);
#line 176 "pidgin-plugin.vala"
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
#line 3666 "pidgin-plugin.c"
			goto __catch0_g_error;
		}
#line 177 "pidgin-plugin.vala"
		if (conn <= 0) {
#line 3671 "pidgin-plugin.c"
			const gchar* _tmp7_;
			const gchar* _tmp8_;
#line 179 "pidgin-plugin.vala"
			_tmp7_ = synapse_match_get_title ((SynapseMatch*) contact);
#line 179 "pidgin-plugin.vala"
			_tmp8_ = _tmp7_;
#line 179 "pidgin-plugin.vala"
			g_warning ("pidgin-plugin.vala:179: Cannot send file to %s", _tmp8_);
#line 180 "pidgin-plugin.vala"
			_g_free0 (path);
#line 180 "pidgin-plugin.vala"
			_g_object_unref0 (f);
#line 180 "pidgin-plugin.vala"
			return;
#line 3686 "pidgin-plugin.c"
		}
#line 182 "pidgin-plugin.vala"
		_tmp9_ = self->priv->p;
#line 182 "pidgin-plugin.vala"
		_tmp10_ = synapse_pidgin_plugin_contact_get_name (contact);
#line 182 "pidgin-plugin.vala"
		_tmp11_ = _tmp10_;
#line 182 "pidgin-plugin.vala"
		_tmp12_ = path;
#line 182 "pidgin-plugin.vala"
		synapse_purple_interface_serv_send_file (_tmp9_, conn, _tmp11_, _tmp12_, &_inner_error0_);
#line 182 "pidgin-plugin.vala"
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
#line 3700 "pidgin-plugin.c"
			goto __catch0_g_error;
		}
	}
	goto __finally0;
	__catch0_g_error:
	{
		const gchar* _tmp13_;
		const gchar* _tmp14_;
#line 175 "pidgin-plugin.vala"
		g_clear_error (&_inner_error0_);
#line 185 "pidgin-plugin.vala"
		_tmp13_ = synapse_match_get_title ((SynapseMatch*) contact);
#line 185 "pidgin-plugin.vala"
		_tmp14_ = _tmp13_;
#line 185 "pidgin-plugin.vala"
		g_warning ("pidgin-plugin.vala:185: Cannot send file to %s", _tmp14_);
#line 3717 "pidgin-plugin.c"
	}
	__finally0:
#line 175 "pidgin-plugin.vala"
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
#line 175 "pidgin-plugin.vala"
		_g_free0 (path);
#line 175 "pidgin-plugin.vala"
		_g_object_unref0 (f);
#line 175 "pidgin-plugin.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
#line 175 "pidgin-plugin.vala"
		g_clear_error (&_inner_error0_);
#line 175 "pidgin-plugin.vala"
		return;
#line 3732 "pidgin-plugin.c"
	}
#line 165 "pidgin-plugin.vala"
	_g_free0 (path);
#line 165 "pidgin-plugin.vala"
	_g_object_unref0 (f);
#line 3738 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_send_message (SynapsePidginPlugin* self,
                                    SynapsePidginPluginContact* contact,
                                    const gchar* message,
                                    gboolean present)
{
	GError* _inner_error0_ = NULL;
#line 189 "pidgin-plugin.vala"
	g_return_if_fail (self != NULL);
#line 189 "pidgin-plugin.vala"
	g_return_if_fail (contact != NULL);
#line 3752 "pidgin-plugin.c"
	{
		gint conv = 0;
		SynapsePurpleInterface* _tmp0_;
		gint _tmp1_;
		gint _tmp2_;
		const gchar* _tmp3_;
		const gchar* _tmp4_;
#line 192 "pidgin-plugin.vala"
		_tmp0_ = self->priv->p;
#line 192 "pidgin-plugin.vala"
		_tmp1_ = synapse_pidgin_plugin_contact_get_account_id (contact);
#line 192 "pidgin-plugin.vala"
		_tmp2_ = _tmp1_;
#line 192 "pidgin-plugin.vala"
		_tmp3_ = synapse_pidgin_plugin_contact_get_name (contact);
#line 192 "pidgin-plugin.vala"
		_tmp4_ = _tmp3_;
#line 192 "pidgin-plugin.vala"
		conv = synapse_purple_interface_purple_conversation_new (_tmp0_, 1, _tmp2_, _tmp4_, &_inner_error0_);
#line 192 "pidgin-plugin.vala"
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
#line 3774 "pidgin-plugin.c"
			goto __catch0_g_error;
		}
#line 193 "pidgin-plugin.vala"
		if (message != NULL) {
#line 3779 "pidgin-plugin.c"
			gint im = 0;
			SynapsePurpleInterface* _tmp5_;
			SynapsePurpleInterface* _tmp6_;
#line 195 "pidgin-plugin.vala"
			_tmp5_ = self->priv->p;
#line 195 "pidgin-plugin.vala"
			im = synapse_purple_interface_purple_conv_im (_tmp5_, conv, &_inner_error0_);
#line 195 "pidgin-plugin.vala"
			if (G_UNLIKELY (_inner_error0_ != NULL)) {
#line 3789 "pidgin-plugin.c"
				goto __catch0_g_error;
			}
#line 196 "pidgin-plugin.vala"
			_tmp6_ = self->priv->p;
#line 196 "pidgin-plugin.vala"
			synapse_purple_interface_purple_conv_im_send (_tmp6_, im, message, &_inner_error0_);
#line 196 "pidgin-plugin.vala"
			if (G_UNLIKELY (_inner_error0_ != NULL)) {
#line 3798 "pidgin-plugin.c"
				goto __catch0_g_error;
			}
		}
#line 198 "pidgin-plugin.vala"
		if (present) {
#line 3804 "pidgin-plugin.c"
			SynapsePurpleInterface* _tmp7_;
#line 198 "pidgin-plugin.vala"
			_tmp7_ = self->priv->p;
#line 198 "pidgin-plugin.vala"
			synapse_purple_interface_purple_conversation_present (_tmp7_, conv, &_inner_error0_);
#line 198 "pidgin-plugin.vala"
			if (G_UNLIKELY (_inner_error0_ != NULL)) {
#line 3812 "pidgin-plugin.c"
				goto __catch0_g_error;
			}
		}
	}
	goto __finally0;
	__catch0_g_error:
	{
		const gchar* _tmp8_;
		const gchar* _tmp9_;
#line 191 "pidgin-plugin.vala"
		g_clear_error (&_inner_error0_);
#line 201 "pidgin-plugin.vala"
		_tmp8_ = synapse_match_get_title ((SynapseMatch*) contact);
#line 201 "pidgin-plugin.vala"
		_tmp9_ = _tmp8_;
#line 201 "pidgin-plugin.vala"
		g_warning ("pidgin-plugin.vala:201: Cannot open chat for %s", _tmp9_);
#line 3830 "pidgin-plugin.c"
	}
	__finally0:
#line 191 "pidgin-plugin.vala"
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
#line 191 "pidgin-plugin.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
#line 191 "pidgin-plugin.vala"
		g_clear_error (&_inner_error0_);
#line 191 "pidgin-plugin.vala"
		return;
#line 3841 "pidgin-plugin.c"
	}
}

static void
synapse_pidgin_plugin_open_chat (SynapsePidginPlugin* self,
                                 SynapsePidginPluginContact* contact)
{
#line 205 "pidgin-plugin.vala"
	g_return_if_fail (self != NULL);
#line 205 "pidgin-plugin.vala"
	g_return_if_fail (contact != NULL);
#line 207 "pidgin-plugin.vala"
	synapse_pidgin_plugin_send_message (self, contact, NULL, TRUE);
#line 3855 "pidgin-plugin.c"
}

static void
___lambda18_ (SynapsePidginPlugin* self,
              GObject* obj,
              GAsyncResult* res)
{
#line 228 "pidgin-plugin.vala"
	g_return_if_fail (res != NULL);
#line 229 "pidgin-plugin.vala"
	synapse_pidgin_plugin_connect_to_signals (self);
#line 3867 "pidgin-plugin.c"
}

static void
____lambda18__gasync_ready_callback (GObject* source_object,
                                     GAsyncResult* res,
                                     gpointer self)
{
#line 227 "pidgin-plugin.vala"
	___lambda18_ ((SynapsePidginPlugin*) self, source_object, res);
#line 227 "pidgin-plugin.vala"
	g_object_unref (self);
#line 3879 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_connect_to_bus (SynapsePidginPlugin* self)
{
	SynapsePurpleInterface* _tmp3_;
	GError* _inner_error0_ = NULL;
#line 213 "pidgin-plugin.vala"
	g_return_if_fail (self != NULL);
#line 215 "pidgin-plugin.vala"
	_g_object_unref0 (self->priv->p);
#line 215 "pidgin-plugin.vala"
	self->priv->p = NULL;
#line 3893 "pidgin-plugin.c"
	{
		SynapsePurpleInterface* _tmp0_ = NULL;
		SynapsePurpleInterface* _tmp1_;
		SynapsePurpleInterface* _tmp2_;
#line 218 "pidgin-plugin.vala"
		_tmp1_ = (SynapsePurpleInterface*) g_initable_new (SYNAPSE_TYPE_PURPLE_INTERFACE_PROXY, NULL, &_inner_error0_, "g-flags", 0, "g-name", SYNAPSE_PURPLE_INTERFACE_UNIQUE_NAME, "g-bus-type", G_BUS_TYPE_SESSION, "g-object-path", SYNAPSE_PURPLE_INTERFACE_OBJECT_PATH, "g-interface-name", "im.pidgin.purple.PurpleInterface", NULL);
#line 218 "pidgin-plugin.vala"
		_tmp0_ = (SynapsePurpleInterface*) _tmp1_;
#line 218 "pidgin-plugin.vala"
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
#line 3904 "pidgin-plugin.c"
			goto __catch0_g_error;
		}
#line 218 "pidgin-plugin.vala"
		_tmp2_ = _tmp0_;
#line 218 "pidgin-plugin.vala"
		_tmp0_ = NULL;
#line 218 "pidgin-plugin.vala"
		_g_object_unref0 (self->priv->p);
#line 218 "pidgin-plugin.vala"
		self->priv->p = _tmp2_;
#line 217 "pidgin-plugin.vala"
		_g_object_unref0 (_tmp0_);
#line 3917 "pidgin-plugin.c"
	}
	goto __finally0;
	__catch0_g_error:
	{
#line 217 "pidgin-plugin.vala"
		g_clear_error (&_inner_error0_);
#line 3924 "pidgin-plugin.c"
	}
	__finally0:
#line 217 "pidgin-plugin.vala"
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
#line 217 "pidgin-plugin.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
#line 217 "pidgin-plugin.vala"
		g_clear_error (&_inner_error0_);
#line 217 "pidgin-plugin.vala"
		return;
#line 3935 "pidgin-plugin.c"
	}
#line 225 "pidgin-plugin.vala"
	_tmp3_ = self->priv->p;
#line 225 "pidgin-plugin.vala"
	if (_tmp3_ != NULL) {
#line 227 "pidgin-plugin.vala"
		synapse_pidgin_plugin_init_contacts (self, ____lambda18__gasync_ready_callback, g_object_ref (self));
#line 3943 "pidgin-plugin.c"
	}
}

static void
__lambda19_ (SynapsePidginPlugin* self,
             gint acc)
{
#line 237 "pidgin-plugin.vala"
	synapse_pidgin_plugin_init_contacts (self, NULL, NULL);
#line 3953 "pidgin-plugin.c"
}

static void
___lambda19__synapse_purple_interface_account_added (SynapsePurpleInterface* _sender,
                                                     gint acc,
                                                     gpointer self)
{
#line 236 "pidgin-plugin.vala"
	__lambda19_ ((SynapsePidginPlugin*) self, acc);
#line 3963 "pidgin-plugin.c"
}

static void
__lambda20_ (SynapsePidginPlugin* self,
             gint acc)
{
#line 241 "pidgin-plugin.vala"
	synapse_pidgin_plugin_init_contacts (self, NULL, NULL);
#line 3972 "pidgin-plugin.c"
}

static void
___lambda20__synapse_purple_interface_account_removed (SynapsePurpleInterface* _sender,
                                                       gint acc,
                                                       gpointer self)
{
#line 240 "pidgin-plugin.vala"
	__lambda20_ ((SynapsePidginPlugin*) self, acc);
#line 3982 "pidgin-plugin.c"
}

static void
__lambda21_ (SynapsePidginPlugin* self,
             gint buddy)
{
#line 245 "pidgin-plugin.vala"
	synapse_pidgin_plugin_contact_changed (self, buddy, -1, 1);
#line 3991 "pidgin-plugin.c"
}

static void
___lambda21__synapse_purple_interface_buddy_added (SynapsePurpleInterface* _sender,
                                                   gint buddy,
                                                   gpointer self)
{
#line 244 "pidgin-plugin.vala"
	__lambda21_ ((SynapsePidginPlugin*) self, buddy);
#line 4001 "pidgin-plugin.c"
}

static void
__lambda22_ (SynapsePidginPlugin* self,
             gint buddy)
{
#line 248 "pidgin-plugin.vala"
	synapse_pidgin_plugin_contact_changed (self, buddy, -1, 0);
#line 4010 "pidgin-plugin.c"
}

static void
___lambda22__synapse_purple_interface_buddy_removed (SynapsePurpleInterface* _sender,
                                                     gint buddy,
                                                     gpointer self)
{
#line 247 "pidgin-plugin.vala"
	__lambda22_ ((SynapsePidginPlugin*) self, buddy);
#line 4020 "pidgin-plugin.c"
}

static void
__lambda23_ (SynapsePidginPlugin* self,
             gint buddy)
{
#line 251 "pidgin-plugin.vala"
	synapse_pidgin_plugin_contact_changed (self, buddy, 1, -1);
#line 4029 "pidgin-plugin.c"
}

static void
___lambda23__synapse_purple_interface_buddy_signed_on (SynapsePurpleInterface* _sender,
                                                       gint buddy,
                                                       gpointer self)
{
#line 250 "pidgin-plugin.vala"
	__lambda23_ ((SynapsePidginPlugin*) self, buddy);
#line 4039 "pidgin-plugin.c"
}

static void
__lambda24_ (SynapsePidginPlugin* self,
             gint buddy)
{
#line 254 "pidgin-plugin.vala"
	synapse_pidgin_plugin_contact_changed (self, buddy, 0, -1);
#line 4048 "pidgin-plugin.c"
}

static void
___lambda24__synapse_purple_interface_buddy_signed_off (SynapsePurpleInterface* _sender,
                                                        gint buddy,
                                                        gpointer self)
{
#line 253 "pidgin-plugin.vala"
	__lambda24_ ((SynapsePidginPlugin*) self, buddy);
#line 4058 "pidgin-plugin.c"
}

static void
__lambda25_ (SynapsePidginPlugin* self,
             gint buddy)
{
#line 257 "pidgin-plugin.vala"
	synapse_pidgin_plugin_contact_changed (self, buddy, -1, 0);
#line 258 "pidgin-plugin.vala"
	synapse_pidgin_plugin_contact_changed (self, buddy, -1, 1);
#line 4069 "pidgin-plugin.c"
}

static void
___lambda25__synapse_purple_interface_buddy_icon_changed (SynapsePurpleInterface* _sender,
                                                          gint buddy,
                                                          gpointer self)
{
#line 256 "pidgin-plugin.vala"
	__lambda25_ ((SynapsePidginPlugin*) self, buddy);
#line 4079 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_connect_to_signals (SynapsePidginPlugin* self)
{
	SynapsePurpleInterface* _tmp0_;
	SynapsePurpleInterface* _tmp1_;
	SynapsePurpleInterface* _tmp2_;
	SynapsePurpleInterface* _tmp3_;
	SynapsePurpleInterface* _tmp4_;
	SynapsePurpleInterface* _tmp5_;
	SynapsePurpleInterface* _tmp6_;
#line 234 "pidgin-plugin.vala"
	g_return_if_fail (self != NULL);
#line 236 "pidgin-plugin.vala"
	_tmp0_ = self->priv->p;
#line 236 "pidgin-plugin.vala"
	g_signal_connect_object (_tmp0_, "account-added", (GCallback) ___lambda19__synapse_purple_interface_account_added, self, 0);
#line 240 "pidgin-plugin.vala"
	_tmp1_ = self->priv->p;
#line 240 "pidgin-plugin.vala"
	g_signal_connect_object (_tmp1_, "account-removed", (GCallback) ___lambda20__synapse_purple_interface_account_removed, self, 0);
#line 244 "pidgin-plugin.vala"
	_tmp2_ = self->priv->p;
#line 244 "pidgin-plugin.vala"
	g_signal_connect_object (_tmp2_, "buddy-added", (GCallback) ___lambda21__synapse_purple_interface_buddy_added, self, 0);
#line 247 "pidgin-plugin.vala"
	_tmp3_ = self->priv->p;
#line 247 "pidgin-plugin.vala"
	g_signal_connect_object (_tmp3_, "buddy-removed", (GCallback) ___lambda22__synapse_purple_interface_buddy_removed, self, 0);
#line 250 "pidgin-plugin.vala"
	_tmp4_ = self->priv->p;
#line 250 "pidgin-plugin.vala"
	g_signal_connect_object (_tmp4_, "buddy-signed-on", (GCallback) ___lambda23__synapse_purple_interface_buddy_signed_on, self, 0);
#line 253 "pidgin-plugin.vala"
	_tmp5_ = self->priv->p;
#line 253 "pidgin-plugin.vala"
	g_signal_connect_object (_tmp5_, "buddy-signed-off", (GCallback) ___lambda24__synapse_purple_interface_buddy_signed_off, self, 0);
#line 256 "pidgin-plugin.vala"
	_tmp6_ = self->priv->p;
#line 256 "pidgin-plugin.vala"
	g_signal_connect_object (_tmp6_, "buddy-icon-changed", (GCallback) ___lambda25__synapse_purple_interface_buddy_icon_changed, self, 0);
#line 4122 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_contact_changed (SynapsePidginPlugin* self,
                                       gint buddy,
                                       gint online,
                                       gint addremove)
{
#line 262 "pidgin-plugin.vala"
	g_return_if_fail (self != NULL);
#line 264 "pidgin-plugin.vala"
	if (online >= 0) {
#line 4135 "pidgin-plugin.c"
		SynapsePidginPluginContact* contact = NULL;
		GeeMap* _tmp0_;
		gpointer _tmp1_;
		SynapsePidginPluginContact* _tmp2_;
		SynapsePidginPluginContact* _tmp3_;
#line 266 "pidgin-plugin.vala"
		_tmp0_ = self->priv->contacts;
#line 266 "pidgin-plugin.vala"
		_tmp1_ = gee_map_get (_tmp0_, (gpointer) ((gintptr) buddy));
#line 266 "pidgin-plugin.vala"
		contact = (SynapsePidginPluginContact*) _tmp1_;
#line 267 "pidgin-plugin.vala"
		_tmp2_ = contact;
#line 267 "pidgin-plugin.vala"
		if (_tmp2_ == NULL) {
#line 267 "pidgin-plugin.vala"
			_g_object_unref0 (contact);
#line 267 "pidgin-plugin.vala"
			return;
#line 4155 "pidgin-plugin.c"
		}
#line 268 "pidgin-plugin.vala"
		_tmp3_ = contact;
#line 268 "pidgin-plugin.vala"
		synapse_pidgin_plugin_contact_set_online (_tmp3_, online > 0);
#line 264 "pidgin-plugin.vala"
		_g_object_unref0 (contact);
#line 4163 "pidgin-plugin.c"
	} else {
#line 270 "pidgin-plugin.vala"
		if (addremove >= 0) {
#line 272 "pidgin-plugin.vala"
			if (addremove == 1) {
#line 273 "pidgin-plugin.vala"
				synapse_pidgin_plugin_get_contact (self, buddy, -1, NULL, NULL, NULL);
#line 4171 "pidgin-plugin.c"
			} else {
				GeeMap* _tmp4_;
#line 275 "pidgin-plugin.vala"
				_tmp4_ = self->priv->contacts;
#line 275 "pidgin-plugin.vala"
				gee_map_unset (_tmp4_, (gpointer) ((gintptr) buddy), NULL);
#line 4178 "pidgin-plugin.c"
			}
		}
	}
}

static SynapseResultSet*
synapse_pidgin_plugin_real_find_for_match (SynapseActionProvider* base,
                                           SynapseQuery* query,
                                           SynapseMatch* match)
{
	SynapsePidginPlugin * self;
	SynapsePurpleInterface* _tmp0_;
	gboolean query_empty = FALSE;
	SynapseQuery _tmp1_;
	const gchar* _tmp2_;
	SynapseResultSet* results = NULL;
	SynapseResultSet* _tmp3_;
	SynapseResultSet* result;
#line 308 "pidgin-plugin.vala"
	self = (SynapsePidginPlugin*) base;
#line 308 "pidgin-plugin.vala"
	g_return_val_if_fail (query != NULL, NULL);
#line 308 "pidgin-plugin.vala"
	g_return_val_if_fail (match != NULL, NULL);
#line 310 "pidgin-plugin.vala"
	_tmp0_ = self->priv->p;
#line 310 "pidgin-plugin.vala"
	if (_tmp0_ == NULL) {
#line 310 "pidgin-plugin.vala"
		result = NULL;
#line 310 "pidgin-plugin.vala"
		return result;
#line 4211 "pidgin-plugin.c"
	}
#line 311 "pidgin-plugin.vala"
	_tmp1_ = *query;
#line 311 "pidgin-plugin.vala"
	_tmp2_ = _tmp1_.query_string;
#line 311 "pidgin-plugin.vala"
	query_empty = g_strcmp0 (_tmp2_, "") == 0;
#line 312 "pidgin-plugin.vala"
	_tmp3_ = synapse_result_set_new ();
#line 312 "pidgin-plugin.vala"
	results = _tmp3_;
#line 314 "pidgin-plugin.vala"
	if (query_empty) {
#line 4225 "pidgin-plugin.c"
		{
			GeeList* _action_list = NULL;
			GeeList* _tmp4_;
			gint _action_size = 0;
			GeeList* _tmp5_;
			gint _tmp6_;
			gint _tmp7_;
			gint _action_index = 0;
#line 316 "pidgin-plugin.vala"
			_tmp4_ = self->priv->actions;
#line 316 "pidgin-plugin.vala"
			_action_list = _tmp4_;
#line 316 "pidgin-plugin.vala"
			_tmp5_ = _action_list;
#line 316 "pidgin-plugin.vala"
			_tmp6_ = gee_collection_get_size ((GeeCollection*) _tmp5_);
#line 316 "pidgin-plugin.vala"
			_tmp7_ = _tmp6_;
#line 316 "pidgin-plugin.vala"
			_action_size = _tmp7_;
#line 316 "pidgin-plugin.vala"
			_action_index = -1;
#line 316 "pidgin-plugin.vala"
			while (TRUE) {
#line 4250 "pidgin-plugin.c"
				gint _tmp8_;
				gint _tmp9_;
				SynapseAction* action = NULL;
				GeeList* _tmp10_;
				gpointer _tmp11_;
				SynapseAction* _tmp12_;
				SynapseResultSet* _tmp13_;
				SynapseAction* _tmp14_;
				SynapseAction* _tmp15_;
#line 316 "pidgin-plugin.vala"
				_action_index = _action_index + 1;
#line 316 "pidgin-plugin.vala"
				_tmp8_ = _action_index;
#line 316 "pidgin-plugin.vala"
				_tmp9_ = _action_size;
#line 316 "pidgin-plugin.vala"
				if (!(_tmp8_ < _tmp9_)) {
#line 316 "pidgin-plugin.vala"
					break;
#line 4270 "pidgin-plugin.c"
				}
#line 316 "pidgin-plugin.vala"
				_tmp10_ = _action_list;
#line 316 "pidgin-plugin.vala"
				_tmp11_ = gee_list_get (_tmp10_, _action_index);
#line 316 "pidgin-plugin.vala"
				action = (SynapseAction*) _tmp11_;
#line 318 "pidgin-plugin.vala"
				_tmp12_ = action;
#line 318 "pidgin-plugin.vala"
				if (!synapse_action_valid_for_match (_tmp12_, match)) {
#line 318 "pidgin-plugin.vala"
					_g_object_unref0 (action);
#line 318 "pidgin-plugin.vala"
					continue;
#line 4286 "pidgin-plugin.c"
				}
#line 319 "pidgin-plugin.vala"
				_tmp13_ = results;
#line 319 "pidgin-plugin.vala"
				_tmp14_ = action;
#line 319 "pidgin-plugin.vala"
				_tmp15_ = action;
#line 319 "pidgin-plugin.vala"
				synapse_result_set_add (_tmp13_, (SynapseMatch*) _tmp14_, synapse_action_get_relevancy_for_match (_tmp15_, match));
#line 316 "pidgin-plugin.vala"
				_g_object_unref0 (action);
#line 4298 "pidgin-plugin.c"
			}
		}
	} else {
		GeeList* matchers = NULL;
		SynapseQuery _tmp16_;
		const gchar* _tmp17_;
		GeeList* _tmp18_;
#line 324 "pidgin-plugin.vala"
		_tmp16_ = *query;
#line 324 "pidgin-plugin.vala"
		_tmp17_ = _tmp16_.query_string;
#line 324 "pidgin-plugin.vala"
		_tmp18_ = synapse_query_get_matchers_for_query (_tmp17_, 0, G_REGEX_OPTIMIZE | G_REGEX_CASELESS);
#line 324 "pidgin-plugin.vala"
		matchers = _tmp18_;
#line 4314 "pidgin-plugin.c"
		{
			GeeList* _action_list = NULL;
			GeeList* _tmp19_;
			gint _action_size = 0;
			GeeList* _tmp20_;
			gint _tmp21_;
			gint _tmp22_;
			gint _action_index = 0;
#line 326 "pidgin-plugin.vala"
			_tmp19_ = self->priv->actions;
#line 326 "pidgin-plugin.vala"
			_action_list = _tmp19_;
#line 326 "pidgin-plugin.vala"
			_tmp20_ = _action_list;
#line 326 "pidgin-plugin.vala"
			_tmp21_ = gee_collection_get_size ((GeeCollection*) _tmp20_);
#line 326 "pidgin-plugin.vala"
			_tmp22_ = _tmp21_;
#line 326 "pidgin-plugin.vala"
			_action_size = _tmp22_;
#line 326 "pidgin-plugin.vala"
			_action_index = -1;
#line 326 "pidgin-plugin.vala"
			while (TRUE) {
#line 4339 "pidgin-plugin.c"
				gint _tmp23_;
				gint _tmp24_;
				SynapseAction* action = NULL;
				GeeList* _tmp25_;
				gpointer _tmp26_;
				SynapseAction* _tmp27_;
#line 326 "pidgin-plugin.vala"
				_action_index = _action_index + 1;
#line 326 "pidgin-plugin.vala"
				_tmp23_ = _action_index;
#line 326 "pidgin-plugin.vala"
				_tmp24_ = _action_size;
#line 326 "pidgin-plugin.vala"
				if (!(_tmp23_ < _tmp24_)) {
#line 326 "pidgin-plugin.vala"
					break;
#line 4356 "pidgin-plugin.c"
				}
#line 326 "pidgin-plugin.vala"
				_tmp25_ = _action_list;
#line 326 "pidgin-plugin.vala"
				_tmp26_ = gee_list_get (_tmp25_, _action_index);
#line 326 "pidgin-plugin.vala"
				action = (SynapseAction*) _tmp26_;
#line 328 "pidgin-plugin.vala"
				_tmp27_ = action;
#line 328 "pidgin-plugin.vala"
				if (!synapse_action_valid_for_match (_tmp27_, match)) {
#line 328 "pidgin-plugin.vala"
					_g_object_unref0 (action);
#line 328 "pidgin-plugin.vala"
					continue;
#line 4372 "pidgin-plugin.c"
				}
				{
					GeeList* _matcher_list = NULL;
					GeeList* _tmp28_;
					gint _matcher_size = 0;
					GeeList* _tmp29_;
					gint _tmp30_;
					gint _tmp31_;
					gint _matcher_index = 0;
#line 329 "pidgin-plugin.vala"
					_tmp28_ = matchers;
#line 329 "pidgin-plugin.vala"
					_matcher_list = _tmp28_;
#line 329 "pidgin-plugin.vala"
					_tmp29_ = _matcher_list;
#line 329 "pidgin-plugin.vala"
					_tmp30_ = gee_collection_get_size ((GeeCollection*) _tmp29_);
#line 329 "pidgin-plugin.vala"
					_tmp31_ = _tmp30_;
#line 329 "pidgin-plugin.vala"
					_matcher_size = _tmp31_;
#line 329 "pidgin-plugin.vala"
					_matcher_index = -1;
#line 329 "pidgin-plugin.vala"
					while (TRUE) {
#line 4398 "pidgin-plugin.c"
						gint _tmp32_;
						gint _tmp33_;
						GeeMapEntry* matcher = NULL;
						GeeList* _tmp34_;
						gpointer _tmp35_;
						GeeMapEntry* _tmp36_;
						gconstpointer _tmp37_;
						gconstpointer _tmp38_;
						SynapseAction* _tmp39_;
						const gchar* _tmp40_;
						const gchar* _tmp41_;
#line 329 "pidgin-plugin.vala"
						_matcher_index = _matcher_index + 1;
#line 329 "pidgin-plugin.vala"
						_tmp32_ = _matcher_index;
#line 329 "pidgin-plugin.vala"
						_tmp33_ = _matcher_size;
#line 329 "pidgin-plugin.vala"
						if (!(_tmp32_ < _tmp33_)) {
#line 329 "pidgin-plugin.vala"
							break;
#line 4420 "pidgin-plugin.c"
						}
#line 329 "pidgin-plugin.vala"
						_tmp34_ = _matcher_list;
#line 329 "pidgin-plugin.vala"
						_tmp35_ = gee_list_get (_tmp34_, _matcher_index);
#line 329 "pidgin-plugin.vala"
						matcher = (GeeMapEntry*) _tmp35_;
#line 331 "pidgin-plugin.vala"
						_tmp36_ = matcher;
#line 331 "pidgin-plugin.vala"
						_tmp37_ = gee_map_entry_get_key (_tmp36_);
#line 331 "pidgin-plugin.vala"
						_tmp38_ = _tmp37_;
#line 331 "pidgin-plugin.vala"
						_tmp39_ = action;
#line 331 "pidgin-plugin.vala"
						_tmp40_ = synapse_match_get_title ((SynapseMatch*) _tmp39_);
#line 331 "pidgin-plugin.vala"
						_tmp41_ = _tmp40_;
#line 331 "pidgin-plugin.vala"
						if (g_regex_match ((GRegex*) _tmp38_, _tmp41_, 0, NULL)) {
#line 4442 "pidgin-plugin.c"
							SynapseResultSet* _tmp42_;
							SynapseAction* _tmp43_;
							GeeMapEntry* _tmp44_;
							gconstpointer _tmp45_;
							gconstpointer _tmp46_;
#line 333 "pidgin-plugin.vala"
							_tmp42_ = results;
#line 333 "pidgin-plugin.vala"
							_tmp43_ = action;
#line 333 "pidgin-plugin.vala"
							_tmp44_ = matcher;
#line 333 "pidgin-plugin.vala"
							_tmp45_ = gee_map_entry_get_value (_tmp44_);
#line 333 "pidgin-plugin.vala"
							_tmp46_ = _tmp45_;
#line 333 "pidgin-plugin.vala"
							synapse_result_set_add (_tmp42_, (SynapseMatch*) _tmp43_, (gint) ((gintptr) _tmp46_));
#line 334 "pidgin-plugin.vala"
							_g_object_unref0 (matcher);
#line 334 "pidgin-plugin.vala"
							break;
#line 4464 "pidgin-plugin.c"
						}
#line 329 "pidgin-plugin.vala"
						_g_object_unref0 (matcher);
#line 4468 "pidgin-plugin.c"
					}
				}
#line 326 "pidgin-plugin.vala"
				_g_object_unref0 (action);
#line 4473 "pidgin-plugin.c"
			}
		}
#line 314 "pidgin-plugin.vala"
		_g_object_unref0 (matchers);
#line 4478 "pidgin-plugin.c"
	}
#line 340 "pidgin-plugin.vala"
	result = results;
#line 340 "pidgin-plugin.vala"
	return result;
#line 4484 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_get_contact_data_free (gpointer _data)
{
	SynapsePidginPluginGetContactData* _data_;
	_data_ = _data;
#line 58 "pidgin-plugin.vala"
	_g_free0 (_data_->protocol);
#line 58 "pidgin-plugin.vala"
	_g_object_unref0 (_data_->self);
#line 58 "pidgin-plugin.vala"
	g_slice_free (SynapsePidginPluginGetContactData, _data_);
#line 4498 "pidgin-plugin.c"
}

static gpointer
_g_object_ref0 (gpointer self)
{
#line 58 "pidgin-plugin.vala"
	return self ? g_object_ref (self) : NULL;
#line 4506 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_get_contact (SynapsePidginPlugin* self,
                                   gint buddy,
                                   gint account,
                                   const gchar* protocol,
                                   GAsyncReadyCallback _callback_,
                                   gpointer _user_data_)
{
	SynapsePidginPluginGetContactData* _data_;
	SynapsePidginPlugin* _tmp0_;
	gchar* _tmp1_;
#line 58 "pidgin-plugin.vala"
	g_return_if_fail (self != NULL);
#line 58 "pidgin-plugin.vala"
	_data_ = g_slice_new0 (SynapsePidginPluginGetContactData);
#line 58 "pidgin-plugin.vala"
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
#line 58 "pidgin-plugin.vala"
	g_task_set_task_data (_data_->_async_result, _data_, synapse_pidgin_plugin_get_contact_data_free);
#line 58 "pidgin-plugin.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 58 "pidgin-plugin.vala"
	_data_->self = _tmp0_;
#line 58 "pidgin-plugin.vala"
	_data_->buddy = buddy;
#line 58 "pidgin-plugin.vala"
	_data_->account = account;
#line 58 "pidgin-plugin.vala"
	_tmp1_ = g_strdup (protocol);
#line 58 "pidgin-plugin.vala"
	_g_free0 (_data_->protocol);
#line 58 "pidgin-plugin.vala"
	_data_->protocol = _tmp1_;
#line 58 "pidgin-plugin.vala"
	synapse_pidgin_plugin_get_contact_co (_data_);
#line 4544 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_get_contact_finish (SynapsePidginPlugin* self,
                                          GAsyncResult* _res_,
                                          GError** error)
{
	SynapsePidginPluginGetContactData* _data_;
#line 58 "pidgin-plugin.vala"
	_data_ = g_task_propagate_pointer (G_TASK (_res_), error);
#line 58 "pidgin-plugin.vala"
	if (NULL == _data_) {
#line 58 "pidgin-plugin.vala"
		return;
#line 4559 "pidgin-plugin.c"
	}
}

static gboolean
synapse_pidgin_plugin_get_contact_co (SynapsePidginPluginGetContactData* _data_)
{
#line 343 "pidgin-plugin.vala"
	switch (_data_->_state_) {
#line 343 "pidgin-plugin.vala"
		case 0:
#line 4570 "pidgin-plugin.c"
		goto _state_0;
		default:
#line 343 "pidgin-plugin.vala"
		g_assert_not_reached ();
#line 4575 "pidgin-plugin.c"
	}
	_state_0:
#line 345 "pidgin-plugin.vala"
	_data_->_tmp0_ = _data_->self->priv->p;
#line 345 "pidgin-plugin.vala"
	if (_data_->_tmp0_ == NULL) {
#line 345 "pidgin-plugin.vala"
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 345 "pidgin-plugin.vala"
		if (_data_->_state_ != 0) {
#line 345 "pidgin-plugin.vala"
			while (!g_task_get_completed (_data_->_async_result)) {
#line 345 "pidgin-plugin.vala"
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 4590 "pidgin-plugin.c"
			}
		}
#line 345 "pidgin-plugin.vala"
		g_object_unref (_data_->_async_result);
#line 345 "pidgin-plugin.vala"
		return FALSE;
#line 4597 "pidgin-plugin.c"
	}
#line 346 "pidgin-plugin.vala"
	_data_->_tmp1_ = g_strdup (_data_->protocol);
#line 346 "pidgin-plugin.vala"
	_data_->prot = _data_->_tmp1_;
#line 347 "pidgin-plugin.vala"
	if (_data_->account < 0) {
#line 348 "pidgin-plugin.vala"
		_data_->_tmp3_ = _data_->self->priv->p;
#line 348 "pidgin-plugin.vala"
		_data_->_tmp2_ = synapse_purple_interface_purple_buddy_get_account (_data_->_tmp3_, _data_->buddy, &_data_->_inner_error0_);
#line 348 "pidgin-plugin.vala"
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
#line 348 "pidgin-plugin.vala"
			g_task_return_error (_data_->_async_result, _data_->_inner_error0_);
#line 348 "pidgin-plugin.vala"
			_g_free0 (_data_->prot);
#line 348 "pidgin-plugin.vala"
			g_object_unref (_data_->_async_result);
#line 348 "pidgin-plugin.vala"
			return FALSE;
#line 4619 "pidgin-plugin.c"
		}
#line 348 "pidgin-plugin.vala"
		_data_->account = _data_->_tmp2_;
#line 4623 "pidgin-plugin.c"
	}
#line 349 "pidgin-plugin.vala"
	if (_data_->protocol == NULL) {
#line 350 "pidgin-plugin.vala"
		_data_->_tmp5_ = _data_->self->priv->p;
#line 350 "pidgin-plugin.vala"
		_data_->_tmp6_ = synapse_purple_interface_purple_account_get_protocol_name (_data_->_tmp5_, _data_->account, &_data_->_inner_error0_);
#line 350 "pidgin-plugin.vala"
		_data_->_tmp4_ = _data_->_tmp6_;
#line 350 "pidgin-plugin.vala"
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
#line 350 "pidgin-plugin.vala"
			g_task_return_error (_data_->_async_result, _data_->_inner_error0_);
#line 350 "pidgin-plugin.vala"
			_g_free0 (_data_->prot);
#line 350 "pidgin-plugin.vala"
			g_object_unref (_data_->_async_result);
#line 350 "pidgin-plugin.vala"
			return FALSE;
#line 4643 "pidgin-plugin.c"
		}
#line 350 "pidgin-plugin.vala"
		_data_->_tmp7_ = _data_->_tmp4_;
#line 350 "pidgin-plugin.vala"
		_data_->_tmp4_ = NULL;
#line 350 "pidgin-plugin.vala"
		_g_free0 (_data_->prot);
#line 350 "pidgin-plugin.vala"
		_data_->prot = _data_->_tmp7_;
#line 349 "pidgin-plugin.vala"
		_g_free0 (_data_->_tmp4_);
#line 4655 "pidgin-plugin.c"
	}
#line 352 "pidgin-plugin.vala"
	_data_->_tmp8_ = _data_->self->priv->p;
#line 352 "pidgin-plugin.vala"
	_data_->_tmp9_ = synapse_purple_interface_purple_buddy_get_alias (_data_->_tmp8_, _data_->buddy, &_data_->_inner_error0_);
#line 352 "pidgin-plugin.vala"
	_data_->alias = _data_->_tmp9_;
#line 352 "pidgin-plugin.vala"
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
#line 352 "pidgin-plugin.vala"
		g_task_return_error (_data_->_async_result, _data_->_inner_error0_);
#line 352 "pidgin-plugin.vala"
		_g_free0 (_data_->prot);
#line 352 "pidgin-plugin.vala"
		g_object_unref (_data_->_async_result);
#line 352 "pidgin-plugin.vala"
		return FALSE;
#line 4673 "pidgin-plugin.c"
	}
#line 353 "pidgin-plugin.vala"
	_data_->_tmp10_ = _data_->self->priv->p;
#line 353 "pidgin-plugin.vala"
	_data_->_tmp11_ = synapse_purple_interface_purple_buddy_get_name (_data_->_tmp10_, _data_->buddy, &_data_->_inner_error0_);
#line 353 "pidgin-plugin.vala"
	_data_->name = _data_->_tmp11_;
#line 353 "pidgin-plugin.vala"
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
#line 353 "pidgin-plugin.vala"
		g_task_return_error (_data_->_async_result, _data_->_inner_error0_);
#line 353 "pidgin-plugin.vala"
		_g_free0 (_data_->alias);
#line 353 "pidgin-plugin.vala"
		_g_free0 (_data_->prot);
#line 353 "pidgin-plugin.vala"
		g_object_unref (_data_->_async_result);
#line 353 "pidgin-plugin.vala"
		return FALSE;
#line 4693 "pidgin-plugin.c"
	}
#line 355 "pidgin-plugin.vala"
	_data_->_tmp13_ = _data_->self->priv->p;
#line 355 "pidgin-plugin.vala"
	_data_->_tmp12_ = synapse_purple_interface_purple_buddy_is_online (_data_->_tmp13_, _data_->buddy, &_data_->_inner_error0_);
#line 355 "pidgin-plugin.vala"
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
#line 355 "pidgin-plugin.vala"
		g_task_return_error (_data_->_async_result, _data_->_inner_error0_);
#line 355 "pidgin-plugin.vala"
		_g_free0 (_data_->name);
#line 355 "pidgin-plugin.vala"
		_g_free0 (_data_->alias);
#line 355 "pidgin-plugin.vala"
		_g_free0 (_data_->prot);
#line 355 "pidgin-plugin.vala"
		g_object_unref (_data_->_async_result);
#line 355 "pidgin-plugin.vala"
		return FALSE;
#line 4713 "pidgin-plugin.c"
	}
#line 355 "pidgin-plugin.vala"
	_data_->online = _data_->_tmp12_ > 0;
#line 357 "pidgin-plugin.vala"
	_data_->_tmp15_ = _data_->alias;
#line 357 "pidgin-plugin.vala"
	if (_data_->_tmp15_ == NULL) {
#line 357 "pidgin-plugin.vala"
		_data_->_tmp14_ = TRUE;
#line 4723 "pidgin-plugin.c"
	} else {
#line 357 "pidgin-plugin.vala"
		_data_->_tmp16_ = _data_->alias;
#line 357 "pidgin-plugin.vala"
		_data_->_tmp14_ = g_strcmp0 (_data_->_tmp16_, "") == 0;
#line 4729 "pidgin-plugin.c"
	}
#line 357 "pidgin-plugin.vala"
	if (_data_->_tmp14_) {
#line 357 "pidgin-plugin.vala"
		_data_->_tmp17_ = _data_->name;
#line 357 "pidgin-plugin.vala"
		_data_->_tmp18_ = g_strdup (_data_->_tmp17_);
#line 357 "pidgin-plugin.vala"
		_g_free0 (_data_->alias);
#line 357 "pidgin-plugin.vala"
		_data_->alias = _data_->_tmp18_;
#line 4741 "pidgin-plugin.c"
	}
#line 359 "pidgin-plugin.vala"
	_data_->_tmp19_ = _data_->self->priv->p;
#line 359 "pidgin-plugin.vala"
	_data_->iconid = synapse_purple_interface_purple_buddy_get_icon (_data_->_tmp19_, _data_->buddy, &_data_->_inner_error0_);
#line 359 "pidgin-plugin.vala"
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
#line 359 "pidgin-plugin.vala"
		g_task_return_error (_data_->_async_result, _data_->_inner_error0_);
#line 359 "pidgin-plugin.vala"
		_g_free0 (_data_->name);
#line 359 "pidgin-plugin.vala"
		_g_free0 (_data_->alias);
#line 359 "pidgin-plugin.vala"
		_g_free0 (_data_->prot);
#line 359 "pidgin-plugin.vala"
		g_object_unref (_data_->_async_result);
#line 359 "pidgin-plugin.vala"
		return FALSE;
#line 4761 "pidgin-plugin.c"
	}
#line 360 "pidgin-plugin.vala"
	_data_->icon = NULL;
#line 361 "pidgin-plugin.vala"
	if (_data_->iconid > 0) {
#line 362 "pidgin-plugin.vala"
		_data_->_tmp21_ = _data_->self->priv->p;
#line 362 "pidgin-plugin.vala"
		_data_->_tmp22_ = synapse_purple_interface_purple_buddy_icon_get_full_path (_data_->_tmp21_, _data_->iconid, &_data_->_inner_error0_);
#line 362 "pidgin-plugin.vala"
		_data_->_tmp20_ = _data_->_tmp22_;
#line 362 "pidgin-plugin.vala"
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
#line 362 "pidgin-plugin.vala"
			g_task_return_error (_data_->_async_result, _data_->_inner_error0_);
#line 362 "pidgin-plugin.vala"
			_g_free0 (_data_->icon);
#line 362 "pidgin-plugin.vala"
			_g_free0 (_data_->name);
#line 362 "pidgin-plugin.vala"
			_g_free0 (_data_->alias);
#line 362 "pidgin-plugin.vala"
			_g_free0 (_data_->prot);
#line 362 "pidgin-plugin.vala"
			g_object_unref (_data_->_async_result);
#line 362 "pidgin-plugin.vala"
			return FALSE;
#line 4789 "pidgin-plugin.c"
		}
#line 362 "pidgin-plugin.vala"
		_data_->_tmp23_ = _data_->_tmp20_;
#line 362 "pidgin-plugin.vala"
		_data_->_tmp20_ = NULL;
#line 362 "pidgin-plugin.vala"
		_g_free0 (_data_->icon);
#line 362 "pidgin-plugin.vala"
		_data_->icon = _data_->_tmp23_;
#line 361 "pidgin-plugin.vala"
		_g_free0 (_data_->_tmp20_);
#line 4801 "pidgin-plugin.c"
	}
#line 364 "pidgin-plugin.vala"
	_data_->_tmp24_ = _data_->self->priv->contacts;
#line 364 "pidgin-plugin.vala"
	_data_->_tmp25_ = _data_->name;
#line 364 "pidgin-plugin.vala"
	_data_->_tmp26_ = _data_->alias;
#line 364 "pidgin-plugin.vala"
	_data_->_tmp27_ = _data_->icon;
#line 364 "pidgin-plugin.vala"
	_data_->_tmp28_ = _data_->name;
#line 364 "pidgin-plugin.vala"
	_data_->_tmp29_ = _data_->prot;
#line 364 "pidgin-plugin.vala"
	_data_->_tmp30_ = g_strdup_printf ("%s (%s)", _data_->_tmp28_, _data_->_tmp29_);
#line 364 "pidgin-plugin.vala"
	_data_->_tmp31_ = _data_->_tmp30_;
#line 364 "pidgin-plugin.vala"
	_data_->_tmp32_ = synapse_pidgin_plugin_contact_new (_data_->self, _data_->account, _data_->buddy, _data_->_tmp25_, _data_->online, _data_->_tmp26_, _data_->_tmp27_, _data_->_tmp31_);
#line 364 "pidgin-plugin.vala"
	_data_->_tmp33_ = _data_->_tmp32_;
#line 364 "pidgin-plugin.vala"
	gee_map_set (_data_->_tmp24_, (gpointer) ((gintptr) _data_->buddy), _data_->_tmp33_);
#line 364 "pidgin-plugin.vala"
	_g_object_unref0 (_data_->_tmp33_);
#line 364 "pidgin-plugin.vala"
	_g_free0 (_data_->_tmp31_);
#line 343 "pidgin-plugin.vala"
	_g_free0 (_data_->icon);
#line 343 "pidgin-plugin.vala"
	_g_free0 (_data_->name);
#line 343 "pidgin-plugin.vala"
	_g_free0 (_data_->alias);
#line 343 "pidgin-plugin.vala"
	_g_free0 (_data_->prot);
#line 343 "pidgin-plugin.vala"
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 343 "pidgin-plugin.vala"
	if (_data_->_state_ != 0) {
#line 343 "pidgin-plugin.vala"
		while (!g_task_get_completed (_data_->_async_result)) {
#line 343 "pidgin-plugin.vala"
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 4845 "pidgin-plugin.c"
		}
	}
#line 343 "pidgin-plugin.vala"
	g_object_unref (_data_->_async_result);
#line 343 "pidgin-plugin.vala"
	return FALSE;
#line 4852 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_init_contacts_data_free (gpointer _data)
{
	SynapsePidginPluginInitContactsData* _data_;
	_data_ = _data;
#line 58 "pidgin-plugin.vala"
	_g_object_unref0 (_data_->self);
#line 58 "pidgin-plugin.vala"
	g_slice_free (SynapsePidginPluginInitContactsData, _data_);
#line 4864 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_init_contacts (SynapsePidginPlugin* self,
                                     GAsyncReadyCallback _callback_,
                                     gpointer _user_data_)
{
	SynapsePidginPluginInitContactsData* _data_;
	SynapsePidginPlugin* _tmp0_;
#line 58 "pidgin-plugin.vala"
	g_return_if_fail (self != NULL);
#line 58 "pidgin-plugin.vala"
	_data_ = g_slice_new0 (SynapsePidginPluginInitContactsData);
#line 58 "pidgin-plugin.vala"
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
#line 58 "pidgin-plugin.vala"
	g_task_set_task_data (_data_->_async_result, _data_, synapse_pidgin_plugin_init_contacts_data_free);
#line 58 "pidgin-plugin.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 58 "pidgin-plugin.vala"
	_data_->self = _tmp0_;
#line 58 "pidgin-plugin.vala"
	synapse_pidgin_plugin_init_contacts_co (_data_);
#line 4888 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_init_contacts_finish (SynapsePidginPlugin* self,
                                            GAsyncResult* _res_)
{
	SynapsePidginPluginInitContactsData* _data_;
#line 58 "pidgin-plugin.vala"
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
#line 4898 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_init_contacts_ready (GObject* source_object,
                                           GAsyncResult* _res_,
                                           gpointer _user_data_)
{
	SynapsePidginPluginInitContactsData* _data_;
#line 382 "pidgin-plugin.vala"
	_data_ = _user_data_;
#line 382 "pidgin-plugin.vala"
	_data_->_source_object_ = source_object;
#line 382 "pidgin-plugin.vala"
	_data_->_res_ = _res_;
#line 382 "pidgin-plugin.vala"
	synapse_pidgin_plugin_init_contacts_co (_data_);
#line 4915 "pidgin-plugin.c"
}

static gboolean
synapse_pidgin_plugin_init_contacts_co (SynapsePidginPluginInitContactsData* _data_)
{
#line 367 "pidgin-plugin.vala"
	switch (_data_->_state_) {
#line 367 "pidgin-plugin.vala"
		case 0:
#line 4925 "pidgin-plugin.c"
		goto _state_0;
#line 367 "pidgin-plugin.vala"
		case 1:
#line 4929 "pidgin-plugin.c"
		goto _state_1;
		default:
#line 367 "pidgin-plugin.vala"
		g_assert_not_reached ();
#line 4934 "pidgin-plugin.c"
	}
	_state_0:
#line 369 "pidgin-plugin.vala"
	_data_->_tmp0_ = _data_->self->priv->contacts;
#line 369 "pidgin-plugin.vala"
	gee_map_clear (_data_->_tmp0_);
#line 370 "pidgin-plugin.vala"
	_data_->_tmp1_ = _data_->self->priv->p;
#line 370 "pidgin-plugin.vala"
	if (_data_->_tmp1_ == NULL) {
#line 370 "pidgin-plugin.vala"
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 370 "pidgin-plugin.vala"
		if (_data_->_state_ != 0) {
#line 370 "pidgin-plugin.vala"
			while (!g_task_get_completed (_data_->_async_result)) {
#line 370 "pidgin-plugin.vala"
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 4953 "pidgin-plugin.c"
			}
		}
#line 370 "pidgin-plugin.vala"
		g_object_unref (_data_->_async_result);
#line 370 "pidgin-plugin.vala"
		return FALSE;
#line 4960 "pidgin-plugin.c"
	}
	{
#line 372 "pidgin-plugin.vala"
		_data_->_tmp2_ = _data_->self->priv->p;
#line 372 "pidgin-plugin.vala"
		_data_->_tmp3_ = 0;
#line 372 "pidgin-plugin.vala"
		_data_->_tmp4_ = synapse_purple_interface_purple_accounts_get_all_active (_data_->_tmp2_, &_data_->_tmp3_, &_data_->_inner_error0_);
#line 372 "pidgin-plugin.vala"
		_data_->accounts = _data_->_tmp4_;
#line 372 "pidgin-plugin.vala"
		_data_->accounts_length1 = _data_->_tmp3_;
#line 372 "pidgin-plugin.vala"
		_data_->_accounts_size_ = _data_->accounts_length1;
#line 372 "pidgin-plugin.vala"
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
#line 4977 "pidgin-plugin.c"
			goto __catch0_g_error;
		}
#line 373 "pidgin-plugin.vala"
		_data_->_tmp5_ = _data_->accounts;
#line 373 "pidgin-plugin.vala"
		_data_->_tmp5__length1 = _data_->accounts_length1;
#line 4984 "pidgin-plugin.c"
		{
#line 373 "pidgin-plugin.vala"
			_data_->account_collection_length1 = 0;
#line 373 "pidgin-plugin.vala"
			_data_->_account_collection_size_ = 0;
#line 373 "pidgin-plugin.vala"
			_data_->account_collection = _data_->_tmp5_;
#line 373 "pidgin-plugin.vala"
			_data_->account_collection_length1 = _data_->_tmp5__length1;
#line 373 "pidgin-plugin.vala"
			for (_data_->account_it = 0; _data_->account_it < _data_->account_collection_length1; _data_->account_it = _data_->account_it + 1) {
#line 373 "pidgin-plugin.vala"
				_data_->account = _data_->account_collection[_data_->account_it];
#line 4998 "pidgin-plugin.c"
				{
#line 375 "pidgin-plugin.vala"
					_data_->_tmp6_ = _data_->self->priv->p;
#line 375 "pidgin-plugin.vala"
					if (_data_->_tmp6_ == NULL) {
#line 375 "pidgin-plugin.vala"
						_data_->accounts = (g_free (_data_->accounts), NULL);
#line 375 "pidgin-plugin.vala"
						g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 375 "pidgin-plugin.vala"
						if (_data_->_state_ != 0) {
#line 375 "pidgin-plugin.vala"
							while (!g_task_get_completed (_data_->_async_result)) {
#line 375 "pidgin-plugin.vala"
								g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 5014 "pidgin-plugin.c"
							}
						}
#line 375 "pidgin-plugin.vala"
						g_object_unref (_data_->_async_result);
#line 375 "pidgin-plugin.vala"
						return FALSE;
#line 5021 "pidgin-plugin.c"
					}
#line 376 "pidgin-plugin.vala"
					_data_->_tmp7_ = _data_->self->priv->p;
#line 376 "pidgin-plugin.vala"
					_data_->_tmp8_ = synapse_purple_interface_purple_account_get_protocol_name (_data_->_tmp7_, _data_->account, &_data_->_inner_error0_);
#line 376 "pidgin-plugin.vala"
					_data_->protocol = _data_->_tmp8_;
#line 376 "pidgin-plugin.vala"
					if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
#line 376 "pidgin-plugin.vala"
						_data_->accounts = (g_free (_data_->accounts), NULL);
#line 5033 "pidgin-plugin.c"
						goto __catch0_g_error;
					}
#line 377 "pidgin-plugin.vala"
					_data_->_tmp9_ = _data_->self->priv->p;
#line 377 "pidgin-plugin.vala"
					_data_->_tmp10_ = 0;
#line 377 "pidgin-plugin.vala"
					_data_->_tmp11_ = synapse_purple_interface_purple_find_buddies (_data_->_tmp9_, _data_->account, "", &_data_->_tmp10_, &_data_->_inner_error0_);
#line 377 "pidgin-plugin.vala"
					_data_->buddies = _data_->_tmp11_;
#line 377 "pidgin-plugin.vala"
					_data_->buddies_length1 = _data_->_tmp10_;
#line 377 "pidgin-plugin.vala"
					_data_->_buddies_size_ = _data_->buddies_length1;
#line 377 "pidgin-plugin.vala"
					if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
#line 377 "pidgin-plugin.vala"
						_g_free0 (_data_->protocol);
#line 377 "pidgin-plugin.vala"
						_data_->accounts = (g_free (_data_->accounts), NULL);
#line 5054 "pidgin-plugin.c"
						goto __catch0_g_error;
					}
#line 379 "pidgin-plugin.vala"
					_data_->_tmp12_ = _data_->buddies;
#line 379 "pidgin-plugin.vala"
					_data_->_tmp12__length1 = _data_->buddies_length1;
#line 5061 "pidgin-plugin.c"
					{
#line 379 "pidgin-plugin.vala"
						_data_->buddy_collection_length1 = 0;
#line 379 "pidgin-plugin.vala"
						_data_->_buddy_collection_size_ = 0;
#line 379 "pidgin-plugin.vala"
						_data_->buddy_collection = _data_->_tmp12_;
#line 379 "pidgin-plugin.vala"
						_data_->buddy_collection_length1 = _data_->_tmp12__length1;
#line 379 "pidgin-plugin.vala"
						for (_data_->buddy_it = 0; _data_->buddy_it < _data_->buddy_collection_length1; _data_->buddy_it = _data_->buddy_it + 1) {
#line 379 "pidgin-plugin.vala"
							_data_->buddy = _data_->buddy_collection[_data_->buddy_it];
#line 5075 "pidgin-plugin.c"
							{
#line 381 "pidgin-plugin.vala"
								_data_->_tmp13_ = _data_->self->priv->p;
#line 381 "pidgin-plugin.vala"
								if (_data_->_tmp13_ == NULL) {
#line 381 "pidgin-plugin.vala"
									_data_->buddies = (g_free (_data_->buddies), NULL);
#line 381 "pidgin-plugin.vala"
									_g_free0 (_data_->protocol);
#line 381 "pidgin-plugin.vala"
									_data_->accounts = (g_free (_data_->accounts), NULL);
#line 381 "pidgin-plugin.vala"
									g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 381 "pidgin-plugin.vala"
									if (_data_->_state_ != 0) {
#line 381 "pidgin-plugin.vala"
										while (!g_task_get_completed (_data_->_async_result)) {
#line 381 "pidgin-plugin.vala"
											g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 5095 "pidgin-plugin.c"
										}
									}
#line 381 "pidgin-plugin.vala"
									g_object_unref (_data_->_async_result);
#line 381 "pidgin-plugin.vala"
									return FALSE;
#line 5102 "pidgin-plugin.c"
								}
#line 382 "pidgin-plugin.vala"
								_data_->_tmp14_ = _data_->protocol;
#line 382 "pidgin-plugin.vala"
								_data_->_state_ = 1;
#line 382 "pidgin-plugin.vala"
								synapse_pidgin_plugin_get_contact (_data_->self, _data_->buddy, _data_->account, _data_->_tmp14_, synapse_pidgin_plugin_init_contacts_ready, _data_);
#line 382 "pidgin-plugin.vala"
								return FALSE;
#line 5112 "pidgin-plugin.c"
								_state_1:
#line 382 "pidgin-plugin.vala"
								synapse_pidgin_plugin_get_contact_finish (_data_->self, _data_->_res_, &_data_->_inner_error0_);
#line 382 "pidgin-plugin.vala"
								if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
#line 382 "pidgin-plugin.vala"
									_data_->buddies = (g_free (_data_->buddies), NULL);
#line 382 "pidgin-plugin.vala"
									_g_free0 (_data_->protocol);
#line 382 "pidgin-plugin.vala"
									_data_->accounts = (g_free (_data_->accounts), NULL);
#line 5124 "pidgin-plugin.c"
									goto __catch0_g_error;
								}
							}
						}
					}
#line 373 "pidgin-plugin.vala"
					_data_->buddies = (g_free (_data_->buddies), NULL);
#line 373 "pidgin-plugin.vala"
					_g_free0 (_data_->protocol);
#line 5134 "pidgin-plugin.c"
				}
			}
		}
#line 371 "pidgin-plugin.vala"
		_data_->accounts = (g_free (_data_->accounts), NULL);
#line 5140 "pidgin-plugin.c"
	}
	goto __finally0;
	__catch0_g_error:
	{
#line 371 "pidgin-plugin.vala"
		g_clear_error (&_data_->_inner_error0_);
#line 387 "pidgin-plugin.vala"
		g_warning ("pidgin-plugin.vala:387: Cannot load Pidgin contacts");
#line 5149 "pidgin-plugin.c"
	}
	__finally0:
#line 371 "pidgin-plugin.vala"
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
#line 371 "pidgin-plugin.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
#line 371 "pidgin-plugin.vala"
		g_clear_error (&_data_->_inner_error0_);
#line 371 "pidgin-plugin.vala"
		g_object_unref (_data_->_async_result);
#line 371 "pidgin-plugin.vala"
		return FALSE;
#line 5162 "pidgin-plugin.c"
	}
#line 367 "pidgin-plugin.vala"
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 367 "pidgin-plugin.vala"
	if (_data_->_state_ != 0) {
#line 367 "pidgin-plugin.vala"
		while (!g_task_get_completed (_data_->_async_result)) {
#line 367 "pidgin-plugin.vala"
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 5172 "pidgin-plugin.c"
		}
	}
#line 367 "pidgin-plugin.vala"
	g_object_unref (_data_->_async_result);
#line 367 "pidgin-plugin.vala"
	return FALSE;
#line 5179 "pidgin-plugin.c"
}

static gboolean
synapse_pidgin_plugin_real_handles_query (SynapseItemProvider* base,
                                          SynapseQuery* query)
{
	SynapsePidginPlugin * self;
	SynapseQuery _tmp0_;
	gboolean result;
#line 391 "pidgin-plugin.vala"
	self = (SynapsePidginPlugin*) base;
#line 391 "pidgin-plugin.vala"
	g_return_val_if_fail (query != NULL, FALSE);
#line 393 "pidgin-plugin.vala"
	_tmp0_ = *query;
#line 393 "pidgin-plugin.vala"
	result = (_tmp0_.query_type & SYNAPSE_QUERY_FLAGS_CONTACTS) == SYNAPSE_QUERY_FLAGS_CONTACTS;
#line 393 "pidgin-plugin.vala"
	return result;
#line 5199 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_real_search_data_free (gpointer _data)
{
	SynapsePidginPluginSearchData* _data_;
	_data_ = _data;
#line 58 "pidgin-plugin.vala"
	synapse_query_destroy (&_data_->q);
#line 58 "pidgin-plugin.vala"
	_g_object_unref0 (_data_->result);
#line 58 "pidgin-plugin.vala"
	_g_object_unref0 (_data_->self);
#line 58 "pidgin-plugin.vala"
	g_slice_free (SynapsePidginPluginSearchData, _data_);
#line 5215 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_real_search (SynapseItemProvider* base,
                                   SynapseQuery* q,
                                   GAsyncReadyCallback _callback_,
                                   gpointer _user_data_)
{
	SynapsePidginPlugin * self;
	SynapsePidginPluginSearchData* _data_;
	SynapsePidginPlugin* _tmp0_;
	SynapseQuery _tmp1_;
	SynapseQuery _tmp2_;
	SynapseQuery _tmp3_ = {0};
#line 58 "pidgin-plugin.vala"
	g_return_if_fail (q != NULL);
#line 58 "pidgin-plugin.vala"
	self = (SynapsePidginPlugin*) base;
#line 58 "pidgin-plugin.vala"
	_data_ = g_slice_new0 (SynapsePidginPluginSearchData);
#line 58 "pidgin-plugin.vala"
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
#line 58 "pidgin-plugin.vala"
	g_task_set_task_data (_data_->_async_result, _data_, synapse_pidgin_plugin_real_search_data_free);
#line 58 "pidgin-plugin.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 58 "pidgin-plugin.vala"
	_data_->self = _tmp0_;
#line 58 "pidgin-plugin.vala"
	_tmp1_ = *q;
#line 58 "pidgin-plugin.vala"
	_tmp2_ = _tmp1_;
#line 58 "pidgin-plugin.vala"
	synapse_query_copy (&_tmp2_, &_tmp3_);
#line 58 "pidgin-plugin.vala"
	synapse_query_destroy (&_data_->q);
#line 58 "pidgin-plugin.vala"
	_data_->q = _tmp3_;
#line 58 "pidgin-plugin.vala"
	synapse_pidgin_plugin_real_search_co (_data_);
#line 5256 "pidgin-plugin.c"
}

static SynapseResultSet*
synapse_pidgin_plugin_search_finish (SynapseItemProvider* base,
                                     GAsyncResult* _res_,
                                     GError** error)
{
	SynapseResultSet* result;
	SynapsePidginPluginSearchData* _data_;
#line 58 "pidgin-plugin.vala"
	_data_ = g_task_propagate_pointer (G_TASK (_res_), error);
#line 58 "pidgin-plugin.vala"
	if (NULL == _data_) {
#line 58 "pidgin-plugin.vala"
		return NULL;
#line 5272 "pidgin-plugin.c"
	}
#line 58 "pidgin-plugin.vala"
	result = _data_->result;
#line 58 "pidgin-plugin.vala"
	_data_->result = NULL;
#line 58 "pidgin-plugin.vala"
	return result;
#line 5280 "pidgin-plugin.c"
}

static gboolean
synapse_pidgin_plugin_real_search_co (SynapsePidginPluginSearchData* _data_)
{
#line 396 "pidgin-plugin.vala"
	switch (_data_->_state_) {
#line 396 "pidgin-plugin.vala"
		case 0:
#line 5290 "pidgin-plugin.c"
		goto _state_0;
		default:
#line 396 "pidgin-plugin.vala"
		g_assert_not_reached ();
#line 5295 "pidgin-plugin.c"
	}
	_state_0:
#line 399 "pidgin-plugin.vala"
	_data_->_tmp0_ = _data_->q;
#line 399 "pidgin-plugin.vala"
	if (!((_data_->_tmp0_.query_type & SYNAPSE_QUERY_FLAGS_CONTACTS) == SYNAPSE_QUERY_FLAGS_CONTACTS)) {
#line 399 "pidgin-plugin.vala"
		_data_->result = NULL;
#line 399 "pidgin-plugin.vala"
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 399 "pidgin-plugin.vala"
		if (_data_->_state_ != 0) {
#line 399 "pidgin-plugin.vala"
			while (!g_task_get_completed (_data_->_async_result)) {
#line 399 "pidgin-plugin.vala"
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 5312 "pidgin-plugin.c"
			}
		}
#line 399 "pidgin-plugin.vala"
		g_object_unref (_data_->_async_result);
#line 399 "pidgin-plugin.vala"
		return FALSE;
#line 5319 "pidgin-plugin.c"
	}
#line 401 "pidgin-plugin.vala"
	_data_->_tmp1_ = synapse_result_set_new ();
#line 401 "pidgin-plugin.vala"
	_data_->_result_ = _data_->_tmp1_;
#line 403 "pidgin-plugin.vala"
	_data_->_tmp2_ = _data_->q;
#line 403 "pidgin-plugin.vala"
	_data_->_tmp3_ = _data_->_tmp2_.query_string;
#line 403 "pidgin-plugin.vala"
	_data_->_tmp4_ = synapse_query_get_matchers_for_query (_data_->_tmp3_, 0, G_REGEX_OPTIMIZE | G_REGEX_CASELESS);
#line 403 "pidgin-plugin.vala"
	_data_->matchers = _data_->_tmp4_;
#line 406 "pidgin-plugin.vala"
	_data_->_tmp5_ = _data_->self->priv->contacts;
#line 406 "pidgin-plugin.vala"
	_data_->_tmp6_ = gee_map_get_entries (_data_->_tmp5_);
#line 406 "pidgin-plugin.vala"
	_data_->_tmp7_ = _data_->_tmp6_;
#line 406 "pidgin-plugin.vala"
	_data_->matches = _data_->_tmp7_;
#line 5341 "pidgin-plugin.c"
	{
#line 408 "pidgin-plugin.vala"
		_data_->_tmp8_ = _data_->matches;
#line 408 "pidgin-plugin.vala"
		_data_->_tmp9_ = gee_iterable_iterator ((GeeIterable*) _data_->_tmp8_);
#line 408 "pidgin-plugin.vala"
		_data_->_contact_it = _data_->_tmp9_;
#line 408 "pidgin-plugin.vala"
		while (TRUE) {
#line 408 "pidgin-plugin.vala"
			_data_->_tmp10_ = _data_->_contact_it;
#line 408 "pidgin-plugin.vala"
			if (!gee_iterator_next (_data_->_tmp10_)) {
#line 408 "pidgin-plugin.vala"
				break;
#line 5357 "pidgin-plugin.c"
			}
#line 408 "pidgin-plugin.vala"
			_data_->_tmp11_ = _data_->_contact_it;
#line 408 "pidgin-plugin.vala"
			_data_->_tmp12_ = gee_iterator_get (_data_->_tmp11_);
#line 408 "pidgin-plugin.vala"
			_data_->contact = (GeeMapEntry*) _data_->_tmp12_;
#line 410 "pidgin-plugin.vala"
			_data_->_tmp13_ = _data_->contact;
#line 410 "pidgin-plugin.vala"
			_data_->_tmp14_ = gee_map_entry_get_value (_data_->_tmp13_);
#line 410 "pidgin-plugin.vala"
			_data_->_tmp15_ = _data_->_tmp14_;
#line 410 "pidgin-plugin.vala"
			_data_->_tmp16_ = synapse_pidgin_plugin_contact_get_online ((SynapsePidginPluginContact*) _data_->_tmp15_);
#line 410 "pidgin-plugin.vala"
			_data_->_tmp17_ = _data_->_tmp16_;
#line 410 "pidgin-plugin.vala"
			if (!_data_->_tmp17_) {
#line 410 "pidgin-plugin.vala"
				_g_object_unref0 (_data_->contact);
#line 410 "pidgin-plugin.vala"
				continue;
#line 5381 "pidgin-plugin.c"
			}
			{
#line 411 "pidgin-plugin.vala"
				_data_->_tmp18_ = _data_->matchers;
#line 411 "pidgin-plugin.vala"
				_data_->_matcher_list = _data_->_tmp18_;
#line 411 "pidgin-plugin.vala"
				_data_->_tmp19_ = _data_->_matcher_list;
#line 411 "pidgin-plugin.vala"
				_data_->_tmp20_ = gee_collection_get_size ((GeeCollection*) _data_->_tmp19_);
#line 411 "pidgin-plugin.vala"
				_data_->_tmp21_ = _data_->_tmp20_;
#line 411 "pidgin-plugin.vala"
				_data_->_matcher_size = _data_->_tmp21_;
#line 411 "pidgin-plugin.vala"
				_data_->_matcher_index = -1;
#line 411 "pidgin-plugin.vala"
				while (TRUE) {
#line 411 "pidgin-plugin.vala"
					_data_->_matcher_index = _data_->_matcher_index + 1;
#line 411 "pidgin-plugin.vala"
					_data_->_tmp22_ = _data_->_matcher_index;
#line 411 "pidgin-plugin.vala"
					_data_->_tmp23_ = _data_->_matcher_size;
#line 411 "pidgin-plugin.vala"
					if (!(_data_->_tmp22_ < _data_->_tmp23_)) {
#line 411 "pidgin-plugin.vala"
						break;
#line 5410 "pidgin-plugin.c"
					}
#line 411 "pidgin-plugin.vala"
					_data_->_tmp24_ = _data_->_matcher_list;
#line 411 "pidgin-plugin.vala"
					_data_->_tmp25_ = gee_list_get (_data_->_tmp24_, _data_->_matcher_index);
#line 411 "pidgin-plugin.vala"
					_data_->matcher = (GeeMapEntry*) _data_->_tmp25_;
#line 413 "pidgin-plugin.vala"
					_data_->_tmp26_ = _data_->matcher;
#line 413 "pidgin-plugin.vala"
					_data_->_tmp27_ = gee_map_entry_get_key (_data_->_tmp26_);
#line 413 "pidgin-plugin.vala"
					_data_->_tmp28_ = _data_->_tmp27_;
#line 413 "pidgin-plugin.vala"
					_data_->_tmp29_ = _data_->contact;
#line 413 "pidgin-plugin.vala"
					_data_->_tmp30_ = gee_map_entry_get_value (_data_->_tmp29_);
#line 413 "pidgin-plugin.vala"
					_data_->_tmp31_ = _data_->_tmp30_;
#line 413 "pidgin-plugin.vala"
					_data_->_tmp32_ = synapse_match_get_title ((SynapseMatch*) ((SynapsePidginPluginContact*) _data_->_tmp31_));
#line 413 "pidgin-plugin.vala"
					_data_->_tmp33_ = _data_->_tmp32_;
#line 413 "pidgin-plugin.vala"
					if (g_regex_match ((GRegex*) _data_->_tmp28_, _data_->_tmp33_, 0, NULL)) {
#line 415 "pidgin-plugin.vala"
						_data_->_tmp34_ = _data_->_result_;
#line 415 "pidgin-plugin.vala"
						_data_->_tmp35_ = _data_->contact;
#line 415 "pidgin-plugin.vala"
						_data_->_tmp36_ = gee_map_entry_get_value (_data_->_tmp35_);
#line 415 "pidgin-plugin.vala"
						_data_->_tmp37_ = _data_->_tmp36_;
#line 415 "pidgin-plugin.vala"
						_data_->_tmp38_ = _data_->matcher;
#line 415 "pidgin-plugin.vala"
						_data_->_tmp39_ = gee_map_entry_get_value (_data_->_tmp38_);
#line 415 "pidgin-plugin.vala"
						_data_->_tmp40_ = _data_->_tmp39_;
#line 415 "pidgin-plugin.vala"
						synapse_result_set_add (_data_->_tmp34_, (SynapseMatch*) ((SynapsePidginPluginContact*) _data_->_tmp37_), ((gint) ((gintptr) _data_->_tmp40_)) - SYNAPSE_MATCH_SCORE_INCREMENT_SMALL);
#line 416 "pidgin-plugin.vala"
						_g_object_unref0 (_data_->matcher);
#line 416 "pidgin-plugin.vala"
						break;
#line 5456 "pidgin-plugin.c"
					}
#line 411 "pidgin-plugin.vala"
					_g_object_unref0 (_data_->matcher);
#line 5460 "pidgin-plugin.c"
				}
			}
#line 408 "pidgin-plugin.vala"
			_g_object_unref0 (_data_->contact);
#line 5465 "pidgin-plugin.c"
		}
#line 408 "pidgin-plugin.vala"
		_g_object_unref0 (_data_->_contact_it);
#line 5469 "pidgin-plugin.c"
	}
#line 421 "pidgin-plugin.vala"
	synapse_query_check_cancellable (&_data_->q, &_data_->_inner_error0_);
#line 421 "pidgin-plugin.vala"
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
#line 421 "pidgin-plugin.vala"
		if (_data_->_inner_error0_->domain == SYNAPSE_SEARCH_ERROR) {
#line 421 "pidgin-plugin.vala"
			g_task_return_error (_data_->_async_result, _data_->_inner_error0_);
#line 421 "pidgin-plugin.vala"
			_g_object_unref0 (_data_->matches);
#line 421 "pidgin-plugin.vala"
			_g_object_unref0 (_data_->matchers);
#line 421 "pidgin-plugin.vala"
			_g_object_unref0 (_data_->_result_);
#line 421 "pidgin-plugin.vala"
			g_object_unref (_data_->_async_result);
#line 421 "pidgin-plugin.vala"
			return FALSE;
#line 5489 "pidgin-plugin.c"
		} else {
#line 421 "pidgin-plugin.vala"
			_g_object_unref0 (_data_->matches);
#line 421 "pidgin-plugin.vala"
			_g_object_unref0 (_data_->matchers);
#line 421 "pidgin-plugin.vala"
			_g_object_unref0 (_data_->_result_);
#line 421 "pidgin-plugin.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
#line 421 "pidgin-plugin.vala"
			g_clear_error (&_data_->_inner_error0_);
#line 421 "pidgin-plugin.vala"
			g_object_unref (_data_->_async_result);
#line 421 "pidgin-plugin.vala"
			return FALSE;
#line 5505 "pidgin-plugin.c"
		}
	}
#line 423 "pidgin-plugin.vala"
	_data_->result = _data_->_result_;
#line 423 "pidgin-plugin.vala"
	_g_object_unref0 (_data_->matches);
#line 423 "pidgin-plugin.vala"
	_g_object_unref0 (_data_->matchers);
#line 423 "pidgin-plugin.vala"
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 423 "pidgin-plugin.vala"
	if (_data_->_state_ != 0) {
#line 423 "pidgin-plugin.vala"
		while (!g_task_get_completed (_data_->_async_result)) {
#line 423 "pidgin-plugin.vala"
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 5522 "pidgin-plugin.c"
		}
	}
#line 423 "pidgin-plugin.vala"
	g_object_unref (_data_->_async_result);
#line 423 "pidgin-plugin.vala"
	return FALSE;
#line 5529 "pidgin-plugin.c"
}

SynapsePidginPlugin*
synapse_pidgin_plugin_construct (GType object_type)
{
	SynapsePidginPlugin * self = NULL;
#line 58 "pidgin-plugin.vala"
	self = (SynapsePidginPlugin*) g_object_new (object_type, NULL);
#line 58 "pidgin-plugin.vala"
	return self;
#line 5540 "pidgin-plugin.c"
}

SynapsePidginPlugin*
synapse_pidgin_plugin_new (void)
{
#line 58 "pidgin-plugin.vala"
	return synapse_pidgin_plugin_construct (SYNAPSE_TYPE_PIDGIN_PLUGIN);
#line 5548 "pidgin-plugin.c"
}

static gboolean
synapse_pidgin_plugin_real_get_enabled (SynapseActivatable* base)
{
	gboolean result;
	SynapsePidginPlugin* self;
#line 60 "pidgin-plugin.vala"
	self = (SynapsePidginPlugin*) base;
#line 60 "pidgin-plugin.vala"
	result = self->priv->_enabled;
#line 60 "pidgin-plugin.vala"
	return result;
#line 5562 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_real_set_enabled (SynapseActivatable* base,
                                        gboolean value)
{
	SynapsePidginPlugin* self;
	gboolean old_value;
#line 60 "pidgin-plugin.vala"
	self = (SynapsePidginPlugin*) base;
#line 60 "pidgin-plugin.vala"
	old_value = synapse_pidgin_plugin_real_get_enabled (base);
#line 60 "pidgin-plugin.vala"
	if (old_value != value) {
#line 60 "pidgin-plugin.vala"
		self->priv->_enabled = value;
#line 60 "pidgin-plugin.vala"
		g_object_notify_by_pspec ((GObject *) self, synapse_pidgin_plugin_properties[SYNAPSE_PIDGIN_PLUGIN_ENABLED_PROPERTY]);
#line 5581 "pidgin-plugin.c"
	}
}

static SynapsePidginPluginSendToContact*
synapse_pidgin_plugin_send_to_contact_construct (GType object_type)
{
	SynapsePidginPluginSendToContact * self = NULL;
#line 94 "pidgin-plugin.vala"
	self = (SynapsePidginPluginSendToContact*) g_object_new (object_type, "title", _ ("Send in chat to.."), "description", _ ("Send selected file within Pidgin"), "icon-name", "document-send", "has-thumbnail", FALSE, "default-relevancy", SYNAPSE_MATCH_SCORE_AVERAGE, NULL);
#line 92 "pidgin-plugin.vala"
	return self;
#line 5593 "pidgin-plugin.c"
}

static SynapsePidginPluginSendToContact*
synapse_pidgin_plugin_send_to_contact_new (void)
{
#line 92 "pidgin-plugin.vala"
	return synapse_pidgin_plugin_send_to_contact_construct (SYNAPSE_PIDGIN_PLUGIN_TYPE_SEND_TO_CONTACT);
#line 5601 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_send_to_contact_real_do_execute (SynapseAction* base,
                                                       SynapseMatch* match,
                                                       SynapseMatch* target)
{
	SynapsePidginPluginSendToContact * self;
	SynapsePidginPluginContact* c = NULL;
	SynapseUriMatch* u = NULL;
	const gchar* _tmp0_;
	const gchar* _tmp1_;
#line 100 "pidgin-plugin.vala"
	self = (SynapsePidginPluginSendToContact*) base;
#line 100 "pidgin-plugin.vala"
	g_return_if_fail (match != NULL);
#line 102 "pidgin-plugin.vala"
	c = SYNAPSE_PIDGIN_PLUGIN_IS_CONTACT (target) ? ((SynapsePidginPluginContact*) target) : NULL;
#line 103 "pidgin-plugin.vala"
	g_return_if_fail (c != NULL);
#line 104 "pidgin-plugin.vala"
	u = G_TYPE_CHECK_INSTANCE_TYPE (match, SYNAPSE_TYPE_URI_MATCH) ? ((SynapseUriMatch*) match) : NULL;
#line 105 "pidgin-plugin.vala"
	g_return_if_fail (u != NULL);
#line 107 "pidgin-plugin.vala"
	_tmp0_ = synapse_uri_match_get_uri (u);
#line 107 "pidgin-plugin.vala"
	_tmp1_ = _tmp0_;
#line 107 "pidgin-plugin.vala"
	synapse_pidgin_plugin_contact_send_file (c, _tmp1_);
#line 5632 "pidgin-plugin.c"
}

static gboolean
synapse_pidgin_plugin_send_to_contact_real_valid_for_match (SynapseAction* base,
                                                            SynapseMatch* match)
{
	SynapsePidginPluginSendToContact * self;
	gboolean _tmp0_ = FALSE;
	gboolean result;
#line 110 "pidgin-plugin.vala"
	self = (SynapsePidginPluginSendToContact*) base;
#line 110 "pidgin-plugin.vala"
	g_return_val_if_fail (match != NULL, FALSE);
#line 112 "pidgin-plugin.vala"
	if (G_TYPE_CHECK_INSTANCE_TYPE (match, SYNAPSE_TYPE_URI_MATCH)) {
#line 5648 "pidgin-plugin.c"
		SynapseQueryFlags _tmp1_;
		SynapseQueryFlags _tmp2_;
#line 112 "pidgin-plugin.vala"
		_tmp1_ = synapse_uri_match_get_file_type (G_TYPE_CHECK_INSTANCE_CAST (match, SYNAPSE_TYPE_URI_MATCH, SynapseUriMatch));
#line 112 "pidgin-plugin.vala"
		_tmp2_ = _tmp1_;
#line 112 "pidgin-plugin.vala"
		_tmp0_ = (_tmp2_ & SYNAPSE_QUERY_FLAGS_FILES) != 0;
#line 5657 "pidgin-plugin.c"
	} else {
#line 112 "pidgin-plugin.vala"
		_tmp0_ = FALSE;
#line 5661 "pidgin-plugin.c"
	}
#line 112 "pidgin-plugin.vala"
	result = _tmp0_;
#line 112 "pidgin-plugin.vala"
	return result;
#line 5667 "pidgin-plugin.c"
}

static gboolean
synapse_pidgin_plugin_send_to_contact_real_needs_target (SynapseMatch* base)
{
	SynapsePidginPluginSendToContact * self;
	gboolean result;
#line 115 "pidgin-plugin.vala"
	self = (SynapsePidginPluginSendToContact*) base;
#line 117 "pidgin-plugin.vala"
	result = TRUE;
#line 117 "pidgin-plugin.vala"
	return result;
#line 5681 "pidgin-plugin.c"
}

static SynapseQueryFlags
synapse_pidgin_plugin_send_to_contact_real_target_flags (SynapseMatch* base)
{
	SynapsePidginPluginSendToContact * self;
	SynapseQueryFlags result;
#line 120 "pidgin-plugin.vala"
	self = (SynapsePidginPluginSendToContact*) base;
#line 122 "pidgin-plugin.vala"
	result = SYNAPSE_QUERY_FLAGS_CONTACTS;
#line 122 "pidgin-plugin.vala"
	return result;
#line 5695 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_send_to_contact_class_init (SynapsePidginPluginSendToContactClass * klass,
                                                  gpointer klass_data)
{
#line 90 "pidgin-plugin.vala"
	synapse_pidgin_plugin_send_to_contact_parent_class = g_type_class_peek_parent (klass);
#line 90 "pidgin-plugin.vala"
	((SynapseActionClass *) klass)->do_execute = (void (*) (SynapseAction*, SynapseMatch*, SynapseMatch*)) synapse_pidgin_plugin_send_to_contact_real_do_execute;
#line 90 "pidgin-plugin.vala"
	((SynapseActionClass *) klass)->valid_for_match = (gboolean (*) (SynapseAction*, SynapseMatch*)) synapse_pidgin_plugin_send_to_contact_real_valid_for_match;
#line 90 "pidgin-plugin.vala"
	((SynapseMatchClass *) klass)->needs_target = (gboolean (*) (SynapseMatch*)) synapse_pidgin_plugin_send_to_contact_real_needs_target;
#line 90 "pidgin-plugin.vala"
	((SynapseMatchClass *) klass)->target_flags = (SynapseQueryFlags (*) (SynapseMatch*)) synapse_pidgin_plugin_send_to_contact_real_target_flags;
#line 5712 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_send_to_contact_instance_init (SynapsePidginPluginSendToContact * self,
                                                     gpointer klass)
{
}

static GType
synapse_pidgin_plugin_send_to_contact_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SynapsePidginPluginSendToContactClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) synapse_pidgin_plugin_send_to_contact_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SynapsePidginPluginSendToContact), 0, (GInstanceInitFunc) synapse_pidgin_plugin_send_to_contact_instance_init, NULL };
	GType synapse_pidgin_plugin_send_to_contact_type_id;
	synapse_pidgin_plugin_send_to_contact_type_id = g_type_register_static (SYNAPSE_TYPE_ACTION, "SynapsePidginPluginSendToContact", &g_define_type_info, 0);
	return synapse_pidgin_plugin_send_to_contact_type_id;
}

static GType
synapse_pidgin_plugin_send_to_contact_get_type (void)
{
	static volatile gsize synapse_pidgin_plugin_send_to_contact_type_id__once = 0;
	if (g_once_init_enter (&synapse_pidgin_plugin_send_to_contact_type_id__once)) {
		GType synapse_pidgin_plugin_send_to_contact_type_id;
		synapse_pidgin_plugin_send_to_contact_type_id = synapse_pidgin_plugin_send_to_contact_get_type_once ();
		g_once_init_leave (&synapse_pidgin_plugin_send_to_contact_type_id__once, synapse_pidgin_plugin_send_to_contact_type_id);
	}
	return synapse_pidgin_plugin_send_to_contact_type_id__once;
}

static inline gpointer
synapse_pidgin_plugin_contact_get_instance_private (SynapsePidginPluginContact* self)
{
	return G_STRUCT_MEMBER_P (self, SynapsePidginPluginContact_private_offset);
}

static SynapsePidginPluginContact*
synapse_pidgin_plugin_contact_construct (GType object_type,
                                         SynapsePidginPlugin* plugin,
                                         gint account_id,
                                         gint contact_id,
                                         const gchar* name,
                                         gboolean online,
                                         const gchar* alias,
                                         const gchar* icon_path,
                                         const gchar* description)
{
	SynapsePidginPluginContact * self = NULL;
	const gchar* _tmp0_ = NULL;
#line 135 "pidgin-plugin.vala"
	g_return_val_if_fail (plugin != NULL, NULL);
#line 135 "pidgin-plugin.vala"
	g_return_val_if_fail (name != NULL, NULL);
#line 135 "pidgin-plugin.vala"
	g_return_val_if_fail (alias != NULL, NULL);
#line 135 "pidgin-plugin.vala"
	g_return_val_if_fail (description != NULL, NULL);
#line 142 "pidgin-plugin.vala"
	_tmp0_ = icon_path;
#line 142 "pidgin-plugin.vala"
	if (_tmp0_ == NULL) {
#line 142 "pidgin-plugin.vala"
		_tmp0_ = "stock_person";
#line 5775 "pidgin-plugin.c"
	}
#line 138 "pidgin-plugin.vala"
	self = (SynapsePidginPluginContact*) g_object_new (object_type, "title", alias, "description", description, "online", online, "name", name, "icon-name", _tmp0_, "has-thumbnail", FALSE, "plugin", plugin, "account-id", account_id, "contact-id", contact_id, NULL);
#line 135 "pidgin-plugin.vala"
	return self;
#line 5781 "pidgin-plugin.c"
}

static SynapsePidginPluginContact*
synapse_pidgin_plugin_contact_new (SynapsePidginPlugin* plugin,
                                   gint account_id,
                                   gint contact_id,
                                   const gchar* name,
                                   gboolean online,
                                   const gchar* alias,
                                   const gchar* icon_path,
                                   const gchar* description)
{
#line 135 "pidgin-plugin.vala"
	return synapse_pidgin_plugin_contact_construct (SYNAPSE_PIDGIN_PLUGIN_TYPE_CONTACT, plugin, account_id, contact_id, name, online, alias, icon_path, description);
#line 5796 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_contact_real_send_message (SynapseContactMatch* base,
                                                 const gchar* message,
                                                 gboolean present)
{
	SynapsePidginPluginContact * self;
	SynapsePidginPlugin* _tmp0_;
#line 149 "pidgin-plugin.vala"
	self = (SynapsePidginPluginContact*) base;
#line 149 "pidgin-plugin.vala"
	g_return_if_fail (message != NULL);
#line 151 "pidgin-plugin.vala"
	_tmp0_ = self->priv->_plugin;
#line 151 "pidgin-plugin.vala"
	synapse_pidgin_plugin_send_message (_tmp0_, self, message, present);
#line 5814 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_contact_real_open_chat (SynapseContactMatch* base)
{
	SynapsePidginPluginContact * self;
	SynapsePidginPlugin* _tmp0_;
#line 154 "pidgin-plugin.vala"
	self = (SynapsePidginPluginContact*) base;
#line 156 "pidgin-plugin.vala"
	_tmp0_ = self->priv->_plugin;
#line 156 "pidgin-plugin.vala"
	synapse_pidgin_plugin_open_chat (_tmp0_, self);
#line 5828 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_contact_send_file (SynapsePidginPluginContact* self,
                                         const gchar* path)
{
	SynapsePidginPlugin* _tmp0_;
#line 159 "pidgin-plugin.vala"
	g_return_if_fail (self != NULL);
#line 159 "pidgin-plugin.vala"
	g_return_if_fail (path != NULL);
#line 161 "pidgin-plugin.vala"
	_tmp0_ = self->priv->_plugin;
#line 161 "pidgin-plugin.vala"
	synapse_pidgin_plugin_send_file (_tmp0_, self, path);
#line 5844 "pidgin-plugin.c"
}

static SynapsePidginPlugin*
synapse_pidgin_plugin_contact_get_plugin (SynapsePidginPluginContact* self)
{
	SynapsePidginPlugin* result;
	SynapsePidginPlugin* _tmp0_;
#line 128 "pidgin-plugin.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 128 "pidgin-plugin.vala"
	_tmp0_ = self->priv->_plugin;
#line 128 "pidgin-plugin.vala"
	result = _tmp0_;
#line 128 "pidgin-plugin.vala"
	return result;
#line 5860 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_contact_set_plugin (SynapsePidginPluginContact* self,
                                          SynapsePidginPlugin* value)
{
	SynapsePidginPlugin* old_value;
#line 128 "pidgin-plugin.vala"
	g_return_if_fail (self != NULL);
#line 128 "pidgin-plugin.vala"
	old_value = synapse_pidgin_plugin_contact_get_plugin (self);
#line 128 "pidgin-plugin.vala"
	if (old_value != value) {
#line 5874 "pidgin-plugin.c"
		SynapsePidginPlugin* _tmp0_;
#line 128 "pidgin-plugin.vala"
		_tmp0_ = _g_object_ref0 (value);
#line 128 "pidgin-plugin.vala"
		_g_object_unref0 (self->priv->_plugin);
#line 128 "pidgin-plugin.vala"
		self->priv->_plugin = _tmp0_;
#line 128 "pidgin-plugin.vala"
		g_object_notify_by_pspec ((GObject *) self, synapse_pidgin_plugin_contact_properties[SYNAPSE_PIDGIN_PLUGIN_CONTACT_PLUGIN_PROPERTY]);
#line 5884 "pidgin-plugin.c"
	}
}

static gint
synapse_pidgin_plugin_contact_get_account_id (SynapsePidginPluginContact* self)
{
	gint result;
#line 130 "pidgin-plugin.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 130 "pidgin-plugin.vala"
	result = self->priv->_account_id;
#line 130 "pidgin-plugin.vala"
	return result;
#line 5898 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_contact_set_account_id (SynapsePidginPluginContact* self,
                                              gint value)
{
	gint old_value;
#line 130 "pidgin-plugin.vala"
	g_return_if_fail (self != NULL);
#line 130 "pidgin-plugin.vala"
	old_value = synapse_pidgin_plugin_contact_get_account_id (self);
#line 130 "pidgin-plugin.vala"
	if (old_value != value) {
#line 130 "pidgin-plugin.vala"
		self->priv->_account_id = value;
#line 130 "pidgin-plugin.vala"
		g_object_notify_by_pspec ((GObject *) self, synapse_pidgin_plugin_contact_properties[SYNAPSE_PIDGIN_PLUGIN_CONTACT_ACCOUNT_ID_PROPERTY]);
#line 5916 "pidgin-plugin.c"
	}
}

static gint
synapse_pidgin_plugin_contact_get_contact_id (SynapsePidginPluginContact* self)
{
	gint result;
#line 131 "pidgin-plugin.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 131 "pidgin-plugin.vala"
	result = self->priv->_contact_id;
#line 131 "pidgin-plugin.vala"
	return result;
#line 5930 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_contact_set_contact_id (SynapsePidginPluginContact* self,
                                              gint value)
{
	gint old_value;
#line 131 "pidgin-plugin.vala"
	g_return_if_fail (self != NULL);
#line 131 "pidgin-plugin.vala"
	old_value = synapse_pidgin_plugin_contact_get_contact_id (self);
#line 131 "pidgin-plugin.vala"
	if (old_value != value) {
#line 131 "pidgin-plugin.vala"
		self->priv->_contact_id = value;
#line 131 "pidgin-plugin.vala"
		g_object_notify_by_pspec ((GObject *) self, synapse_pidgin_plugin_contact_properties[SYNAPSE_PIDGIN_PLUGIN_CONTACT_CONTACT_ID_PROPERTY]);
#line 5948 "pidgin-plugin.c"
	}
}

static const gchar*
synapse_pidgin_plugin_contact_get_name (SynapsePidginPluginContact* self)
{
	const gchar* result;
	const gchar* _tmp0_;
#line 132 "pidgin-plugin.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 132 "pidgin-plugin.vala"
	_tmp0_ = self->priv->_name;
#line 132 "pidgin-plugin.vala"
	result = _tmp0_;
#line 132 "pidgin-plugin.vala"
	return result;
#line 5965 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_contact_set_name (SynapsePidginPluginContact* self,
                                        const gchar* value)
{
	gchar* old_value;
#line 132 "pidgin-plugin.vala"
	g_return_if_fail (self != NULL);
#line 132 "pidgin-plugin.vala"
	old_value = synapse_pidgin_plugin_contact_get_name (self);
#line 132 "pidgin-plugin.vala"
	if (g_strcmp0 (value, old_value) != 0) {
#line 5979 "pidgin-plugin.c"
		gchar* _tmp0_;
#line 132 "pidgin-plugin.vala"
		_tmp0_ = g_strdup (value);
#line 132 "pidgin-plugin.vala"
		_g_free0 (self->priv->_name);
#line 132 "pidgin-plugin.vala"
		self->priv->_name = _tmp0_;
#line 132 "pidgin-plugin.vala"
		g_object_notify_by_pspec ((GObject *) self, synapse_pidgin_plugin_contact_properties[SYNAPSE_PIDGIN_PLUGIN_CONTACT_NAME_PROPERTY]);
#line 5989 "pidgin-plugin.c"
	}
}

static gboolean
synapse_pidgin_plugin_contact_get_online (SynapsePidginPluginContact* self)
{
	gboolean result;
#line 133 "pidgin-plugin.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 133 "pidgin-plugin.vala"
	result = self->priv->_online;
#line 133 "pidgin-plugin.vala"
	return result;
#line 6003 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_contact_set_online (SynapsePidginPluginContact* self,
                                          gboolean value)
{
	gboolean old_value;
#line 133 "pidgin-plugin.vala"
	g_return_if_fail (self != NULL);
#line 133 "pidgin-plugin.vala"
	old_value = synapse_pidgin_plugin_contact_get_online (self);
#line 133 "pidgin-plugin.vala"
	if (old_value != value) {
#line 133 "pidgin-plugin.vala"
		self->priv->_online = value;
#line 133 "pidgin-plugin.vala"
		g_object_notify_by_pspec ((GObject *) self, synapse_pidgin_plugin_contact_properties[SYNAPSE_PIDGIN_PLUGIN_CONTACT_ONLINE_PROPERTY]);
#line 6021 "pidgin-plugin.c"
	}
}

static void
synapse_pidgin_plugin_contact_class_init (SynapsePidginPluginContactClass * klass,
                                          gpointer klass_data)
{
#line 126 "pidgin-plugin.vala"
	synapse_pidgin_plugin_contact_parent_class = g_type_class_peek_parent (klass);
#line 126 "pidgin-plugin.vala"
	g_type_class_adjust_private_offset (klass, &SynapsePidginPluginContact_private_offset);
#line 126 "pidgin-plugin.vala"
	((SynapseContactMatchClass *) klass)->send_message = (void (*) (SynapseContactMatch*, const gchar*, gboolean)) synapse_pidgin_plugin_contact_real_send_message;
#line 126 "pidgin-plugin.vala"
	((SynapseContactMatchClass *) klass)->open_chat = (void (*) (SynapseContactMatch*)) synapse_pidgin_plugin_contact_real_open_chat;
#line 126 "pidgin-plugin.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_synapse_pidgin_plugin_contact_get_property;
#line 126 "pidgin-plugin.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_synapse_pidgin_plugin_contact_set_property;
#line 126 "pidgin-plugin.vala"
	G_OBJECT_CLASS (klass)->finalize = synapse_pidgin_plugin_contact_finalize;
#line 126 "pidgin-plugin.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), SYNAPSE_PIDGIN_PLUGIN_CONTACT_PLUGIN_PROPERTY, synapse_pidgin_plugin_contact_properties[SYNAPSE_PIDGIN_PLUGIN_CONTACT_PLUGIN_PROPERTY] = g_param_spec_object ("plugin", "plugin", "plugin", SYNAPSE_TYPE_PIDGIN_PLUGIN, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
#line 126 "pidgin-plugin.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), SYNAPSE_PIDGIN_PLUGIN_CONTACT_ACCOUNT_ID_PROPERTY, synapse_pidgin_plugin_contact_properties[SYNAPSE_PIDGIN_PLUGIN_CONTACT_ACCOUNT_ID_PROPERTY] = g_param_spec_int ("account-id", "account-id", "account-id", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
#line 126 "pidgin-plugin.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), SYNAPSE_PIDGIN_PLUGIN_CONTACT_CONTACT_ID_PROPERTY, synapse_pidgin_plugin_contact_properties[SYNAPSE_PIDGIN_PLUGIN_CONTACT_CONTACT_ID_PROPERTY] = g_param_spec_int ("contact-id", "contact-id", "contact-id", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
#line 126 "pidgin-plugin.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), SYNAPSE_PIDGIN_PLUGIN_CONTACT_NAME_PROPERTY, synapse_pidgin_plugin_contact_properties[SYNAPSE_PIDGIN_PLUGIN_CONTACT_NAME_PROPERTY] = g_param_spec_string ("name", "name", "name", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
#line 126 "pidgin-plugin.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), SYNAPSE_PIDGIN_PLUGIN_CONTACT_ONLINE_PROPERTY, synapse_pidgin_plugin_contact_properties[SYNAPSE_PIDGIN_PLUGIN_CONTACT_ONLINE_PROPERTY] = g_param_spec_boolean ("online", "online", "online", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 6053 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_contact_instance_init (SynapsePidginPluginContact * self,
                                             gpointer klass)
{
#line 126 "pidgin-plugin.vala"
	self->priv = synapse_pidgin_plugin_contact_get_instance_private (self);
#line 6062 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_contact_finalize (GObject * obj)
{
	SynapsePidginPluginContact * self;
#line 126 "pidgin-plugin.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SYNAPSE_PIDGIN_PLUGIN_TYPE_CONTACT, SynapsePidginPluginContact);
#line 128 "pidgin-plugin.vala"
	_g_object_unref0 (self->priv->_plugin);
#line 132 "pidgin-plugin.vala"
	_g_free0 (self->priv->_name);
#line 126 "pidgin-plugin.vala"
	G_OBJECT_CLASS (synapse_pidgin_plugin_contact_parent_class)->finalize (obj);
#line 6077 "pidgin-plugin.c"
}

static GType
synapse_pidgin_plugin_contact_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SynapsePidginPluginContactClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) synapse_pidgin_plugin_contact_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SynapsePidginPluginContact), 0, (GInstanceInitFunc) synapse_pidgin_plugin_contact_instance_init, NULL };
	GType synapse_pidgin_plugin_contact_type_id;
	synapse_pidgin_plugin_contact_type_id = g_type_register_static (SYNAPSE_TYPE_CONTACT_MATCH, "SynapsePidginPluginContact", &g_define_type_info, 0);
	SynapsePidginPluginContact_private_offset = g_type_add_instance_private (synapse_pidgin_plugin_contact_type_id, sizeof (SynapsePidginPluginContactPrivate));
	return synapse_pidgin_plugin_contact_type_id;
}

static GType
synapse_pidgin_plugin_contact_get_type (void)
{
	static volatile gsize synapse_pidgin_plugin_contact_type_id__once = 0;
	if (g_once_init_enter (&synapse_pidgin_plugin_contact_type_id__once)) {
		GType synapse_pidgin_plugin_contact_type_id;
		synapse_pidgin_plugin_contact_type_id = synapse_pidgin_plugin_contact_get_type_once ();
		g_once_init_leave (&synapse_pidgin_plugin_contact_type_id__once, synapse_pidgin_plugin_contact_type_id);
	}
	return synapse_pidgin_plugin_contact_type_id__once;
}

static void
_vala_synapse_pidgin_plugin_contact_get_property (GObject * object,
                                                  guint property_id,
                                                  GValue * value,
                                                  GParamSpec * pspec)
{
	SynapsePidginPluginContact * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, SYNAPSE_PIDGIN_PLUGIN_TYPE_CONTACT, SynapsePidginPluginContact);
#line 126 "pidgin-plugin.vala"
	switch (property_id) {
#line 126 "pidgin-plugin.vala"
		case SYNAPSE_PIDGIN_PLUGIN_CONTACT_PLUGIN_PROPERTY:
#line 126 "pidgin-plugin.vala"
		g_value_set_object (value, synapse_pidgin_plugin_contact_get_plugin (self));
#line 126 "pidgin-plugin.vala"
		break;
#line 126 "pidgin-plugin.vala"
		case SYNAPSE_PIDGIN_PLUGIN_CONTACT_ACCOUNT_ID_PROPERTY:
#line 126 "pidgin-plugin.vala"
		g_value_set_int (value, synapse_pidgin_plugin_contact_get_account_id (self));
#line 126 "pidgin-plugin.vala"
		break;
#line 126 "pidgin-plugin.vala"
		case SYNAPSE_PIDGIN_PLUGIN_CONTACT_CONTACT_ID_PROPERTY:
#line 126 "pidgin-plugin.vala"
		g_value_set_int (value, synapse_pidgin_plugin_contact_get_contact_id (self));
#line 126 "pidgin-plugin.vala"
		break;
#line 126 "pidgin-plugin.vala"
		case SYNAPSE_PIDGIN_PLUGIN_CONTACT_NAME_PROPERTY:
#line 126 "pidgin-plugin.vala"
		g_value_set_string (value, synapse_pidgin_plugin_contact_get_name (self));
#line 126 "pidgin-plugin.vala"
		break;
#line 126 "pidgin-plugin.vala"
		case SYNAPSE_PIDGIN_PLUGIN_CONTACT_ONLINE_PROPERTY:
#line 126 "pidgin-plugin.vala"
		g_value_set_boolean (value, synapse_pidgin_plugin_contact_get_online (self));
#line 126 "pidgin-plugin.vala"
		break;
#line 6142 "pidgin-plugin.c"
		default:
#line 126 "pidgin-plugin.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 126 "pidgin-plugin.vala"
		break;
#line 6148 "pidgin-plugin.c"
	}
}

static void
_vala_synapse_pidgin_plugin_contact_set_property (GObject * object,
                                                  guint property_id,
                                                  const GValue * value,
                                                  GParamSpec * pspec)
{
	SynapsePidginPluginContact * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, SYNAPSE_PIDGIN_PLUGIN_TYPE_CONTACT, SynapsePidginPluginContact);
#line 126 "pidgin-plugin.vala"
	switch (property_id) {
#line 126 "pidgin-plugin.vala"
		case SYNAPSE_PIDGIN_PLUGIN_CONTACT_PLUGIN_PROPERTY:
#line 126 "pidgin-plugin.vala"
		synapse_pidgin_plugin_contact_set_plugin (self, g_value_get_object (value));
#line 126 "pidgin-plugin.vala"
		break;
#line 126 "pidgin-plugin.vala"
		case SYNAPSE_PIDGIN_PLUGIN_CONTACT_ACCOUNT_ID_PROPERTY:
#line 126 "pidgin-plugin.vala"
		synapse_pidgin_plugin_contact_set_account_id (self, g_value_get_int (value));
#line 126 "pidgin-plugin.vala"
		break;
#line 126 "pidgin-plugin.vala"
		case SYNAPSE_PIDGIN_PLUGIN_CONTACT_CONTACT_ID_PROPERTY:
#line 126 "pidgin-plugin.vala"
		synapse_pidgin_plugin_contact_set_contact_id (self, g_value_get_int (value));
#line 126 "pidgin-plugin.vala"
		break;
#line 126 "pidgin-plugin.vala"
		case SYNAPSE_PIDGIN_PLUGIN_CONTACT_NAME_PROPERTY:
#line 126 "pidgin-plugin.vala"
		synapse_pidgin_plugin_contact_set_name (self, g_value_get_string (value));
#line 126 "pidgin-plugin.vala"
		break;
#line 126 "pidgin-plugin.vala"
		case SYNAPSE_PIDGIN_PLUGIN_CONTACT_ONLINE_PROPERTY:
#line 126 "pidgin-plugin.vala"
		synapse_pidgin_plugin_contact_set_online (self, g_value_get_boolean (value));
#line 126 "pidgin-plugin.vala"
		break;
#line 6192 "pidgin-plugin.c"
		default:
#line 126 "pidgin-plugin.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 126 "pidgin-plugin.vala"
		break;
#line 6198 "pidgin-plugin.c"
	}
}

static void
_synapse_pidgin_plugin___lambda26_ (SynapsePidginPlugin* self,
                                    const gchar* name,
                                    gboolean is_owned)
{
#line 294 "pidgin-plugin.vala"
	g_return_if_fail (name != NULL);
#line 295 "pidgin-plugin.vala"
	if (g_strcmp0 (name, SYNAPSE_PURPLE_INTERFACE_UNIQUE_NAME) == 0) {
#line 297 "pidgin-plugin.vala"
		if (is_owned) {
#line 298 "pidgin-plugin.vala"
			synapse_pidgin_plugin_connect_to_bus (self);
#line 6215 "pidgin-plugin.c"
		} else {
			GeeMap* _tmp0_;
#line 301 "pidgin-plugin.vala"
			_g_object_unref0 (self->priv->p);
#line 301 "pidgin-plugin.vala"
			self->priv->p = NULL;
#line 302 "pidgin-plugin.vala"
			_tmp0_ = self->priv->contacts;
#line 302 "pidgin-plugin.vala"
			gee_map_clear (_tmp0_);
#line 6226 "pidgin-plugin.c"
		}
	}
}

static void
__synapse_pidgin_plugin___lambda26__synapse_dbus_service_owner_changed (SynapseDBusService* _sender,
                                                                        const gchar* name,
                                                                        gboolean is_owned,
                                                                        gpointer self)
{
#line 294 "pidgin-plugin.vala"
	_synapse_pidgin_plugin___lambda26_ ((SynapsePidginPlugin*) self, name, is_owned);
#line 6239 "pidgin-plugin.c"
}

static GObject *
synapse_pidgin_plugin_constructor (GType type,
                                   guint n_construct_properties,
                                   GObjectConstructParam * construct_properties)
{
	GObject * obj;
	GObjectClass * parent_class;
	SynapsePidginPlugin * self;
	GeeArrayList* _tmp0_;
	GeeList* _tmp1_;
	SynapsePidginPluginSendToContact* _tmp2_;
	SynapsePidginPluginSendToContact* _tmp3_;
	GeeHashMap* _tmp4_;
	SynapseDBusService* service = NULL;
	SynapseDBusService* _tmp5_;
	SynapseDBusService* _tmp6_;
	SynapseDBusService* _tmp7_;
#line 281 "pidgin-plugin.vala"
	parent_class = G_OBJECT_CLASS (synapse_pidgin_plugin_parent_class);
#line 281 "pidgin-plugin.vala"
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
#line 281 "pidgin-plugin.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SYNAPSE_TYPE_PIDGIN_PLUGIN, SynapsePidginPlugin);
#line 283 "pidgin-plugin.vala"
	_tmp0_ = gee_array_list_new (SYNAPSE_TYPE_ACTION, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
#line 283 "pidgin-plugin.vala"
	_g_object_unref0 (self->priv->actions);
#line 283 "pidgin-plugin.vala"
	self->priv->actions = (GeeList*) _tmp0_;
#line 284 "pidgin-plugin.vala"
	_tmp1_ = self->priv->actions;
#line 284 "pidgin-plugin.vala"
	_tmp2_ = synapse_pidgin_plugin_send_to_contact_new ();
#line 284 "pidgin-plugin.vala"
	_tmp3_ = _tmp2_;
#line 284 "pidgin-plugin.vala"
	gee_collection_add ((GeeCollection*) _tmp1_, (SynapseAction*) _tmp3_);
#line 284 "pidgin-plugin.vala"
	_g_object_unref0 (_tmp3_);
#line 286 "pidgin-plugin.vala"
	_tmp4_ = gee_hash_map_new (G_TYPE_INT, NULL, NULL, SYNAPSE_PIDGIN_PLUGIN_TYPE_CONTACT, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
#line 286 "pidgin-plugin.vala"
	_g_object_unref0 (self->priv->contacts);
#line 286 "pidgin-plugin.vala"
	self->priv->contacts = (GeeMap*) _tmp4_;
#line 287 "pidgin-plugin.vala"
	_tmp5_ = synapse_dbus_service_get_default ();
#line 287 "pidgin-plugin.vala"
	service = _tmp5_;
#line 289 "pidgin-plugin.vala"
	_tmp6_ = service;
#line 289 "pidgin-plugin.vala"
	if (synapse_dbus_service_name_has_owner (_tmp6_, SYNAPSE_PURPLE_INTERFACE_UNIQUE_NAME)) {
#line 291 "pidgin-plugin.vala"
		synapse_pidgin_plugin_connect_to_bus (self);
#line 6297 "pidgin-plugin.c"
	}
#line 294 "pidgin-plugin.vala"
	_tmp7_ = service;
#line 294 "pidgin-plugin.vala"
	g_signal_connect_object (_tmp7_, "owner-changed", (GCallback) __synapse_pidgin_plugin___lambda26__synapse_dbus_service_owner_changed, self, 0);
#line 281 "pidgin-plugin.vala"
	_g_object_unref0 (service);
#line 281 "pidgin-plugin.vala"
	return obj;
#line 6307 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_class_init (SynapsePidginPluginClass * klass,
                                  gpointer klass_data)
{
#line 58 "pidgin-plugin.vala"
	synapse_pidgin_plugin_parent_class = g_type_class_peek_parent (klass);
#line 58 "pidgin-plugin.vala"
	g_type_class_adjust_private_offset (klass, &SynapsePidginPlugin_private_offset);
#line 58 "pidgin-plugin.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_synapse_pidgin_plugin_get_property;
#line 58 "pidgin-plugin.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_synapse_pidgin_plugin_set_property;
#line 58 "pidgin-plugin.vala"
	G_OBJECT_CLASS (klass)->constructor = synapse_pidgin_plugin_constructor;
#line 58 "pidgin-plugin.vala"
	G_OBJECT_CLASS (klass)->finalize = synapse_pidgin_plugin_finalize;
#line 58 "pidgin-plugin.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), SYNAPSE_PIDGIN_PLUGIN_ENABLED_PROPERTY, synapse_pidgin_plugin_properties[SYNAPSE_PIDGIN_PLUGIN_ENABLED_PROPERTY] = g_param_spec_boolean ("enabled", "enabled", "enabled", TRUE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 87 "pidgin-plugin.vala"
	synapse_pidgin_plugin_register_plugin ();
#line 6330 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_synapse_activatable_interface_init (SynapseActivatableIface * iface,
                                                          gpointer iface_data)
{
#line 58 "pidgin-plugin.vala"
	synapse_pidgin_plugin_synapse_activatable_parent_iface = g_type_interface_peek_parent (iface);
#line 58 "pidgin-plugin.vala"
	iface->activate = (void (*) (SynapseActivatable*)) synapse_pidgin_plugin_real_activate;
#line 58 "pidgin-plugin.vala"
	iface->deactivate = (void (*) (SynapseActivatable*)) synapse_pidgin_plugin_real_deactivate;
#line 58 "pidgin-plugin.vala"
	iface->get_enabled = synapse_pidgin_plugin_real_get_enabled;
#line 58 "pidgin-plugin.vala"
	iface->set_enabled = synapse_pidgin_plugin_real_set_enabled;
#line 6347 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_synapse_item_provider_interface_init (SynapseItemProviderIface * iface,
                                                            gpointer iface_data)
{
#line 58 "pidgin-plugin.vala"
	synapse_pidgin_plugin_synapse_item_provider_parent_iface = g_type_interface_peek_parent (iface);
#line 58 "pidgin-plugin.vala"
	iface->handles_query = (gboolean (*) (SynapseItemProvider*, SynapseQuery*)) synapse_pidgin_plugin_real_handles_query;
#line 58 "pidgin-plugin.vala"
	iface->search = (void (*) (SynapseItemProvider*, SynapseQuery*, GAsyncReadyCallback, gpointer)) synapse_pidgin_plugin_real_search;
#line 58 "pidgin-plugin.vala"
	iface->search_finish = (SynapseResultSet* (*) (SynapseItemProvider*, GAsyncResult*, GError**)) synapse_pidgin_plugin_search_finish;
#line 6362 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_synapse_action_provider_interface_init (SynapseActionProviderIface * iface,
                                                              gpointer iface_data)
{
#line 58 "pidgin-plugin.vala"
	synapse_pidgin_plugin_synapse_action_provider_parent_iface = g_type_interface_peek_parent (iface);
#line 58 "pidgin-plugin.vala"
	iface->find_for_match = (SynapseResultSet* (*) (SynapseActionProvider*, SynapseQuery*, SynapseMatch*)) synapse_pidgin_plugin_real_find_for_match;
#line 6373 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_instance_init (SynapsePidginPlugin * self,
                                     gpointer klass)
{
#line 58 "pidgin-plugin.vala"
	self->priv = synapse_pidgin_plugin_get_instance_private (self);
#line 60 "pidgin-plugin.vala"
	self->priv->_enabled = TRUE;
#line 6384 "pidgin-plugin.c"
}

static void
synapse_pidgin_plugin_finalize (GObject * obj)
{
	SynapsePidginPlugin * self;
#line 58 "pidgin-plugin.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SYNAPSE_TYPE_PIDGIN_PLUGIN, SynapsePidginPlugin);
#line 210 "pidgin-plugin.vala"
	_g_object_unref0 (self->priv->contacts);
#line 211 "pidgin-plugin.vala"
	_g_object_unref0 (self->priv->p);
#line 279 "pidgin-plugin.vala"
	_g_object_unref0 (self->priv->actions);
#line 58 "pidgin-plugin.vala"
	G_OBJECT_CLASS (synapse_pidgin_plugin_parent_class)->finalize (obj);
#line 6401 "pidgin-plugin.c"
}

static GType
synapse_pidgin_plugin_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SynapsePidginPluginClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) synapse_pidgin_plugin_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SynapsePidginPlugin), 0, (GInstanceInitFunc) synapse_pidgin_plugin_instance_init, NULL };
	static const GInterfaceInfo synapse_activatable_info = { (GInterfaceInitFunc) synapse_pidgin_plugin_synapse_activatable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
	static const GInterfaceInfo synapse_item_provider_info = { (GInterfaceInitFunc) synapse_pidgin_plugin_synapse_item_provider_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
	static const GInterfaceInfo synapse_action_provider_info = { (GInterfaceInitFunc) synapse_pidgin_plugin_synapse_action_provider_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
	GType synapse_pidgin_plugin_type_id;
	synapse_pidgin_plugin_type_id = g_type_register_static (G_TYPE_OBJECT, "SynapsePidginPlugin", &g_define_type_info, 0);
	g_type_add_interface_static (synapse_pidgin_plugin_type_id, SYNAPSE_TYPE_ACTIVATABLE, &synapse_activatable_info);
	g_type_add_interface_static (synapse_pidgin_plugin_type_id, SYNAPSE_TYPE_ITEM_PROVIDER, &synapse_item_provider_info);
	g_type_add_interface_static (synapse_pidgin_plugin_type_id, SYNAPSE_TYPE_ACTION_PROVIDER, &synapse_action_provider_info);
	SynapsePidginPlugin_private_offset = g_type_add_instance_private (synapse_pidgin_plugin_type_id, sizeof (SynapsePidginPluginPrivate));
	return synapse_pidgin_plugin_type_id;
}

GType
synapse_pidgin_plugin_get_type (void)
{
	static volatile gsize synapse_pidgin_plugin_type_id__once = 0;
	if (g_once_init_enter (&synapse_pidgin_plugin_type_id__once)) {
		GType synapse_pidgin_plugin_type_id;
		synapse_pidgin_plugin_type_id = synapse_pidgin_plugin_get_type_once ();
		g_once_init_leave (&synapse_pidgin_plugin_type_id__once, synapse_pidgin_plugin_type_id);
	}
	return synapse_pidgin_plugin_type_id__once;
}

static void
_vala_synapse_pidgin_plugin_get_property (GObject * object,
                                          guint property_id,
                                          GValue * value,
                                          GParamSpec * pspec)
{
	SynapsePidginPlugin * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, SYNAPSE_TYPE_PIDGIN_PLUGIN, SynapsePidginPlugin);
#line 58 "pidgin-plugin.vala"
	switch (property_id) {
#line 58 "pidgin-plugin.vala"
		case SYNAPSE_PIDGIN_PLUGIN_ENABLED_PROPERTY:
#line 58 "pidgin-plugin.vala"
		g_value_set_boolean (value, synapse_activatable_get_enabled ((SynapseActivatable*) self));
#line 58 "pidgin-plugin.vala"
		break;
#line 6448 "pidgin-plugin.c"
		default:
#line 58 "pidgin-plugin.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 58 "pidgin-plugin.vala"
		break;
#line 6454 "pidgin-plugin.c"
	}
}

static void
_vala_synapse_pidgin_plugin_set_property (GObject * object,
                                          guint property_id,
                                          const GValue * value,
                                          GParamSpec * pspec)
{
	SynapsePidginPlugin * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, SYNAPSE_TYPE_PIDGIN_PLUGIN, SynapsePidginPlugin);
#line 58 "pidgin-plugin.vala"
	switch (property_id) {
#line 58 "pidgin-plugin.vala"
		case SYNAPSE_PIDGIN_PLUGIN_ENABLED_PROPERTY:
#line 58 "pidgin-plugin.vala"
		synapse_activatable_set_enabled ((SynapseActivatable*) self, g_value_get_boolean (value));
#line 58 "pidgin-plugin.vala"
		break;
#line 6474 "pidgin-plugin.c"
		default:
#line 58 "pidgin-plugin.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 58 "pidgin-plugin.vala"
		break;
#line 6480 "pidgin-plugin.c"
	}
}

