/* interfaces.c generated by valac 0.56.18-dirty, the Vala compiler
 * generated from interfaces.vala, do not modify */

#include <glib-object.h>
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include <gio/gio.h>

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

#define SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_MPRIS_SOURCE (sway_notification_center_widgets_mpris_mpris_source_get_type ())
#define SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_MPRIS_SOURCE, SwayNotificationCenterWidgetsMprisMprisSource))
#define SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_MPRIS_SOURCE, SwayNotificationCenterWidgetsMprisMprisSourceClass))
#define SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_IS_MPRIS_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_MPRIS_SOURCE))
#define SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_IS_MPRIS_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_MPRIS_SOURCE))
#define SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_MPRIS_SOURCE, SwayNotificationCenterWidgetsMprisMprisSourceClass))

typedef struct _SwayNotificationCenterWidgetsMprisMprisSource SwayNotificationCenterWidgetsMprisMprisSource;
typedef struct _SwayNotificationCenterWidgetsMprisMprisSourceClass SwayNotificationCenterWidgetsMprisMprisSourceClass;
typedef struct _SwayNotificationCenterWidgetsMprisMprisSourcePrivate SwayNotificationCenterWidgetsMprisMprisSourcePrivate;

#define SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_MPRIS_MEDIA_PLAYER (sway_notification_center_widgets_mpris_mpris_media_player_get_type ())
#define SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_MEDIA_PLAYER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_MPRIS_MEDIA_PLAYER, SwayNotificationCenterWidgetsMprisMprisMediaPlayer))
#define SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_IS_MPRIS_MEDIA_PLAYER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_MPRIS_MEDIA_PLAYER))
#define SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_MEDIA_PLAYER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_MPRIS_MEDIA_PLAYER, SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface))

typedef struct _SwayNotificationCenterWidgetsMprisMprisMediaPlayer SwayNotificationCenterWidgetsMprisMprisMediaPlayer;
typedef struct _SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface;

#define SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_MPRIS_PROPS (sway_notification_center_widgets_mpris_mpris_props_get_type ())
#define SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_PROPS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_MPRIS_PROPS, SwayNotificationCenterWidgetsMprisMprisProps))
#define SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_IS_MPRIS_PROPS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_MPRIS_PROPS))
#define SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_PROPS_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_MPRIS_PROPS, SwayNotificationCenterWidgetsMprisMprisPropsIface))

typedef struct _SwayNotificationCenterWidgetsMprisMprisProps SwayNotificationCenterWidgetsMprisMprisProps;
typedef struct _SwayNotificationCenterWidgetsMprisMprisPropsIface SwayNotificationCenterWidgetsMprisMprisPropsIface;

#define SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_MPRIS_PROPS_PROXY (sway_notification_center_widgets_mpris_mpris_props_proxy_get_type ())

#define SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_MPRIS_MEDIA_PLAYER_PROXY (sway_notification_center_widgets_mpris_mpris_media_player_proxy_get_type ())

#define SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_DBUS_PROP_CHANGE (sway_notification_center_widgets_mpris_dbus_prop_change_get_type ())
#define SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_DBUS_PROP_CHANGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_DBUS_PROP_CHANGE, SwayNotificationCenterWidgetsMprisDbusPropChange))
#define SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_IS_DBUS_PROP_CHANGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_DBUS_PROP_CHANGE))
#define SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_DBUS_PROP_CHANGE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_DBUS_PROP_CHANGE, SwayNotificationCenterWidgetsMprisDbusPropChangeIface))

typedef struct _SwayNotificationCenterWidgetsMprisDbusPropChange SwayNotificationCenterWidgetsMprisDbusPropChange;
typedef struct _SwayNotificationCenterWidgetsMprisDbusPropChangeIface SwayNotificationCenterWidgetsMprisDbusPropChangeIface;

#define SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_DBUS_PROP_CHANGE_PROXY (sway_notification_center_widgets_mpris_dbus_prop_change_proxy_get_type ())
enum  {
	SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_SOURCE_0_PROPERTY,
	SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_SOURCE_MEDIA_PLAYER_PROPERTY,
	SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_SOURCE_NUM_PROPERTIES
};
static GParamSpec* sway_notification_center_widgets_mpris_mpris_source_properties[SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_SOURCE_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
#define _g_variant_unref0(var) ((var == NULL) ? NULL : (var = (g_variant_unref (var), NULL)))
enum  {
	SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_SOURCE_PROPERTIES_CHANGED_SIGNAL,
	SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_SOURCE_NUM_SIGNALS
};
static guint sway_notification_center_widgets_mpris_mpris_source_signals[SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_SOURCE_NUM_SIGNALS] = {0};
enum  {
	SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_DBUS_PROP_CHANGE_PROPERTIES_CHANGED_SIGNAL,
	SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_DBUS_PROP_CHANGE_NUM_SIGNALS
};
static guint sway_notification_center_widgets_mpris_dbus_prop_change_signals[SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_DBUS_PROP_CHANGE_NUM_SIGNALS] = {0};
typedef GDBusProxy SwayNotificationCenterWidgetsMprisDbusPropChangeProxy;
typedef GDBusProxyClass SwayNotificationCenterWidgetsMprisDbusPropChangeProxyClass;
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL)))
typedef GDBusProxy SwayNotificationCenterWidgetsMprisMprisPropsProxy;
typedef GDBusProxyClass SwayNotificationCenterWidgetsMprisMprisPropsProxyClass;
typedef GDBusProxy SwayNotificationCenterWidgetsMprisMprisMediaPlayerProxy;
typedef GDBusProxyClass SwayNotificationCenterWidgetsMprisMprisMediaPlayerProxyClass;
typedef struct _SwayNotificationCenterWidgetsMprisMprisMediaPlayerNextReadyData SwayNotificationCenterWidgetsMprisMprisMediaPlayerNextReadyData;
typedef struct _SwayNotificationCenterWidgetsMprisMprisMediaPlayerPreviousReadyData SwayNotificationCenterWidgetsMprisMprisMediaPlayerPreviousReadyData;
typedef struct _SwayNotificationCenterWidgetsMprisMprisMediaPlayerPauseReadyData SwayNotificationCenterWidgetsMprisMprisMediaPlayerPauseReadyData;
typedef struct _SwayNotificationCenterWidgetsMprisMprisMediaPlayerPlayPauseReadyData SwayNotificationCenterWidgetsMprisMprisMediaPlayerPlayPauseReadyData;
typedef struct _SwayNotificationCenterWidgetsMprisMprisMediaPlayerStopReadyData SwayNotificationCenterWidgetsMprisMprisMediaPlayerStopReadyData;
typedef struct _SwayNotificationCenterWidgetsMprisMprisMediaPlayerPlayReadyData SwayNotificationCenterWidgetsMprisMprisMediaPlayerPlayReadyData;

#define SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_DBUS_INTERFACE (sway_notification_center_widgets_mpris_dbus_interface_get_type ())
#define SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_DBUS_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_DBUS_INTERFACE, SwayNotificationCenterWidgetsMprisDBusInterface))
#define SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_IS_DBUS_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_DBUS_INTERFACE))
#define SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_DBUS_INTERFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_DBUS_INTERFACE, SwayNotificationCenterWidgetsMprisDBusInterfaceIface))

typedef struct _SwayNotificationCenterWidgetsMprisDBusInterface SwayNotificationCenterWidgetsMprisDBusInterface;
typedef struct _SwayNotificationCenterWidgetsMprisDBusInterfaceIface SwayNotificationCenterWidgetsMprisDBusInterfaceIface;

#define SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_DBUS_INTERFACE_PROXY (sway_notification_center_widgets_mpris_dbus_interface_proxy_get_type ())
enum  {
	SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_DBUS_INTERFACE_NAME_OWNER_CHANGED_SIGNAL,
	SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_DBUS_INTERFACE_NUM_SIGNALS
};
static guint sway_notification_center_widgets_mpris_dbus_interface_signals[SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_DBUS_INTERFACE_NUM_SIGNALS] = {0};
typedef GDBusProxy SwayNotificationCenterWidgetsMprisDBusInterfaceProxy;
typedef GDBusProxyClass SwayNotificationCenterWidgetsMprisDBusInterfaceProxyClass;

struct _SwayNotificationCenterWidgetsMprisMprisSource {
	GObject parent_instance;
	SwayNotificationCenterWidgetsMprisMprisSourcePrivate * priv;
};

struct _SwayNotificationCenterWidgetsMprisMprisSourceClass {
	GObjectClass parent_class;
};

struct _SwayNotificationCenterWidgetsMprisMprisPropsIface {
	GTypeInterface parent_iface;
	gchar* (*get_desktop_entry) (SwayNotificationCenterWidgetsMprisMprisProps* self);
	gchar* (*get_identity) (SwayNotificationCenterWidgetsMprisMprisProps* self);
};

struct _SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface {
	GTypeInterface parent_iface;
	void (*next) (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*next_finish) (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self, GAsyncResult* _res_, GError** error);
	void (*previous) (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*previous_finish) (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self, GAsyncResult* _res_, GError** error);
	void (*pause) (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*pause_finish) (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self, GAsyncResult* _res_, GError** error);
	void (*play_pause) (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*play_pause_finish) (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self, GAsyncResult* _res_, GError** error);
	void (*stop) (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*stop_finish) (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self, GAsyncResult* _res_, GError** error);
	void (*play) (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*play_finish) (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self, GAsyncResult* _res_, GError** error);
	gchar* (*get_playback_status) (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
	GHashTable* (*get_metadata) (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
	gboolean (*get_can_go_next) (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
	gboolean (*get_can_go_previous) (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
	gboolean (*get_can_play) (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
	gboolean (*get_can_pause) (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
	gboolean (*get_can_control) (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
	gboolean (*get_can_seek) (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
	gboolean (*get_shuffle) (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
	void (*set_shuffle) (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self, gboolean value);
	gchar* (*get_loop_status) (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
	void (*set_loop_status) (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self, const gchar* value);
};

struct _SwayNotificationCenterWidgetsMprisDbusPropChangeIface {
	GTypeInterface parent_iface;
	GVariant* (*get) (SwayNotificationCenterWidgetsMprisDbusPropChange* self, const gchar* iface_name, const gchar* property_name, GError** error);
};

struct _SwayNotificationCenterWidgetsMprisMprisSourcePrivate {
	SwayNotificationCenterWidgetsMprisMprisMediaPlayer* _media_player;
	SwayNotificationCenterWidgetsMprisDbusPropChange* props;
};

struct _SwayNotificationCenterWidgetsMprisMprisMediaPlayerNextReadyData {
	GDBusMethodInvocation* _invocation_;
};

struct _SwayNotificationCenterWidgetsMprisMprisMediaPlayerPreviousReadyData {
	GDBusMethodInvocation* _invocation_;
};

struct _SwayNotificationCenterWidgetsMprisMprisMediaPlayerPauseReadyData {
	GDBusMethodInvocation* _invocation_;
};

struct _SwayNotificationCenterWidgetsMprisMprisMediaPlayerPlayPauseReadyData {
	GDBusMethodInvocation* _invocation_;
};

struct _SwayNotificationCenterWidgetsMprisMprisMediaPlayerStopReadyData {
	GDBusMethodInvocation* _invocation_;
};

struct _SwayNotificationCenterWidgetsMprisMprisMediaPlayerPlayReadyData {
	GDBusMethodInvocation* _invocation_;
};

struct _SwayNotificationCenterWidgetsMprisDBusInterfaceIface {
	GTypeInterface parent_iface;
	gchar** (*list_names) (SwayNotificationCenterWidgetsMprisDBusInterface* self, gint* result_length1, GError** error);
};

static gint SwayNotificationCenterWidgetsMprisMprisSource_private_offset;
static gpointer sway_notification_center_widgets_mpris_mpris_source_parent_class = NULL;

VALA_EXTERN GType sway_notification_center_widgets_mpris_mpris_source_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SwayNotificationCenterWidgetsMprisMprisSource, g_object_unref)
VALA_EXTERN GType sway_notification_center_widgets_mpris_mpris_props_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SwayNotificationCenterWidgetsMprisMprisProps, g_object_unref)
VALA_EXTERN GType sway_notification_center_widgets_mpris_mpris_props_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint sway_notification_center_widgets_mpris_mpris_props_register_object (void* object,
                                                                          GDBusConnection* connection,
                                                                          const gchar* path,
                                                                          GError** error);
VALA_EXTERN GType sway_notification_center_widgets_mpris_mpris_media_player_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint sway_notification_center_widgets_mpris_mpris_media_player_register_object (void* object,
                                                                                 GDBusConnection* connection,
                                                                                 const gchar* path,
                                                                                 GError** error);
VALA_EXTERN GType sway_notification_center_widgets_mpris_mpris_media_player_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType sway_notification_center_widgets_mpris_dbus_prop_change_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint sway_notification_center_widgets_mpris_dbus_prop_change_register_object (void* object,
                                                                               GDBusConnection* connection,
                                                                               const gchar* path,
                                                                               GError** error);
VALA_EXTERN GType sway_notification_center_widgets_mpris_dbus_prop_change_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SwayNotificationCenterWidgetsMprisDbusPropChange, g_object_unref)
static SwayNotificationCenterWidgetsMprisMprisSource* sway_notification_center_widgets_mpris_mpris_source_new (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* _media_player,
                                                                                                        SwayNotificationCenterWidgetsMprisDbusPropChange* _props);
static SwayNotificationCenterWidgetsMprisMprisSource* sway_notification_center_widgets_mpris_mpris_source_construct (GType object_type,
                                                                                                              SwayNotificationCenterWidgetsMprisMprisMediaPlayer* _media_player,
                                                                                                              SwayNotificationCenterWidgetsMprisDbusPropChange* _props);
static void sway_notification_center_widgets_mpris_mpris_source_set_media_player (SwayNotificationCenterWidgetsMprisMprisSource* self,
                                                                           SwayNotificationCenterWidgetsMprisMprisMediaPlayer* value);
static void __lambda51_ (SwayNotificationCenterWidgetsMprisMprisSource* self,
                  const gchar* i,
                  GHashTable* c,
                  gchar** inv,
                  gint inv_length1);
static void ___lambda51__sway_notification_center_widgets_mpris_dbus_prop_change_properties_changed (SwayNotificationCenterWidgetsMprisDbusPropChange* _sender,
                                                                                              const gchar* iface,
                                                                                              GHashTable* changed,
                                                                                              gchar** invalid,
                                                                                              gint invalid_length1,
                                                                                              gpointer self);
VALA_EXTERN SwayNotificationCenterWidgetsMprisMprisSource* sway_notification_center_widgets_mpris_mpris_source_get_player (const gchar* bus_name);
VALA_EXTERN GVariant* sway_notification_center_widgets_mpris_mpris_source_get_mpris_player_prop (SwayNotificationCenterWidgetsMprisMprisSource* self,
                                                                                     const gchar* property_name);
VALA_EXTERN GVariant* sway_notification_center_widgets_mpris_dbus_prop_change_get (SwayNotificationCenterWidgetsMprisDbusPropChange* self,
                                                                       const gchar* iface_name,
                                                                       const gchar* property_name,
                                                                       GError** error);
VALA_EXTERN GVariant* sway_notification_center_widgets_mpris_mpris_source_get_mpris_prop (SwayNotificationCenterWidgetsMprisMprisSource* self,
                                                                              const gchar* property_name);
VALA_EXTERN SwayNotificationCenterWidgetsMprisMprisMediaPlayer* sway_notification_center_widgets_mpris_mpris_source_get_media_player (SwayNotificationCenterWidgetsMprisMprisSource* self);
static void g_cclosure_user_marshal_VOID__STRING_BOXED_BOXED_INT (GClosure * closure,
                                                           GValue * return_value,
                                                           guint n_param_values,
                                                           const GValue * param_values,
                                                           gpointer invocation_hint,
                                                           gpointer marshal_data);
static void sway_notification_center_widgets_mpris_mpris_source_finalize (GObject * obj);
static GType sway_notification_center_widgets_mpris_mpris_source_get_type_once (void);
static void _vala_sway_notification_center_widgets_mpris_mpris_source_get_property (GObject * object,
                                                                             guint property_id,
                                                                             GValue * value,
                                                                             GParamSpec * pspec);
static void _vala_sway_notification_center_widgets_mpris_mpris_source_set_property (GObject * object,
                                                                             guint property_id,
                                                                             const GValue * value,
                                                                             GParamSpec * pspec);
static GType sway_notification_center_widgets_mpris_dbus_prop_change_get_type_once (void);
static void sway_notification_center_widgets_mpris_dbus_prop_change_proxy_g_signal (GDBusProxy* proxy,
                                                                             const gchar* sender_name,
                                                                             const gchar* signal_name,
                                                                             GVariant* parameters);
static void _dbus_handle_sway_notification_center_widgets_mpris_dbus_prop_change_properties_changed (SwayNotificationCenterWidgetsMprisDbusPropChange* self,
                                                                                              GVariant* parameters);
static GVariant* sway_notification_center_widgets_mpris_dbus_prop_change_proxy_get (SwayNotificationCenterWidgetsMprisDbusPropChange* self,
                                                                             const gchar* iface_name,
                                                                             const gchar* property_name,
                                                                             GError** error);
static void sway_notification_center_widgets_mpris_dbus_prop_change_proxy_sway_notification_center_widgets_mpris_dbus_prop_change_interface_init (SwayNotificationCenterWidgetsMprisDbusPropChangeIface* iface);
static void _dbus_sway_notification_center_widgets_mpris_dbus_prop_change_get (SwayNotificationCenterWidgetsMprisDbusPropChange* self,
                                                                        GVariant* _parameters_,
                                                                        GDBusMethodInvocation* invocation);
static void sway_notification_center_widgets_mpris_dbus_prop_change_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* sway_notification_center_widgets_mpris_dbus_prop_change_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 sway_notification_center_widgets_mpris_dbus_prop_change_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_sway_notification_center_widgets_mpris_dbus_prop_change_properties_changed (GObject* _sender,
                                                                                       const gchar* iface,
                                                                                       GHashTable* changed,
                                                                                       gchar** invalid,
                                                                                       gint invalid_length1,
                                                                                       gpointer* _data);
static void _sway_notification_center_widgets_mpris_dbus_prop_change_unregister_object (gpointer user_data);
VALA_EXTERN gchar* sway_notification_center_widgets_mpris_mpris_props_get_desktop_entry (SwayNotificationCenterWidgetsMprisMprisProps* self);
VALA_EXTERN gchar* sway_notification_center_widgets_mpris_mpris_props_get_identity (SwayNotificationCenterWidgetsMprisMprisProps* self);
static GType sway_notification_center_widgets_mpris_mpris_props_get_type_once (void);
static void sway_notification_center_widgets_mpris_mpris_props_proxy_g_signal (GDBusProxy* proxy,
                                                                        const gchar* sender_name,
                                                                        const gchar* signal_name,
                                                                        GVariant* parameters);
static gchar* sway_notification_center_widgets_mpris_mpris_props_dbus_proxy_get_desktop_entry (SwayNotificationCenterWidgetsMprisMprisProps* self);
static gchar* sway_notification_center_widgets_mpris_mpris_props_dbus_proxy_get_identity (SwayNotificationCenterWidgetsMprisMprisProps* self);
static void sway_notification_center_widgets_mpris_mpris_props_proxy_sway_notification_center_widgets_mpris_mpris_props_interface_init (SwayNotificationCenterWidgetsMprisMprisPropsIface* iface);
static void sway_notification_center_widgets_mpris_mpris_props_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* sway_notification_center_widgets_mpris_mpris_props_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 GVariant* _dbus_sway_notification_center_widgets_mpris_mpris_props_get_desktop_entry (SwayNotificationCenterWidgetsMprisMprisProps* self);
static GVariant* _dbus_sway_notification_center_widgets_mpris_mpris_props_get_identity (SwayNotificationCenterWidgetsMprisMprisProps* self);
static gboolean sway_notification_center_widgets_mpris_mpris_props_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 _sway_notification_center_widgets_mpris_mpris_props_unregister_object (gpointer user_data);
VALA_EXTERN void sway_notification_center_widgets_mpris_mpris_media_player_next (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                     GAsyncReadyCallback _callback_,
                                                                     gpointer _user_data_);
VALA_EXTERN void sway_notification_center_widgets_mpris_mpris_media_player_next_finish (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                            GAsyncResult* _res_,
                                                                            GError** error);
VALA_EXTERN void sway_notification_center_widgets_mpris_mpris_media_player_previous (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                         GAsyncReadyCallback _callback_,
                                                                         gpointer _user_data_);
VALA_EXTERN void sway_notification_center_widgets_mpris_mpris_media_player_previous_finish (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                                GAsyncResult* _res_,
                                                                                GError** error);
VALA_EXTERN void sway_notification_center_widgets_mpris_mpris_media_player_pause (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                      GAsyncReadyCallback _callback_,
                                                                      gpointer _user_data_);
VALA_EXTERN void sway_notification_center_widgets_mpris_mpris_media_player_pause_finish (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                             GAsyncResult* _res_,
                                                                             GError** error);
VALA_EXTERN void sway_notification_center_widgets_mpris_mpris_media_player_play_pause (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                           GAsyncReadyCallback _callback_,
                                                                           gpointer _user_data_);
VALA_EXTERN void sway_notification_center_widgets_mpris_mpris_media_player_play_pause_finish (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                                  GAsyncResult* _res_,
                                                                                  GError** error);
VALA_EXTERN void sway_notification_center_widgets_mpris_mpris_media_player_stop (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                     GAsyncReadyCallback _callback_,
                                                                     gpointer _user_data_);
VALA_EXTERN void sway_notification_center_widgets_mpris_mpris_media_player_stop_finish (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                            GAsyncResult* _res_,
                                                                            GError** error);
VALA_EXTERN void sway_notification_center_widgets_mpris_mpris_media_player_play (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                     GAsyncReadyCallback _callback_,
                                                                     gpointer _user_data_);
VALA_EXTERN void sway_notification_center_widgets_mpris_mpris_media_player_play_finish (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                            GAsyncResult* _res_,
                                                                            GError** error);
VALA_EXTERN gchar* sway_notification_center_widgets_mpris_mpris_media_player_get_playback_status (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
VALA_EXTERN GHashTable* sway_notification_center_widgets_mpris_mpris_media_player_get_metadata (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
VALA_EXTERN gboolean sway_notification_center_widgets_mpris_mpris_media_player_get_can_go_next (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
VALA_EXTERN gboolean sway_notification_center_widgets_mpris_mpris_media_player_get_can_go_previous (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
VALA_EXTERN gboolean sway_notification_center_widgets_mpris_mpris_media_player_get_can_play (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
VALA_EXTERN gboolean sway_notification_center_widgets_mpris_mpris_media_player_get_can_pause (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
VALA_EXTERN gboolean sway_notification_center_widgets_mpris_mpris_media_player_get_can_control (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
VALA_EXTERN gboolean sway_notification_center_widgets_mpris_mpris_media_player_get_can_seek (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
VALA_EXTERN gboolean sway_notification_center_widgets_mpris_mpris_media_player_get_shuffle (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
VALA_EXTERN void sway_notification_center_widgets_mpris_mpris_media_player_set_shuffle (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                            gboolean value);
VALA_EXTERN gchar* sway_notification_center_widgets_mpris_mpris_media_player_get_loop_status (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
VALA_EXTERN void sway_notification_center_widgets_mpris_mpris_media_player_set_loop_status (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                                const gchar* value);
static GType sway_notification_center_widgets_mpris_mpris_media_player_get_type_once (void);
static void sway_notification_center_widgets_mpris_mpris_media_player_proxy_g_signal (GDBusProxy* proxy,
                                                                               const gchar* sender_name,
                                                                               const gchar* signal_name,
                                                                               GVariant* parameters);
static gchar* sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_desktop_entry (SwayNotificationCenterWidgetsMprisMprisProps* self);
static gchar* sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_identity (SwayNotificationCenterWidgetsMprisMprisProps* self);
static void sway_notification_center_widgets_mpris_mpris_media_player_proxy_sway_notification_center_widgets_mpris_mpris_props_interface_init (SwayNotificationCenterWidgetsMprisMprisPropsIface* iface);
static void _vala_g_async_ready_callback (GObject *source_object,
                                   GAsyncResult *res,
                                   void *user_data);
static void sway_notification_center_widgets_mpris_mpris_media_player_proxy_next_async (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                                 GAsyncReadyCallback _callback_,
                                                                                 gpointer _user_data_);
static void sway_notification_center_widgets_mpris_mpris_media_player_proxy_next_finish (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                                  GAsyncResult* _res_,
                                                                                  GError** error);
static void sway_notification_center_widgets_mpris_mpris_media_player_proxy_previous_async (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                                     GAsyncReadyCallback _callback_,
                                                                                     gpointer _user_data_);
static void sway_notification_center_widgets_mpris_mpris_media_player_proxy_previous_finish (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                                      GAsyncResult* _res_,
                                                                                      GError** error);
static void sway_notification_center_widgets_mpris_mpris_media_player_proxy_pause_async (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                                  GAsyncReadyCallback _callback_,
                                                                                  gpointer _user_data_);
static void sway_notification_center_widgets_mpris_mpris_media_player_proxy_pause_finish (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                                   GAsyncResult* _res_,
                                                                                   GError** error);
static void sway_notification_center_widgets_mpris_mpris_media_player_proxy_play_pause_async (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                                       GAsyncReadyCallback _callback_,
                                                                                       gpointer _user_data_);
static void sway_notification_center_widgets_mpris_mpris_media_player_proxy_play_pause_finish (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                                        GAsyncResult* _res_,
                                                                                        GError** error);
static void sway_notification_center_widgets_mpris_mpris_media_player_proxy_stop_async (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                                 GAsyncReadyCallback _callback_,
                                                                                 gpointer _user_data_);
static void sway_notification_center_widgets_mpris_mpris_media_player_proxy_stop_finish (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                                  GAsyncResult* _res_,
                                                                                  GError** error);
static void sway_notification_center_widgets_mpris_mpris_media_player_proxy_play_async (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                                 GAsyncReadyCallback _callback_,
                                                                                 gpointer _user_data_);
static void sway_notification_center_widgets_mpris_mpris_media_player_proxy_play_finish (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                                  GAsyncResult* _res_,
                                                                                  GError** error);
static gchar* sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_playback_status (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
static GHashTable* sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_metadata (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
static gboolean sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_can_go_next (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
static gboolean sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_can_go_previous (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
static gboolean sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_can_play (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
static gboolean sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_can_pause (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
static gboolean sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_can_control (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
static gboolean sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_can_seek (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
static gboolean sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_shuffle (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
static void sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_set_shuffle (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                                       gboolean value);
static gchar* sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_loop_status (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
static void sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_set_loop_status (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                                           const gchar* value);
static void sway_notification_center_widgets_mpris_mpris_media_player_proxy_sway_notification_center_widgets_mpris_mpris_media_player_interface_init (SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface* iface);
static void _dbus_sway_notification_center_widgets_mpris_mpris_media_player_next (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                           GVariant* _parameters_,
                                                                           GDBusMethodInvocation* invocation);
static void _dbus_sway_notification_center_widgets_mpris_mpris_media_player_next_ready (GObject * source_object,
                                                                                 GAsyncResult * _res_,
                                                                                 gpointer _user_data_);
static void _dbus_sway_notification_center_widgets_mpris_mpris_media_player_previous (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                               GVariant* _parameters_,
                                                                               GDBusMethodInvocation* invocation);
static void _dbus_sway_notification_center_widgets_mpris_mpris_media_player_previous_ready (GObject * source_object,
                                                                                     GAsyncResult * _res_,
                                                                                     gpointer _user_data_);
static void _dbus_sway_notification_center_widgets_mpris_mpris_media_player_pause (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                            GVariant* _parameters_,
                                                                            GDBusMethodInvocation* invocation);
static void _dbus_sway_notification_center_widgets_mpris_mpris_media_player_pause_ready (GObject * source_object,
                                                                                  GAsyncResult * _res_,
                                                                                  gpointer _user_data_);
static void _dbus_sway_notification_center_widgets_mpris_mpris_media_player_play_pause (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                                 GVariant* _parameters_,
                                                                                 GDBusMethodInvocation* invocation);
static void _dbus_sway_notification_center_widgets_mpris_mpris_media_player_play_pause_ready (GObject * source_object,
                                                                                       GAsyncResult * _res_,
                                                                                       gpointer _user_data_);
static void _dbus_sway_notification_center_widgets_mpris_mpris_media_player_stop (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                           GVariant* _parameters_,
                                                                           GDBusMethodInvocation* invocation);
static void _dbus_sway_notification_center_widgets_mpris_mpris_media_player_stop_ready (GObject * source_object,
                                                                                 GAsyncResult * _res_,
                                                                                 gpointer _user_data_);
static void _dbus_sway_notification_center_widgets_mpris_mpris_media_player_play (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                           GVariant* _parameters_,
                                                                           GDBusMethodInvocation* invocation);
static void _dbus_sway_notification_center_widgets_mpris_mpris_media_player_play_ready (GObject * source_object,
                                                                                 GAsyncResult * _res_,
                                                                                 gpointer _user_data_);
static void sway_notification_center_widgets_mpris_mpris_media_player_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* sway_notification_center_widgets_mpris_mpris_media_player_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 GVariant* _dbus_sway_notification_center_widgets_mpris_mpris_media_player_get_playback_status (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
static GVariant* _dbus_sway_notification_center_widgets_mpris_mpris_media_player_get_metadata (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
static GVariant* _dbus_sway_notification_center_widgets_mpris_mpris_media_player_get_can_go_next (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
static GVariant* _dbus_sway_notification_center_widgets_mpris_mpris_media_player_get_can_go_previous (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
static GVariant* _dbus_sway_notification_center_widgets_mpris_mpris_media_player_get_can_play (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
static GVariant* _dbus_sway_notification_center_widgets_mpris_mpris_media_player_get_can_pause (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
static GVariant* _dbus_sway_notification_center_widgets_mpris_mpris_media_player_get_can_control (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
static GVariant* _dbus_sway_notification_center_widgets_mpris_mpris_media_player_get_can_seek (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
static GVariant* _dbus_sway_notification_center_widgets_mpris_mpris_media_player_get_shuffle (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
static GVariant* _dbus_sway_notification_center_widgets_mpris_mpris_media_player_get_loop_status (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self);
static gboolean sway_notification_center_widgets_mpris_mpris_media_player_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_sway_notification_center_widgets_mpris_mpris_media_player_set_shuffle (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                                  GVariant* _value);
static void _dbus_sway_notification_center_widgets_mpris_mpris_media_player_set_loop_status (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                                      GVariant* _value);
static void _sway_notification_center_widgets_mpris_mpris_media_player_unregister_object (gpointer user_data);
VALA_EXTERN GType sway_notification_center_widgets_mpris_dbus_interface_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint sway_notification_center_widgets_mpris_dbus_interface_register_object (void* object,
                                                                             GDBusConnection* connection,
                                                                             const gchar* path,
                                                                             GError** error);
VALA_EXTERN GType sway_notification_center_widgets_mpris_dbus_interface_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SwayNotificationCenterWidgetsMprisDBusInterface, g_object_unref)
VALA_EXTERN gchar** sway_notification_center_widgets_mpris_dbus_interface_list_names (SwayNotificationCenterWidgetsMprisDBusInterface* self,
                                                                          gint* result_length1,
                                                                          GError** error);
static void g_cclosure_user_marshal_VOID__STRING_STRING_STRING (GClosure * closure,
                                                         GValue * return_value,
                                                         guint n_param_values,
                                                         const GValue * param_values,
                                                         gpointer invocation_hint,
                                                         gpointer marshal_data);
static GType sway_notification_center_widgets_mpris_dbus_interface_get_type_once (void);
static void sway_notification_center_widgets_mpris_dbus_interface_proxy_g_signal (GDBusProxy* proxy,
                                                                           const gchar* sender_name,
                                                                           const gchar* signal_name,
                                                                           GVariant* parameters);
static void _dbus_handle_sway_notification_center_widgets_mpris_dbus_interface_name_owner_changed (SwayNotificationCenterWidgetsMprisDBusInterface* self,
                                                                                            GVariant* parameters);
static gchar** sway_notification_center_widgets_mpris_dbus_interface_proxy_list_names (SwayNotificationCenterWidgetsMprisDBusInterface* self,
                                                                                gint* result_length1,
                                                                                GError** error);
static void sway_notification_center_widgets_mpris_dbus_interface_proxy_sway_notification_center_widgets_mpris_dbus_interface_interface_init (SwayNotificationCenterWidgetsMprisDBusInterfaceIface* iface);
static void _dbus_sway_notification_center_widgets_mpris_dbus_interface_list_names (SwayNotificationCenterWidgetsMprisDBusInterface* self,
                                                                             GVariant* _parameters_,
                                                                             GDBusMethodInvocation* invocation);
static void sway_notification_center_widgets_mpris_dbus_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* sway_notification_center_widgets_mpris_dbus_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 sway_notification_center_widgets_mpris_dbus_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_sway_notification_center_widgets_mpris_dbus_interface_name_owner_changed (GObject* _sender,
                                                                                     const gchar* name,
                                                                                     const gchar* old_owner,
                                                                                     const gchar* new_owner,
                                                                                     gpointer* _data);
static void _sway_notification_center_widgets_mpris_dbus_interface_unregister_object (gpointer user_data);
static void _vala_array_destroy (gpointer array,
                          gssize array_length,
                          GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array,
                       gssize array_length,
                       GDestroyNotify destroy_func);

static const GDBusArgInfo _sway_notification_center_widgets_mpris_dbus_prop_change_dbus_arg_info_get_iface_name = {-1, "iface_name", "s", NULL};
static const GDBusArgInfo _sway_notification_center_widgets_mpris_dbus_prop_change_dbus_arg_info_get_property_name = {-1, "property_name", "s", NULL};
static const GDBusArgInfo _sway_notification_center_widgets_mpris_dbus_prop_change_dbus_arg_info_get_result = {-1, "result", "v", NULL};
static const GDBusArgInfo * const _sway_notification_center_widgets_mpris_dbus_prop_change_dbus_arg_info_get_in[] = {&_sway_notification_center_widgets_mpris_dbus_prop_change_dbus_arg_info_get_iface_name, &_sway_notification_center_widgets_mpris_dbus_prop_change_dbus_arg_info_get_property_name, NULL};
static const GDBusArgInfo * const _sway_notification_center_widgets_mpris_dbus_prop_change_dbus_arg_info_get_out[] = {&_sway_notification_center_widgets_mpris_dbus_prop_change_dbus_arg_info_get_result, NULL};
static const GDBusMethodInfo _sway_notification_center_widgets_mpris_dbus_prop_change_dbus_method_info_get = {-1, "Get", (GDBusArgInfo **) (&_sway_notification_center_widgets_mpris_dbus_prop_change_dbus_arg_info_get_in), (GDBusArgInfo **) (&_sway_notification_center_widgets_mpris_dbus_prop_change_dbus_arg_info_get_out), NULL};
static const GDBusMethodInfo * const _sway_notification_center_widgets_mpris_dbus_prop_change_dbus_method_info[] = {&_sway_notification_center_widgets_mpris_dbus_prop_change_dbus_method_info_get, NULL};
static const GDBusArgInfo _sway_notification_center_widgets_mpris_dbus_prop_change_dbus_arg_info_properties_changed_iface = {-1, "iface", "s", NULL};
static const GDBusArgInfo _sway_notification_center_widgets_mpris_dbus_prop_change_dbus_arg_info_properties_changed_changed = {-1, "changed", "a{sv}", NULL};
static const GDBusArgInfo _sway_notification_center_widgets_mpris_dbus_prop_change_dbus_arg_info_properties_changed_invalid = {-1, "invalid", "as", NULL};
static const GDBusArgInfo * const _sway_notification_center_widgets_mpris_dbus_prop_change_dbus_arg_info_properties_changed[] = {&_sway_notification_center_widgets_mpris_dbus_prop_change_dbus_arg_info_properties_changed_iface, &_sway_notification_center_widgets_mpris_dbus_prop_change_dbus_arg_info_properties_changed_changed, &_sway_notification_center_widgets_mpris_dbus_prop_change_dbus_arg_info_properties_changed_invalid, NULL};
static const GDBusSignalInfo _sway_notification_center_widgets_mpris_dbus_prop_change_dbus_signal_info_properties_changed = {-1, "PropertiesChanged", (GDBusArgInfo **) (&_sway_notification_center_widgets_mpris_dbus_prop_change_dbus_arg_info_properties_changed), NULL};
static const GDBusSignalInfo * const _sway_notification_center_widgets_mpris_dbus_prop_change_dbus_signal_info[] = {&_sway_notification_center_widgets_mpris_dbus_prop_change_dbus_signal_info_properties_changed, NULL};
static const GDBusPropertyInfo * const _sway_notification_center_widgets_mpris_dbus_prop_change_dbus_property_info[] = {NULL};
static const GDBusInterfaceInfo _sway_notification_center_widgets_mpris_dbus_prop_change_dbus_interface_info = {-1, "org.freedesktop.DBus.Properties", (GDBusMethodInfo **) (&_sway_notification_center_widgets_mpris_dbus_prop_change_dbus_method_info), (GDBusSignalInfo **) (&_sway_notification_center_widgets_mpris_dbus_prop_change_dbus_signal_info), (GDBusPropertyInfo **) (&_sway_notification_center_widgets_mpris_dbus_prop_change_dbus_property_info), NULL};
static const GDBusInterfaceVTable _sway_notification_center_widgets_mpris_dbus_prop_change_dbus_interface_vtable = {sway_notification_center_widgets_mpris_dbus_prop_change_dbus_interface_method_call, sway_notification_center_widgets_mpris_dbus_prop_change_dbus_interface_get_property, sway_notification_center_widgets_mpris_dbus_prop_change_dbus_interface_set_property};
static const GDBusMethodInfo * const _sway_notification_center_widgets_mpris_mpris_props_dbus_method_info[] = {NULL};
static const GDBusSignalInfo * const _sway_notification_center_widgets_mpris_mpris_props_dbus_signal_info[] = {NULL};
static const GDBusPropertyInfo _sway_notification_center_widgets_mpris_mpris_props_dbus_property_info_desktop_entry = {-1, "DesktopEntry", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _sway_notification_center_widgets_mpris_mpris_props_dbus_property_info_identity = {-1, "Identity", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo * const _sway_notification_center_widgets_mpris_mpris_props_dbus_property_info[] = {&_sway_notification_center_widgets_mpris_mpris_props_dbus_property_info_desktop_entry, &_sway_notification_center_widgets_mpris_mpris_props_dbus_property_info_identity, NULL};
static const GDBusInterfaceInfo _sway_notification_center_widgets_mpris_mpris_props_dbus_interface_info = {-1, "org.mpris.MediaPlayer2", (GDBusMethodInfo **) (&_sway_notification_center_widgets_mpris_mpris_props_dbus_method_info), (GDBusSignalInfo **) (&_sway_notification_center_widgets_mpris_mpris_props_dbus_signal_info), (GDBusPropertyInfo **) (&_sway_notification_center_widgets_mpris_mpris_props_dbus_property_info), NULL};
static const GDBusInterfaceVTable _sway_notification_center_widgets_mpris_mpris_props_dbus_interface_vtable = {sway_notification_center_widgets_mpris_mpris_props_dbus_interface_method_call, sway_notification_center_widgets_mpris_mpris_props_dbus_interface_get_property, sway_notification_center_widgets_mpris_mpris_props_dbus_interface_set_property};
static const GDBusArgInfo * const _sway_notification_center_widgets_mpris_mpris_media_player_dbus_arg_info_next_in[] = {NULL};
static const GDBusArgInfo * const _sway_notification_center_widgets_mpris_mpris_media_player_dbus_arg_info_next_out[] = {NULL};
static const GDBusMethodInfo _sway_notification_center_widgets_mpris_mpris_media_player_dbus_method_info_next = {-1, "Next", (GDBusArgInfo **) (&_sway_notification_center_widgets_mpris_mpris_media_player_dbus_arg_info_next_in), (GDBusArgInfo **) (&_sway_notification_center_widgets_mpris_mpris_media_player_dbus_arg_info_next_out), NULL};
static const GDBusArgInfo * const _sway_notification_center_widgets_mpris_mpris_media_player_dbus_arg_info_previous_in[] = {NULL};
static const GDBusArgInfo * const _sway_notification_center_widgets_mpris_mpris_media_player_dbus_arg_info_previous_out[] = {NULL};
static const GDBusMethodInfo _sway_notification_center_widgets_mpris_mpris_media_player_dbus_method_info_previous = {-1, "Previous", (GDBusArgInfo **) (&_sway_notification_center_widgets_mpris_mpris_media_player_dbus_arg_info_previous_in), (GDBusArgInfo **) (&_sway_notification_center_widgets_mpris_mpris_media_player_dbus_arg_info_previous_out), NULL};
static const GDBusArgInfo * const _sway_notification_center_widgets_mpris_mpris_media_player_dbus_arg_info_pause_in[] = {NULL};
static const GDBusArgInfo * const _sway_notification_center_widgets_mpris_mpris_media_player_dbus_arg_info_pause_out[] = {NULL};
static const GDBusMethodInfo _sway_notification_center_widgets_mpris_mpris_media_player_dbus_method_info_pause = {-1, "Pause", (GDBusArgInfo **) (&_sway_notification_center_widgets_mpris_mpris_media_player_dbus_arg_info_pause_in), (GDBusArgInfo **) (&_sway_notification_center_widgets_mpris_mpris_media_player_dbus_arg_info_pause_out), NULL};
static const GDBusArgInfo * const _sway_notification_center_widgets_mpris_mpris_media_player_dbus_arg_info_play_pause_in[] = {NULL};
static const GDBusArgInfo * const _sway_notification_center_widgets_mpris_mpris_media_player_dbus_arg_info_play_pause_out[] = {NULL};
static const GDBusMethodInfo _sway_notification_center_widgets_mpris_mpris_media_player_dbus_method_info_play_pause = {-1, "PlayPause", (GDBusArgInfo **) (&_sway_notification_center_widgets_mpris_mpris_media_player_dbus_arg_info_play_pause_in), (GDBusArgInfo **) (&_sway_notification_center_widgets_mpris_mpris_media_player_dbus_arg_info_play_pause_out), NULL};
static const GDBusArgInfo * const _sway_notification_center_widgets_mpris_mpris_media_player_dbus_arg_info_stop_in[] = {NULL};
static const GDBusArgInfo * const _sway_notification_center_widgets_mpris_mpris_media_player_dbus_arg_info_stop_out[] = {NULL};
static const GDBusMethodInfo _sway_notification_center_widgets_mpris_mpris_media_player_dbus_method_info_stop = {-1, "Stop", (GDBusArgInfo **) (&_sway_notification_center_widgets_mpris_mpris_media_player_dbus_arg_info_stop_in), (GDBusArgInfo **) (&_sway_notification_center_widgets_mpris_mpris_media_player_dbus_arg_info_stop_out), NULL};
static const GDBusArgInfo * const _sway_notification_center_widgets_mpris_mpris_media_player_dbus_arg_info_play_in[] = {NULL};
static const GDBusArgInfo * const _sway_notification_center_widgets_mpris_mpris_media_player_dbus_arg_info_play_out[] = {NULL};
static const GDBusMethodInfo _sway_notification_center_widgets_mpris_mpris_media_player_dbus_method_info_play = {-1, "Play", (GDBusArgInfo **) (&_sway_notification_center_widgets_mpris_mpris_media_player_dbus_arg_info_play_in), (GDBusArgInfo **) (&_sway_notification_center_widgets_mpris_mpris_media_player_dbus_arg_info_play_out), NULL};
static const GDBusMethodInfo * const _sway_notification_center_widgets_mpris_mpris_media_player_dbus_method_info[] = {&_sway_notification_center_widgets_mpris_mpris_media_player_dbus_method_info_next, &_sway_notification_center_widgets_mpris_mpris_media_player_dbus_method_info_previous, &_sway_notification_center_widgets_mpris_mpris_media_player_dbus_method_info_pause, &_sway_notification_center_widgets_mpris_mpris_media_player_dbus_method_info_play_pause, &_sway_notification_center_widgets_mpris_mpris_media_player_dbus_method_info_stop, &_sway_notification_center_widgets_mpris_mpris_media_player_dbus_method_info_play, NULL};
static const GDBusSignalInfo * const _sway_notification_center_widgets_mpris_mpris_media_player_dbus_signal_info[] = {NULL};
static const GDBusPropertyInfo _sway_notification_center_widgets_mpris_mpris_media_player_dbus_property_info_playback_status = {-1, "PlaybackStatus", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _sway_notification_center_widgets_mpris_mpris_media_player_dbus_property_info_metadata = {-1, "Metadata", "a{sv}", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _sway_notification_center_widgets_mpris_mpris_media_player_dbus_property_info_can_go_next = {-1, "CanGoNext", "b", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _sway_notification_center_widgets_mpris_mpris_media_player_dbus_property_info_can_go_previous = {-1, "CanGoPrevious", "b", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _sway_notification_center_widgets_mpris_mpris_media_player_dbus_property_info_can_play = {-1, "CanPlay", "b", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _sway_notification_center_widgets_mpris_mpris_media_player_dbus_property_info_can_pause = {-1, "CanPause", "b", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _sway_notification_center_widgets_mpris_mpris_media_player_dbus_property_info_can_control = {-1, "CanControl", "b", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _sway_notification_center_widgets_mpris_mpris_media_player_dbus_property_info_can_seek = {-1, "CanSeek", "b", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _sway_notification_center_widgets_mpris_mpris_media_player_dbus_property_info_shuffle = {-1, "Shuffle", "b", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, NULL};
static const GDBusPropertyInfo _sway_notification_center_widgets_mpris_mpris_media_player_dbus_property_info_loop_status = {-1, "LoopStatus", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, NULL};
static const GDBusPropertyInfo * const _sway_notification_center_widgets_mpris_mpris_media_player_dbus_property_info[] = {&_sway_notification_center_widgets_mpris_mpris_media_player_dbus_property_info_playback_status, &_sway_notification_center_widgets_mpris_mpris_media_player_dbus_property_info_metadata, &_sway_notification_center_widgets_mpris_mpris_media_player_dbus_property_info_can_go_next, &_sway_notification_center_widgets_mpris_mpris_media_player_dbus_property_info_can_go_previous, &_sway_notification_center_widgets_mpris_mpris_media_player_dbus_property_info_can_play, &_sway_notification_center_widgets_mpris_mpris_media_player_dbus_property_info_can_pause, &_sway_notification_center_widgets_mpris_mpris_media_player_dbus_property_info_can_control, &_sway_notification_center_widgets_mpris_mpris_media_player_dbus_property_info_can_seek, &_sway_notification_center_widgets_mpris_mpris_media_player_dbus_property_info_shuffle, &_sway_notification_center_widgets_mpris_mpris_media_player_dbus_property_info_loop_status, NULL};
static const GDBusInterfaceInfo _sway_notification_center_widgets_mpris_mpris_media_player_dbus_interface_info = {-1, "org.mpris.MediaPlayer2.Player", (GDBusMethodInfo **) (&_sway_notification_center_widgets_mpris_mpris_media_player_dbus_method_info), (GDBusSignalInfo **) (&_sway_notification_center_widgets_mpris_mpris_media_player_dbus_signal_info), (GDBusPropertyInfo **) (&_sway_notification_center_widgets_mpris_mpris_media_player_dbus_property_info), NULL};
static const GDBusInterfaceVTable _sway_notification_center_widgets_mpris_mpris_media_player_dbus_interface_vtable = {sway_notification_center_widgets_mpris_mpris_media_player_dbus_interface_method_call, sway_notification_center_widgets_mpris_mpris_media_player_dbus_interface_get_property, sway_notification_center_widgets_mpris_mpris_media_player_dbus_interface_set_property};
static const GDBusArgInfo _sway_notification_center_widgets_mpris_dbus_interface_dbus_arg_info_list_names_result = {-1, "result", "as", NULL};
static const GDBusArgInfo * const _sway_notification_center_widgets_mpris_dbus_interface_dbus_arg_info_list_names_in[] = {NULL};
static const GDBusArgInfo * const _sway_notification_center_widgets_mpris_dbus_interface_dbus_arg_info_list_names_out[] = {&_sway_notification_center_widgets_mpris_dbus_interface_dbus_arg_info_list_names_result, NULL};
static const GDBusMethodInfo _sway_notification_center_widgets_mpris_dbus_interface_dbus_method_info_list_names = {-1, "ListNames", (GDBusArgInfo **) (&_sway_notification_center_widgets_mpris_dbus_interface_dbus_arg_info_list_names_in), (GDBusArgInfo **) (&_sway_notification_center_widgets_mpris_dbus_interface_dbus_arg_info_list_names_out), NULL};
static const GDBusMethodInfo * const _sway_notification_center_widgets_mpris_dbus_interface_dbus_method_info[] = {&_sway_notification_center_widgets_mpris_dbus_interface_dbus_method_info_list_names, NULL};
static const GDBusArgInfo _sway_notification_center_widgets_mpris_dbus_interface_dbus_arg_info_name_owner_changed_name = {-1, "name", "s", NULL};
static const GDBusArgInfo _sway_notification_center_widgets_mpris_dbus_interface_dbus_arg_info_name_owner_changed_old_owner = {-1, "old_owner", "s", NULL};
static const GDBusArgInfo _sway_notification_center_widgets_mpris_dbus_interface_dbus_arg_info_name_owner_changed_new_owner = {-1, "new_owner", "s", NULL};
static const GDBusArgInfo * const _sway_notification_center_widgets_mpris_dbus_interface_dbus_arg_info_name_owner_changed[] = {&_sway_notification_center_widgets_mpris_dbus_interface_dbus_arg_info_name_owner_changed_name, &_sway_notification_center_widgets_mpris_dbus_interface_dbus_arg_info_name_owner_changed_old_owner, &_sway_notification_center_widgets_mpris_dbus_interface_dbus_arg_info_name_owner_changed_new_owner, NULL};
static const GDBusSignalInfo _sway_notification_center_widgets_mpris_dbus_interface_dbus_signal_info_name_owner_changed = {-1, "NameOwnerChanged", (GDBusArgInfo **) (&_sway_notification_center_widgets_mpris_dbus_interface_dbus_arg_info_name_owner_changed), NULL};
static const GDBusSignalInfo * const _sway_notification_center_widgets_mpris_dbus_interface_dbus_signal_info[] = {&_sway_notification_center_widgets_mpris_dbus_interface_dbus_signal_info_name_owner_changed, NULL};
static const GDBusPropertyInfo * const _sway_notification_center_widgets_mpris_dbus_interface_dbus_property_info[] = {NULL};
static const GDBusInterfaceInfo _sway_notification_center_widgets_mpris_dbus_interface_dbus_interface_info = {-1, "org.freedesktop.DBus", (GDBusMethodInfo **) (&_sway_notification_center_widgets_mpris_dbus_interface_dbus_method_info), (GDBusSignalInfo **) (&_sway_notification_center_widgets_mpris_dbus_interface_dbus_signal_info), (GDBusPropertyInfo **) (&_sway_notification_center_widgets_mpris_dbus_interface_dbus_property_info), NULL};
static const GDBusInterfaceVTable _sway_notification_center_widgets_mpris_dbus_interface_dbus_interface_vtable = {sway_notification_center_widgets_mpris_dbus_interface_dbus_interface_method_call, sway_notification_center_widgets_mpris_dbus_interface_dbus_interface_get_property, sway_notification_center_widgets_mpris_dbus_interface_dbus_interface_set_property};

static inline gpointer
sway_notification_center_widgets_mpris_mpris_source_get_instance_private (SwayNotificationCenterWidgetsMprisMprisSource* self)
{
	return G_STRUCT_MEMBER_P (self, SwayNotificationCenterWidgetsMprisMprisSource_private_offset);
}

static gpointer
_g_object_ref0 (gpointer self)
{
	return self ? g_object_ref (self) : NULL;
}

static void
__lambda51_ (SwayNotificationCenterWidgetsMprisMprisSource* self,
             const gchar* i,
             GHashTable* c,
             gchar** inv,
             gint inv_length1)
{
	g_return_if_fail (i != NULL);
	g_return_if_fail (c != NULL);
	g_signal_emit (self, sway_notification_center_widgets_mpris_mpris_source_signals[SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_SOURCE_PROPERTIES_CHANGED_SIGNAL], 0, i, c, inv, (gint) inv_length1);
}

static void
___lambda51__sway_notification_center_widgets_mpris_dbus_prop_change_properties_changed (SwayNotificationCenterWidgetsMprisDbusPropChange* _sender,
                                                                                         const gchar* iface,
                                                                                         GHashTable* changed,
                                                                                         gchar** invalid,
                                                                                         gint invalid_length1,
                                                                                         gpointer self)
{
	__lambda51_ ((SwayNotificationCenterWidgetsMprisMprisSource*) self, iface, changed, invalid, invalid_length1);
}

static SwayNotificationCenterWidgetsMprisMprisSource*
sway_notification_center_widgets_mpris_mpris_source_construct (GType object_type,
                                                               SwayNotificationCenterWidgetsMprisMprisMediaPlayer* _media_player,
                                                               SwayNotificationCenterWidgetsMprisDbusPropChange* _props)
{
	SwayNotificationCenterWidgetsMprisMprisSource * self = NULL;
	SwayNotificationCenterWidgetsMprisDbusPropChange* _tmp0_;
	SwayNotificationCenterWidgetsMprisDbusPropChange* _tmp1_;
	g_return_val_if_fail (SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_IS_MPRIS_MEDIA_PLAYER (_media_player), NULL);
	g_return_val_if_fail (SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_IS_DBUS_PROP_CHANGE (_props), NULL);
	self = (SwayNotificationCenterWidgetsMprisMprisSource*) g_object_new (object_type, NULL);
	sway_notification_center_widgets_mpris_mpris_source_set_media_player (self, _media_player);
	_tmp0_ = _g_object_ref0 (_props);
	_g_object_unref0 (self->priv->props);
	self->priv->props = _tmp0_;
	_tmp1_ = self->priv->props;
	g_signal_connect_object (_tmp1_, "properties-changed", (GCallback) ___lambda51__sway_notification_center_widgets_mpris_dbus_prop_change_properties_changed, self, 0);
	return self;
}

static SwayNotificationCenterWidgetsMprisMprisSource*
sway_notification_center_widgets_mpris_mpris_source_new (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* _media_player,
                                                         SwayNotificationCenterWidgetsMprisDbusPropChange* _props)
{
	return sway_notification_center_widgets_mpris_mpris_source_construct (SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_MPRIS_SOURCE, _media_player, _props);
}

SwayNotificationCenterWidgetsMprisMprisSource*
sway_notification_center_widgets_mpris_mpris_source_get_player (const gchar* bus_name)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayer* player = NULL;
	SwayNotificationCenterWidgetsMprisDbusPropChange* props = NULL;
	gboolean _tmp10_ = FALSE;
	SwayNotificationCenterWidgetsMprisMprisMediaPlayer* _tmp11_;
	SwayNotificationCenterWidgetsMprisMprisMediaPlayer* _tmp13_;
	SwayNotificationCenterWidgetsMprisDbusPropChange* _tmp14_;
	SwayNotificationCenterWidgetsMprisMprisSource* _tmp15_;
	GError* _inner_error0_ = NULL;
	SwayNotificationCenterWidgetsMprisMprisSource* result;
	g_return_val_if_fail (bus_name != NULL, NULL);
	{
		SwayNotificationCenterWidgetsMprisMprisMediaPlayer* _tmp0_ = NULL;
		SwayNotificationCenterWidgetsMprisMprisMediaPlayer* _tmp1_;
		SwayNotificationCenterWidgetsMprisMprisMediaPlayer* _tmp2_;
		_tmp1_ = (SwayNotificationCenterWidgetsMprisMprisMediaPlayer*) g_initable_new (SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_MPRIS_MEDIA_PLAYER_PROXY, NULL, &_inner_error0_, "g-flags", 0, "g-name", bus_name, "g-bus-type", G_BUS_TYPE_SESSION, "g-object-path", SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_SOURCE_INTERFACE_PATH, "g-interface-name", "org.mpris.MediaPlayer2.Player", NULL);
		_tmp0_ = (SwayNotificationCenterWidgetsMprisMprisMediaPlayer*) _tmp1_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_tmp2_ = _tmp0_;
		_tmp0_ = NULL;
		_g_object_unref0 (player);
		player = _tmp2_;
		_g_object_unref0 (_tmp0_);
	}
	goto __finally0;
	__catch0_g_error:
	{
		GError* e = NULL;
		GError* _tmp3_;
		const gchar* _tmp4_;
		e = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp3_ = e;
		_tmp4_ = _tmp3_->message;
		g_message ("interfaces.vala:25: %s", _tmp4_);
		result = NULL;
		_g_error_free0 (e);
		_g_object_unref0 (props);
		_g_object_unref0 (player);
		return result;
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		_g_object_unref0 (props);
		_g_object_unref0 (player);
		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);
		g_clear_error (&_inner_error0_);
		return NULL;
	}
	{
		SwayNotificationCenterWidgetsMprisDbusPropChange* _tmp5_ = NULL;
		SwayNotificationCenterWidgetsMprisDbusPropChange* _tmp6_;
		SwayNotificationCenterWidgetsMprisDbusPropChange* _tmp7_;
		_tmp6_ = (SwayNotificationCenterWidgetsMprisDbusPropChange*) g_initable_new (SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_DBUS_PROP_CHANGE_PROXY, NULL, &_inner_error0_, "g-flags", 0, "g-name", bus_name, "g-bus-type", G_BUS_TYPE_SESSION, "g-object-path", SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_SOURCE_INTERFACE_PATH, "g-interface-name", "org.freedesktop.DBus.Properties", NULL);
		_tmp5_ = (SwayNotificationCenterWidgetsMprisDbusPropChange*) _tmp6_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			goto __catch1_g_error;
		}
		_tmp7_ = _tmp5_;
		_tmp5_ = NULL;
		_g_object_unref0 (props);
		props = _tmp7_;
		_g_object_unref0 (_tmp5_);
	}
	goto __finally1;
	__catch1_g_error:
	{
		GError* e = NULL;
		GError* _tmp8_;
		const gchar* _tmp9_;
		e = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp8_ = e;
		_tmp9_ = _tmp8_->message;
		g_message ("interfaces.vala:31: %s", _tmp9_);
		result = NULL;
		_g_error_free0 (e);
		_g_object_unref0 (props);
		_g_object_unref0 (player);
		return result;
	}
	__finally1:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		_g_object_unref0 (props);
		_g_object_unref0 (player);
		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);
		g_clear_error (&_inner_error0_);
		return NULL;
	}
	_tmp11_ = player;
	if (_tmp11_ == NULL) {
		_tmp10_ = TRUE;
	} else {
		SwayNotificationCenterWidgetsMprisDbusPropChange* _tmp12_;
		_tmp12_ = props;
		_tmp10_ = _tmp12_ == NULL;
	}
	if (_tmp10_) {
		result = NULL;
		_g_object_unref0 (props);
		_g_object_unref0 (player);
		return result;
	}
	_tmp13_ = player;
	_tmp14_ = props;
	_tmp15_ = sway_notification_center_widgets_mpris_mpris_source_new (_tmp13_, _tmp14_);
	if (_tmp15_) {
		g_object_set_data ((GObject *) _tmp15_, "vala-creation-function", "SwayNotificationCenter.Widgets.Mpris.MprisSource.get_player");
	}
	result = _tmp15_;
	_g_object_unref0 (props);
	_g_object_unref0 (player);
	return result;
}

GVariant*
sway_notification_center_widgets_mpris_mpris_source_get_mpris_player_prop (SwayNotificationCenterWidgetsMprisMprisSource* self,
                                                                           const gchar* property_name)
{
	GError* _inner_error0_ = NULL;
	GVariant* result;
	g_return_val_if_fail (SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_IS_MPRIS_SOURCE (self), NULL);
	g_return_val_if_fail (property_name != NULL, NULL);
	{
		GVariant* _tmp0_ = NULL;
		SwayNotificationCenterWidgetsMprisDbusPropChange* _tmp1_;
		GVariant* _tmp2_;
		GVariant* _tmp3_;
		_tmp1_ = self->priv->props;
		_tmp2_ = sway_notification_center_widgets_mpris_dbus_prop_change_get (_tmp1_, "org.mpris.MediaPlayer2.Player", property_name, &_inner_error0_);
		_tmp0_ = _tmp2_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_tmp3_ = _tmp0_;
		_tmp0_ = NULL;
		result = _tmp3_;
		_g_variant_unref0 (_tmp0_);
		return result;
	}
	goto __finally0;
	__catch0_g_error:
	{
		g_clear_error (&_inner_error0_);
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		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);
		g_clear_error (&_inner_error0_);
		return NULL;
	}
	result = NULL;
	return result;
}

GVariant*
sway_notification_center_widgets_mpris_mpris_source_get_mpris_prop (SwayNotificationCenterWidgetsMprisMprisSource* self,
                                                                    const gchar* property_name)
{
	GError* _inner_error0_ = NULL;
	GVariant* result;
	g_return_val_if_fail (SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_IS_MPRIS_SOURCE (self), NULL);
	g_return_val_if_fail (property_name != NULL, NULL);
	{
		GVariant* _tmp0_ = NULL;
		SwayNotificationCenterWidgetsMprisDbusPropChange* _tmp1_;
		GVariant* _tmp2_;
		GVariant* _tmp3_;
		_tmp1_ = self->priv->props;
		_tmp2_ = sway_notification_center_widgets_mpris_dbus_prop_change_get (_tmp1_, "org.mpris.MediaPlayer2", property_name, &_inner_error0_);
		_tmp0_ = _tmp2_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_tmp3_ = _tmp0_;
		_tmp0_ = NULL;
		result = _tmp3_;
		_g_variant_unref0 (_tmp0_);
		return result;
	}
	goto __finally0;
	__catch0_g_error:
	{
		g_clear_error (&_inner_error0_);
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		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);
		g_clear_error (&_inner_error0_);
		return NULL;
	}
	result = NULL;
	return result;
}

SwayNotificationCenterWidgetsMprisMprisMediaPlayer*
sway_notification_center_widgets_mpris_mpris_source_get_media_player (SwayNotificationCenterWidgetsMprisMprisSource* self)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayer* result;
	SwayNotificationCenterWidgetsMprisMprisMediaPlayer* _tmp0_;
	g_return_val_if_fail (SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_IS_MPRIS_SOURCE (self), NULL);
	_tmp0_ = self->priv->_media_player;
	result = _tmp0_;
	return result;
}

static void
sway_notification_center_widgets_mpris_mpris_source_set_media_player (SwayNotificationCenterWidgetsMprisMprisSource* self,
                                                                      SwayNotificationCenterWidgetsMprisMprisMediaPlayer* value)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayer* old_value;
	g_return_if_fail (SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_IS_MPRIS_SOURCE (self));
	old_value = sway_notification_center_widgets_mpris_mpris_source_get_media_player (self);
	if (old_value != value) {
		SwayNotificationCenterWidgetsMprisMprisMediaPlayer* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_media_player);
		self->priv->_media_player = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, sway_notification_center_widgets_mpris_mpris_source_properties[SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_SOURCE_MEDIA_PLAYER_PROPERTY]);
	}
}

static void
g_cclosure_user_marshal_VOID__STRING_BOXED_BOXED_INT (GClosure * closure,
                                                      GValue * return_value,
                                                      guint n_param_values,
                                                      const GValue * param_values,
                                                      gpointer invocation_hint,
                                                      gpointer marshal_data)
{
	typedef void (*GMarshalFunc_VOID__STRING_BOXED_BOXED_INT) (gpointer data1, const char* arg_1, gpointer arg_2, gpointer arg_3, gint arg_4, gpointer data2);
	register GMarshalFunc_VOID__STRING_BOXED_BOXED_INT callback;
	register GCClosure * cc;
	register gpointer data1;
	register gpointer data2;
	cc = (GCClosure *) closure;
	g_return_if_fail (n_param_values == 5);
	if (G_CCLOSURE_SWAP_DATA (closure)) {
		data1 = closure->data;
		data2 = param_values->data[0].v_pointer;
	} else {
		data1 = param_values->data[0].v_pointer;
		data2 = closure->data;
	}
	callback = (GMarshalFunc_VOID__STRING_BOXED_BOXED_INT) (marshal_data ? marshal_data : cc->callback);
	callback (data1, g_value_get_string (param_values + 1), g_value_get_boxed (param_values + 2), g_value_get_boxed (param_values + 3), g_value_get_int (param_values + 4), data2);
}

static void
sway_notification_center_widgets_mpris_mpris_source_class_init (SwayNotificationCenterWidgetsMprisMprisSourceClass * klass,
                                                                gpointer klass_data)
{
	sway_notification_center_widgets_mpris_mpris_source_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &SwayNotificationCenterWidgetsMprisMprisSource_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_sway_notification_center_widgets_mpris_mpris_source_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_sway_notification_center_widgets_mpris_mpris_source_set_property;
	G_OBJECT_CLASS (klass)->finalize = sway_notification_center_widgets_mpris_mpris_source_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_SOURCE_MEDIA_PLAYER_PROPERTY, sway_notification_center_widgets_mpris_mpris_source_properties[SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_SOURCE_MEDIA_PLAYER_PROPERTY] = g_param_spec_object ("media-player", "media-player", "media-player", SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_MPRIS_MEDIA_PLAYER, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
	sway_notification_center_widgets_mpris_mpris_source_signals[SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_SOURCE_PROPERTIES_CHANGED_SIGNAL] = g_signal_new ("properties-changed", SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_MPRIS_SOURCE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__STRING_BOXED_BOXED_INT, G_TYPE_NONE, 4, G_TYPE_STRING, G_TYPE_HASH_TABLE, G_TYPE_STRV, G_TYPE_INT);
}

static void
sway_notification_center_widgets_mpris_mpris_source_instance_init (SwayNotificationCenterWidgetsMprisMprisSource * self,
                                                                   gpointer klass)
{
	self->priv = sway_notification_center_widgets_mpris_mpris_source_get_instance_private (self);
}

static void
sway_notification_center_widgets_mpris_mpris_source_finalize (GObject * obj)
{
	SwayNotificationCenterWidgetsMprisMprisSource * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_MPRIS_SOURCE, SwayNotificationCenterWidgetsMprisMprisSource);
	_g_object_unref0 (self->priv->_media_player);
	_g_object_unref0 (self->priv->props);
	G_OBJECT_CLASS (sway_notification_center_widgets_mpris_mpris_source_parent_class)->finalize (obj);
}

 G_GNUC_NO_INLINE static GType
sway_notification_center_widgets_mpris_mpris_source_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SwayNotificationCenterWidgetsMprisMprisSourceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) sway_notification_center_widgets_mpris_mpris_source_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SwayNotificationCenterWidgetsMprisMprisSource), 0, (GInstanceInitFunc) sway_notification_center_widgets_mpris_mpris_source_instance_init, NULL };
	GType sway_notification_center_widgets_mpris_mpris_source_type_id;
	sway_notification_center_widgets_mpris_mpris_source_type_id = g_type_register_static (G_TYPE_OBJECT, "SwayNotificationCenterWidgetsMprisMprisSource", &g_define_type_info, 0);
	SwayNotificationCenterWidgetsMprisMprisSource_private_offset = g_type_add_instance_private (sway_notification_center_widgets_mpris_mpris_source_type_id, sizeof (SwayNotificationCenterWidgetsMprisMprisSourcePrivate));
	return sway_notification_center_widgets_mpris_mpris_source_type_id;
}

GType
sway_notification_center_widgets_mpris_mpris_source_get_type (void)
{
	static gsize sway_notification_center_widgets_mpris_mpris_source_type_id__once = 0;
	if (g_once_init_enter (&sway_notification_center_widgets_mpris_mpris_source_type_id__once)) {
		GType sway_notification_center_widgets_mpris_mpris_source_type_id;
		sway_notification_center_widgets_mpris_mpris_source_type_id = sway_notification_center_widgets_mpris_mpris_source_get_type_once ();
		g_once_init_leave (&sway_notification_center_widgets_mpris_mpris_source_type_id__once, sway_notification_center_widgets_mpris_mpris_source_type_id);
	}
	return sway_notification_center_widgets_mpris_mpris_source_type_id__once;
}

static void
_vala_sway_notification_center_widgets_mpris_mpris_source_get_property (GObject * object,
                                                                        guint property_id,
                                                                        GValue * value,
                                                                        GParamSpec * pspec)
{
	SwayNotificationCenterWidgetsMprisMprisSource * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_MPRIS_SOURCE, SwayNotificationCenterWidgetsMprisMprisSource);
	switch (property_id) {
		case SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_SOURCE_MEDIA_PLAYER_PROPERTY:
		g_value_set_object (value, sway_notification_center_widgets_mpris_mpris_source_get_media_player (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_sway_notification_center_widgets_mpris_mpris_source_set_property (GObject * object,
                                                                        guint property_id,
                                                                        const GValue * value,
                                                                        GParamSpec * pspec)
{
	SwayNotificationCenterWidgetsMprisMprisSource * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_MPRIS_SOURCE, SwayNotificationCenterWidgetsMprisMprisSource);
	switch (property_id) {
		case SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_SOURCE_MEDIA_PLAYER_PROPERTY:
		sway_notification_center_widgets_mpris_mpris_source_set_media_player (self, g_value_get_object (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

GVariant*
sway_notification_center_widgets_mpris_dbus_prop_change_get (SwayNotificationCenterWidgetsMprisDbusPropChange* self,
                                                             const gchar* iface_name,
                                                             const gchar* property_name,
                                                             GError** error)
{
	SwayNotificationCenterWidgetsMprisDbusPropChangeIface* _iface_;
	g_return_val_if_fail (SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_IS_DBUS_PROP_CHANGE (self), NULL);
	_iface_ = SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_DBUS_PROP_CHANGE_GET_INTERFACE (self);
	if (_iface_->get) {
		return _iface_->get (self, iface_name, property_name, error);
	}
	return NULL;
}

static void
sway_notification_center_widgets_mpris_dbus_prop_change_default_init (SwayNotificationCenterWidgetsMprisDbusPropChangeIface * iface,
                                                                      gpointer iface_data)
{
	sway_notification_center_widgets_mpris_dbus_prop_change_signals[SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_DBUS_PROP_CHANGE_PROPERTIES_CHANGED_SIGNAL] = g_signal_new ("properties-changed", SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_DBUS_PROP_CHANGE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__STRING_BOXED_BOXED_INT, G_TYPE_NONE, 4, G_TYPE_STRING, G_TYPE_HASH_TABLE, G_TYPE_STRV, G_TYPE_INT);
}

/** MPRIS uses properties_changed for player changes */
 G_GNUC_NO_INLINE static GType
sway_notification_center_widgets_mpris_dbus_prop_change_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SwayNotificationCenterWidgetsMprisDbusPropChangeIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) sway_notification_center_widgets_mpris_dbus_prop_change_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
	GType sway_notification_center_widgets_mpris_dbus_prop_change_type_id;
	sway_notification_center_widgets_mpris_dbus_prop_change_type_id = g_type_register_static (G_TYPE_INTERFACE, "SwayNotificationCenterWidgetsMprisDbusPropChange", &g_define_type_info, 0);
	g_type_interface_add_prerequisite (sway_notification_center_widgets_mpris_dbus_prop_change_type_id, G_TYPE_OBJECT);
	g_type_set_qdata (sway_notification_center_widgets_mpris_dbus_prop_change_type_id, g_quark_from_static_string ("vala-dbus-proxy-type"), (void*) sway_notification_center_widgets_mpris_dbus_prop_change_proxy_get_type);
	g_type_set_qdata (sway_notification_center_widgets_mpris_dbus_prop_change_type_id, g_quark_from_static_string ("vala-dbus-interface-name"), "org.freedesktop.DBus.Properties");
	g_type_set_qdata (sway_notification_center_widgets_mpris_dbus_prop_change_type_id, g_quark_from_static_string ("vala-dbus-interface-info"), (void*) (&_sway_notification_center_widgets_mpris_dbus_prop_change_dbus_interface_info));
	g_type_set_qdata (sway_notification_center_widgets_mpris_dbus_prop_change_type_id, g_quark_from_static_string ("vala-dbus-register-object"), (void*) sway_notification_center_widgets_mpris_dbus_prop_change_register_object);
	return sway_notification_center_widgets_mpris_dbus_prop_change_type_id;
}

GType
sway_notification_center_widgets_mpris_dbus_prop_change_get_type (void)
{
	static gsize sway_notification_center_widgets_mpris_dbus_prop_change_type_id__once = 0;
	if (g_once_init_enter (&sway_notification_center_widgets_mpris_dbus_prop_change_type_id__once)) {
		GType sway_notification_center_widgets_mpris_dbus_prop_change_type_id;
		sway_notification_center_widgets_mpris_dbus_prop_change_type_id = sway_notification_center_widgets_mpris_dbus_prop_change_get_type_once ();
		g_once_init_leave (&sway_notification_center_widgets_mpris_dbus_prop_change_type_id__once, sway_notification_center_widgets_mpris_dbus_prop_change_type_id);
	}
	return sway_notification_center_widgets_mpris_dbus_prop_change_type_id__once;
}

G_DEFINE_TYPE_EXTENDED (SwayNotificationCenterWidgetsMprisDbusPropChangeProxy, sway_notification_center_widgets_mpris_dbus_prop_change_proxy, G_TYPE_DBUS_PROXY, 0, G_IMPLEMENT_INTERFACE (SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_DBUS_PROP_CHANGE, sway_notification_center_widgets_mpris_dbus_prop_change_proxy_sway_notification_center_widgets_mpris_dbus_prop_change_interface_init) )
static void
sway_notification_center_widgets_mpris_dbus_prop_change_proxy_class_init (SwayNotificationCenterWidgetsMprisDbusPropChangeProxyClass* klass)
{
	G_DBUS_PROXY_CLASS (klass)->g_signal = sway_notification_center_widgets_mpris_dbus_prop_change_proxy_g_signal;
}

static void
_dbus_handle_sway_notification_center_widgets_mpris_dbus_prop_change_properties_changed (SwayNotificationCenterWidgetsMprisDbusPropChange* self,
                                                                                         GVariant* parameters)
{
	GVariantIter _arguments_iter;
	gchar* iface = NULL;
	GVariant* _tmp33_;
	GHashTable* changed = NULL;
	GVariant* _tmp34_;
	GHashTable* _tmp35_;
	GVariantIter _tmp36_;
	GVariant* _tmp37_;
	GVariant* _tmp38_;
	gchar** invalid = NULL;
	gint invalid_length1;
	GVariant* _tmp39_;
	gchar** _tmp40_;
	gint _tmp40__length;
	gint _tmp40__size;
	gint _tmp40__length1;
	GVariantIter _tmp41_;
	GVariant* _tmp42_;
	g_variant_iter_init (&_arguments_iter, parameters);
	_tmp33_ = g_variant_iter_next_value (&_arguments_iter);
	iface = g_variant_dup_string (_tmp33_, NULL);
	g_variant_unref (_tmp33_);
	_tmp34_ = g_variant_iter_next_value (&_arguments_iter);
	_tmp35_ = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, (GDestroyNotify) g_variant_unref);
	g_variant_iter_init (&_tmp36_, _tmp34_);
	while (g_variant_iter_loop (&_tmp36_, "{?*}", &_tmp37_, &_tmp38_)) {
		g_hash_table_insert (_tmp35_, g_variant_dup_string (_tmp37_, NULL), g_variant_get_variant (_tmp38_));
	}
	changed = _tmp35_;
	g_variant_unref (_tmp34_);
	invalid_length1 = 0;
	_tmp39_ = g_variant_iter_next_value (&_arguments_iter);
	_tmp40_ = g_new (gchar*, 5);
	_tmp40__length = 0;
	_tmp40__size = 4;
	_tmp40__length1 = 0;
	g_variant_iter_init (&_tmp41_, _tmp39_);
	for (; (_tmp42_ = g_variant_iter_next_value (&_tmp41_)) != NULL; _tmp40__length1++) {
		if (_tmp40__size == _tmp40__length) {
			_tmp40__size = 2 * _tmp40__size;
			_tmp40_ = g_renew (gchar*, _tmp40_, _tmp40__size + 1);
		}
		_tmp40_[_tmp40__length++] = g_variant_dup_string (_tmp42_, NULL);
		g_variant_unref (_tmp42_);
	}
	invalid_length1 = _tmp40__length1;
	_tmp40_[_tmp40__length] = NULL;
	invalid = _tmp40_;
	g_variant_unref (_tmp39_);
	g_signal_emit_by_name (self, "properties-changed", iface, changed, invalid, invalid_length1);
	_g_free0 (iface);
	_g_hash_table_unref0 (changed);
	invalid = (_vala_array_free (invalid, invalid_length1, (GDestroyNotify) g_free), NULL);
}

static void
sway_notification_center_widgets_mpris_dbus_prop_change_proxy_g_signal (GDBusProxy* proxy,
                                                                        const gchar* sender_name,
                                                                        const gchar* signal_name,
                                                                        GVariant* parameters)
{
	if (strcmp (signal_name, "PropertiesChanged") == 0) {
		_dbus_handle_sway_notification_center_widgets_mpris_dbus_prop_change_properties_changed ((SwayNotificationCenterWidgetsMprisDbusPropChange*) proxy, parameters);
	}
}

static void
sway_notification_center_widgets_mpris_dbus_prop_change_proxy_init (SwayNotificationCenterWidgetsMprisDbusPropChangeProxy* self)
{
	g_dbus_proxy_set_interface_info (G_DBUS_PROXY (self), (GDBusInterfaceInfo *) (&_sway_notification_center_widgets_mpris_dbus_prop_change_dbus_interface_info));
}

static GVariant*
sway_notification_center_widgets_mpris_dbus_prop_change_proxy_get (SwayNotificationCenterWidgetsMprisDbusPropChange* self,
                                                                   const gchar* iface_name,
                                                                   const gchar* property_name,
                                                                   GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	GVariant* _result = NULL;
	GVariant* _tmp43_;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.DBus.Properties", "Get");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (iface_name));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (property_name));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_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);
	g_object_unref (_message);
	if (!_reply_message) {
		return NULL;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return NULL;
	}
	_reply = g_dbus_message_get_body (_reply_message);
	g_variant_iter_init (&_reply_iter, _reply);
	_tmp43_ = g_variant_iter_next_value (&_reply_iter);
	_result = g_variant_get_variant (_tmp43_);
	g_variant_unref (_tmp43_);
	g_object_unref (_reply_message);
	return _result;
}

static void
sway_notification_center_widgets_mpris_dbus_prop_change_proxy_sway_notification_center_widgets_mpris_dbus_prop_change_interface_init (SwayNotificationCenterWidgetsMprisDbusPropChangeIface* iface)
{
	iface->get = sway_notification_center_widgets_mpris_dbus_prop_change_proxy_get;
}

static void
_dbus_sway_notification_center_widgets_mpris_dbus_prop_change_get (SwayNotificationCenterWidgetsMprisDbusPropChange* self,
                                                                   GVariant* _parameters_,
                                                                   GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar* iface_name = NULL;
	GVariant* _tmp44_;
	gchar* property_name = NULL;
	GVariant* _tmp45_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	GVariant* result;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_tmp44_ = g_variant_iter_next_value (&_arguments_iter);
	iface_name = g_variant_dup_string (_tmp44_, NULL);
	g_variant_unref (_tmp44_);
	_tmp45_ = g_variant_iter_next_value (&_arguments_iter);
	property_name = g_variant_dup_string (_tmp45_, NULL);
	g_variant_unref (_tmp45_);
	result = sway_notification_center_widgets_mpris_dbus_prop_change_get (self, iface_name, property_name, &error);
	if (error) {
		g_dbus_method_invocation_take_error (invocation, error);
		goto _error;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_reply_builder, g_variant_new_variant (result));
	_g_variant_unref0 (result);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
	_error:
	_g_free0 (iface_name);
	_g_free0 (property_name);
	;
}

static void
sway_notification_center_widgets_mpris_dbus_prop_change_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];
	if (strcmp (method_name, "Get") == 0) {
		_dbus_sway_notification_center_widgets_mpris_dbus_prop_change_get (object, parameters, invocation);
	} else {
		g_object_unref (invocation);
	}
}

static GVariant*
sway_notification_center_widgets_mpris_dbus_prop_change_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];
	return NULL;
}

static gboolean
sway_notification_center_widgets_mpris_dbus_prop_change_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];
	return FALSE;
}

static void
_dbus_sway_notification_center_widgets_mpris_dbus_prop_change_properties_changed (GObject* _sender,
                                                                                  const gchar* iface,
                                                                                  GHashTable* changed,
                                                                                  gchar** invalid,
                                                                                  gint invalid_length1,
                                                                                  gpointer* _data)
{
	GDBusConnection * _connection;
	const gchar * _path;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GVariantBuilder _tmp46_;
	GHashTableIter _tmp47_;
	gpointer _tmp48_;
	gpointer _tmp49_;
	gchar** _tmp50_;
	GVariantBuilder _tmp51_;
	gint _tmp52_;
	_connection = _data[1];
	_path = _data[2];
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (iface));
	g_hash_table_iter_init (&_tmp47_, changed);
	g_variant_builder_init (&_tmp46_, G_VARIANT_TYPE ("a{sv}"));
	while (g_hash_table_iter_next (&_tmp47_, &_tmp48_, &_tmp49_)) {
		gchar* _key;
		GVariant* _value;
		_key = (gchar*) _tmp48_;
		_value = (GVariant*) _tmp49_;
		g_variant_builder_add (&_tmp46_, "{?*}", g_variant_new_string (_key), g_variant_new_variant (_value));
	}
	g_variant_builder_add_value (&_arguments_builder, g_variant_builder_end (&_tmp46_));
	_tmp50_ = invalid;
	g_variant_builder_init (&_tmp51_, G_VARIANT_TYPE ("as"));
	for (_tmp52_ = 0; _tmp52_ < invalid_length1; _tmp52_++) {
		g_variant_builder_add_value (&_tmp51_, g_variant_new_string (*_tmp50_));
		_tmp50_++;
	}
	g_variant_builder_add_value (&_arguments_builder, g_variant_builder_end (&_tmp51_));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_connection_emit_signal (_connection, NULL, _path, "org.freedesktop.DBus.Properties", "PropertiesChanged", _arguments, NULL);
}

guint
sway_notification_center_widgets_mpris_dbus_prop_change_register_object (gpointer object,
                                                                         GDBusConnection* connection,
                                                                         const gchar* path,
                                                                         GError** error)
{
	guint result;
	gpointer *data;
	data = g_new (gpointer, 3);
	data[0] = g_object_ref (object);
	data[1] = g_object_ref (connection);
	data[2] = g_strdup (path);
	result = g_dbus_connection_register_object (connection, path, (GDBusInterfaceInfo *) (&_sway_notification_center_widgets_mpris_dbus_prop_change_dbus_interface_info), &_sway_notification_center_widgets_mpris_dbus_prop_change_dbus_interface_vtable, data, _sway_notification_center_widgets_mpris_dbus_prop_change_unregister_object, error);
	if (!result) {
		return 0;
	}
	g_signal_connect (object, "properties-changed", (GCallback) _dbus_sway_notification_center_widgets_mpris_dbus_prop_change_properties_changed, data);
	return result;
}

static void
_sway_notification_center_widgets_mpris_dbus_prop_change_unregister_object (gpointer user_data)
{
	gpointer* data;
	data = user_data;
	g_signal_handlers_disconnect_by_func (data[0], _dbus_sway_notification_center_widgets_mpris_dbus_prop_change_properties_changed, data);
	g_object_unref (data[0]);
	g_object_unref (data[1]);
	g_free (data[2]);
	g_free (data);
}

gchar*
sway_notification_center_widgets_mpris_mpris_props_get_desktop_entry (SwayNotificationCenterWidgetsMprisMprisProps* self)
{
	SwayNotificationCenterWidgetsMprisMprisPropsIface* _iface_;
	g_return_val_if_fail (SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_IS_MPRIS_PROPS (self), NULL);
	_iface_ = SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_PROPS_GET_INTERFACE (self);
	if (_iface_->get_desktop_entry) {
		return _iface_->get_desktop_entry (self);
	}
	return NULL;
}

gchar*
sway_notification_center_widgets_mpris_mpris_props_get_identity (SwayNotificationCenterWidgetsMprisMprisProps* self)
{
	SwayNotificationCenterWidgetsMprisMprisPropsIface* _iface_;
	g_return_val_if_fail (SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_IS_MPRIS_PROPS (self), NULL);
	_iface_ = SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_PROPS_GET_INTERFACE (self);
	if (_iface_->get_identity) {
		return _iface_->get_identity (self);
	}
	return NULL;
}

static void
sway_notification_center_widgets_mpris_mpris_props_default_init (SwayNotificationCenterWidgetsMprisMprisPropsIface * iface,
                                                                 gpointer iface_data)
{
}

 G_GNUC_NO_INLINE static GType
sway_notification_center_widgets_mpris_mpris_props_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SwayNotificationCenterWidgetsMprisMprisPropsIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) sway_notification_center_widgets_mpris_mpris_props_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
	GType sway_notification_center_widgets_mpris_mpris_props_type_id;
	sway_notification_center_widgets_mpris_mpris_props_type_id = g_type_register_static (G_TYPE_INTERFACE, "SwayNotificationCenterWidgetsMprisMprisProps", &g_define_type_info, 0);
	g_type_interface_add_prerequisite (sway_notification_center_widgets_mpris_mpris_props_type_id, G_TYPE_OBJECT);
	g_type_set_qdata (sway_notification_center_widgets_mpris_mpris_props_type_id, g_quark_from_static_string ("vala-dbus-proxy-type"), (void*) sway_notification_center_widgets_mpris_mpris_props_proxy_get_type);
	g_type_set_qdata (sway_notification_center_widgets_mpris_mpris_props_type_id, g_quark_from_static_string ("vala-dbus-interface-name"), "org.mpris.MediaPlayer2");
	g_type_set_qdata (sway_notification_center_widgets_mpris_mpris_props_type_id, g_quark_from_static_string ("vala-dbus-interface-info"), (void*) (&_sway_notification_center_widgets_mpris_mpris_props_dbus_interface_info));
	g_type_set_qdata (sway_notification_center_widgets_mpris_mpris_props_type_id, g_quark_from_static_string ("vala-dbus-register-object"), (void*) sway_notification_center_widgets_mpris_mpris_props_register_object);
	return sway_notification_center_widgets_mpris_mpris_props_type_id;
}

GType
sway_notification_center_widgets_mpris_mpris_props_get_type (void)
{
	static gsize sway_notification_center_widgets_mpris_mpris_props_type_id__once = 0;
	if (g_once_init_enter (&sway_notification_center_widgets_mpris_mpris_props_type_id__once)) {
		GType sway_notification_center_widgets_mpris_mpris_props_type_id;
		sway_notification_center_widgets_mpris_mpris_props_type_id = sway_notification_center_widgets_mpris_mpris_props_get_type_once ();
		g_once_init_leave (&sway_notification_center_widgets_mpris_mpris_props_type_id__once, sway_notification_center_widgets_mpris_mpris_props_type_id);
	}
	return sway_notification_center_widgets_mpris_mpris_props_type_id__once;
}

G_DEFINE_TYPE_EXTENDED (SwayNotificationCenterWidgetsMprisMprisPropsProxy, sway_notification_center_widgets_mpris_mpris_props_proxy, G_TYPE_DBUS_PROXY, 0, G_IMPLEMENT_INTERFACE (SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_MPRIS_PROPS, sway_notification_center_widgets_mpris_mpris_props_proxy_sway_notification_center_widgets_mpris_mpris_props_interface_init) )
static void
sway_notification_center_widgets_mpris_mpris_props_proxy_class_init (SwayNotificationCenterWidgetsMprisMprisPropsProxyClass* klass)
{
	G_DBUS_PROXY_CLASS (klass)->g_signal = sway_notification_center_widgets_mpris_mpris_props_proxy_g_signal;
}

static void
sway_notification_center_widgets_mpris_mpris_props_proxy_g_signal (GDBusProxy* proxy,
                                                                   const gchar* sender_name,
                                                                   const gchar* signal_name,
                                                                   GVariant* parameters)
{
}

static void
sway_notification_center_widgets_mpris_mpris_props_proxy_init (SwayNotificationCenterWidgetsMprisMprisPropsProxy* self)
{
	g_dbus_proxy_set_interface_info (G_DBUS_PROXY (self), (GDBusInterfaceInfo *) (&_sway_notification_center_widgets_mpris_mpris_props_dbus_interface_info));
}

static gchar*
sway_notification_center_widgets_mpris_mpris_props_dbus_proxy_get_desktop_entry (SwayNotificationCenterWidgetsMprisMprisProps* self)
{
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "DesktopEntry");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.mpris.MediaPlayer2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("DesktopEntry"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_dup_string (_inner_reply, NULL);
	g_variant_unref (_inner_reply);
	return _result;
}

static gchar*
sway_notification_center_widgets_mpris_mpris_props_dbus_proxy_get_identity (SwayNotificationCenterWidgetsMprisMprisProps* self)
{
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Identity");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.mpris.MediaPlayer2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Identity"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_dup_string (_inner_reply, NULL);
	g_variant_unref (_inner_reply);
	return _result;
}

static void
sway_notification_center_widgets_mpris_mpris_props_proxy_sway_notification_center_widgets_mpris_mpris_props_interface_init (SwayNotificationCenterWidgetsMprisMprisPropsIface* iface)
{
	iface->get_desktop_entry = sway_notification_center_widgets_mpris_mpris_props_dbus_proxy_get_desktop_entry;
	iface->get_identity = sway_notification_center_widgets_mpris_mpris_props_dbus_proxy_get_identity;
}

static void
sway_notification_center_widgets_mpris_mpris_props_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];
	g_object_unref (invocation);
}

static GVariant*
_dbus_sway_notification_center_widgets_mpris_mpris_props_get_desktop_entry (SwayNotificationCenterWidgetsMprisMprisProps* self)
{
	gchar* result;
	GVariant* _reply;
	result = sway_notification_center_widgets_mpris_mpris_props_get_desktop_entry (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}

static GVariant*
_dbus_sway_notification_center_widgets_mpris_mpris_props_get_identity (SwayNotificationCenterWidgetsMprisMprisProps* self)
{
	gchar* result;
	GVariant* _reply;
	result = sway_notification_center_widgets_mpris_mpris_props_get_identity (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}

static GVariant*
sway_notification_center_widgets_mpris_mpris_props_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];
	if (strcmp (property_name, "DesktopEntry") == 0) {
		return _dbus_sway_notification_center_widgets_mpris_mpris_props_get_desktop_entry (object);
	} else if (strcmp (property_name, "Identity") == 0) {
		return _dbus_sway_notification_center_widgets_mpris_mpris_props_get_identity (object);
	}
	return NULL;
}

static gboolean
sway_notification_center_widgets_mpris_mpris_props_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];
	return FALSE;
}

guint
sway_notification_center_widgets_mpris_mpris_props_register_object (gpointer object,
                                                                    GDBusConnection* connection,
                                                                    const gchar* path,
                                                                    GError** error)
{
	guint result;
	gpointer *data;
	data = g_new (gpointer, 3);
	data[0] = g_object_ref (object);
	data[1] = g_object_ref (connection);
	data[2] = g_strdup (path);
	result = g_dbus_connection_register_object (connection, path, (GDBusInterfaceInfo *) (&_sway_notification_center_widgets_mpris_mpris_props_dbus_interface_info), &_sway_notification_center_widgets_mpris_mpris_props_dbus_interface_vtable, data, _sway_notification_center_widgets_mpris_mpris_props_unregister_object, error);
	if (!result) {
		return 0;
	}
	return result;
}

static void
_sway_notification_center_widgets_mpris_mpris_props_unregister_object (gpointer user_data)
{
	gpointer* data;
	data = user_data;
	g_object_unref (data[0]);
	g_object_unref (data[1]);
	g_free (data[2]);
	g_free (data);
}

void
sway_notification_center_widgets_mpris_mpris_media_player_next (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                GAsyncReadyCallback _callback_,
                                                                gpointer _user_data_)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface* _iface_;
	_iface_ = SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_MEDIA_PLAYER_GET_INTERFACE (self);
	if (_iface_->next) {
		_iface_->next (self, _callback_, _user_data_);
	}
}

void
sway_notification_center_widgets_mpris_mpris_media_player_next_finish (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                       GAsyncResult* _res_,
                                                                       GError** error)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface* _iface_;
	_iface_ = SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_MEDIA_PLAYER_GET_INTERFACE (self);
	if (_iface_->next_finish) {
		_iface_->next_finish (self, _res_, error);
	}
}

void
sway_notification_center_widgets_mpris_mpris_media_player_previous (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                    GAsyncReadyCallback _callback_,
                                                                    gpointer _user_data_)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface* _iface_;
	_iface_ = SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_MEDIA_PLAYER_GET_INTERFACE (self);
	if (_iface_->previous) {
		_iface_->previous (self, _callback_, _user_data_);
	}
}

void
sway_notification_center_widgets_mpris_mpris_media_player_previous_finish (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                           GAsyncResult* _res_,
                                                                           GError** error)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface* _iface_;
	_iface_ = SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_MEDIA_PLAYER_GET_INTERFACE (self);
	if (_iface_->previous_finish) {
		_iface_->previous_finish (self, _res_, error);
	}
}

void
sway_notification_center_widgets_mpris_mpris_media_player_pause (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                 GAsyncReadyCallback _callback_,
                                                                 gpointer _user_data_)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface* _iface_;
	_iface_ = SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_MEDIA_PLAYER_GET_INTERFACE (self);
	if (_iface_->pause) {
		_iface_->pause (self, _callback_, _user_data_);
	}
}

void
sway_notification_center_widgets_mpris_mpris_media_player_pause_finish (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                        GAsyncResult* _res_,
                                                                        GError** error)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface* _iface_;
	_iface_ = SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_MEDIA_PLAYER_GET_INTERFACE (self);
	if (_iface_->pause_finish) {
		_iface_->pause_finish (self, _res_, error);
	}
}

void
sway_notification_center_widgets_mpris_mpris_media_player_play_pause (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                      GAsyncReadyCallback _callback_,
                                                                      gpointer _user_data_)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface* _iface_;
	_iface_ = SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_MEDIA_PLAYER_GET_INTERFACE (self);
	if (_iface_->play_pause) {
		_iface_->play_pause (self, _callback_, _user_data_);
	}
}

void
sway_notification_center_widgets_mpris_mpris_media_player_play_pause_finish (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                             GAsyncResult* _res_,
                                                                             GError** error)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface* _iface_;
	_iface_ = SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_MEDIA_PLAYER_GET_INTERFACE (self);
	if (_iface_->play_pause_finish) {
		_iface_->play_pause_finish (self, _res_, error);
	}
}

void
sway_notification_center_widgets_mpris_mpris_media_player_stop (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                GAsyncReadyCallback _callback_,
                                                                gpointer _user_data_)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface* _iface_;
	_iface_ = SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_MEDIA_PLAYER_GET_INTERFACE (self);
	if (_iface_->stop) {
		_iface_->stop (self, _callback_, _user_data_);
	}
}

void
sway_notification_center_widgets_mpris_mpris_media_player_stop_finish (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                       GAsyncResult* _res_,
                                                                       GError** error)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface* _iface_;
	_iface_ = SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_MEDIA_PLAYER_GET_INTERFACE (self);
	if (_iface_->stop_finish) {
		_iface_->stop_finish (self, _res_, error);
	}
}

void
sway_notification_center_widgets_mpris_mpris_media_player_play (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                GAsyncReadyCallback _callback_,
                                                                gpointer _user_data_)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface* _iface_;
	_iface_ = SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_MEDIA_PLAYER_GET_INTERFACE (self);
	if (_iface_->play) {
		_iface_->play (self, _callback_, _user_data_);
	}
}

void
sway_notification_center_widgets_mpris_mpris_media_player_play_finish (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                       GAsyncResult* _res_,
                                                                       GError** error)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface* _iface_;
	_iface_ = SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_MEDIA_PLAYER_GET_INTERFACE (self);
	if (_iface_->play_finish) {
		_iface_->play_finish (self, _res_, error);
	}
}

gchar*
sway_notification_center_widgets_mpris_mpris_media_player_get_playback_status (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface* _iface_;
	g_return_val_if_fail (SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_IS_MPRIS_MEDIA_PLAYER (self), NULL);
	_iface_ = SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_MEDIA_PLAYER_GET_INTERFACE (self);
	if (_iface_->get_playback_status) {
		return _iface_->get_playback_status (self);
	}
	return NULL;
}

GHashTable*
sway_notification_center_widgets_mpris_mpris_media_player_get_metadata (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface* _iface_;
	g_return_val_if_fail (SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_IS_MPRIS_MEDIA_PLAYER (self), NULL);
	_iface_ = SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_MEDIA_PLAYER_GET_INTERFACE (self);
	if (_iface_->get_metadata) {
		return _iface_->get_metadata (self);
	}
	return NULL;
}

gboolean
sway_notification_center_widgets_mpris_mpris_media_player_get_can_go_next (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface* _iface_;
	g_return_val_if_fail (SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_IS_MPRIS_MEDIA_PLAYER (self), FALSE);
	_iface_ = SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_MEDIA_PLAYER_GET_INTERFACE (self);
	if (_iface_->get_can_go_next) {
		return _iface_->get_can_go_next (self);
	}
	return FALSE;
}

gboolean
sway_notification_center_widgets_mpris_mpris_media_player_get_can_go_previous (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface* _iface_;
	g_return_val_if_fail (SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_IS_MPRIS_MEDIA_PLAYER (self), FALSE);
	_iface_ = SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_MEDIA_PLAYER_GET_INTERFACE (self);
	if (_iface_->get_can_go_previous) {
		return _iface_->get_can_go_previous (self);
	}
	return FALSE;
}

gboolean
sway_notification_center_widgets_mpris_mpris_media_player_get_can_play (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface* _iface_;
	g_return_val_if_fail (SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_IS_MPRIS_MEDIA_PLAYER (self), FALSE);
	_iface_ = SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_MEDIA_PLAYER_GET_INTERFACE (self);
	if (_iface_->get_can_play) {
		return _iface_->get_can_play (self);
	}
	return FALSE;
}

gboolean
sway_notification_center_widgets_mpris_mpris_media_player_get_can_pause (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface* _iface_;
	g_return_val_if_fail (SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_IS_MPRIS_MEDIA_PLAYER (self), FALSE);
	_iface_ = SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_MEDIA_PLAYER_GET_INTERFACE (self);
	if (_iface_->get_can_pause) {
		return _iface_->get_can_pause (self);
	}
	return FALSE;
}

gboolean
sway_notification_center_widgets_mpris_mpris_media_player_get_can_control (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface* _iface_;
	g_return_val_if_fail (SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_IS_MPRIS_MEDIA_PLAYER (self), FALSE);
	_iface_ = SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_MEDIA_PLAYER_GET_INTERFACE (self);
	if (_iface_->get_can_control) {
		return _iface_->get_can_control (self);
	}
	return FALSE;
}

gboolean
sway_notification_center_widgets_mpris_mpris_media_player_get_can_seek (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface* _iface_;
	g_return_val_if_fail (SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_IS_MPRIS_MEDIA_PLAYER (self), FALSE);
	_iface_ = SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_MEDIA_PLAYER_GET_INTERFACE (self);
	if (_iface_->get_can_seek) {
		return _iface_->get_can_seek (self);
	}
	return FALSE;
}

gboolean
sway_notification_center_widgets_mpris_mpris_media_player_get_shuffle (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface* _iface_;
	g_return_val_if_fail (SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_IS_MPRIS_MEDIA_PLAYER (self), FALSE);
	_iface_ = SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_MEDIA_PLAYER_GET_INTERFACE (self);
	if (_iface_->get_shuffle) {
		return _iface_->get_shuffle (self);
	}
	return FALSE;
}

void
sway_notification_center_widgets_mpris_mpris_media_player_set_shuffle (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                       gboolean value)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface* _iface_;
	g_return_if_fail (SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_IS_MPRIS_MEDIA_PLAYER (self));
	_iface_ = SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_MEDIA_PLAYER_GET_INTERFACE (self);
	if (_iface_->set_shuffle) {
		_iface_->set_shuffle (self, value);
	}
}

gchar*
sway_notification_center_widgets_mpris_mpris_media_player_get_loop_status (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface* _iface_;
	g_return_val_if_fail (SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_IS_MPRIS_MEDIA_PLAYER (self), NULL);
	_iface_ = SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_MEDIA_PLAYER_GET_INTERFACE (self);
	if (_iface_->get_loop_status) {
		return _iface_->get_loop_status (self);
	}
	return NULL;
}

void
sway_notification_center_widgets_mpris_mpris_media_player_set_loop_status (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                           const gchar* value)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface* _iface_;
	g_return_if_fail (SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_IS_MPRIS_MEDIA_PLAYER (self));
	_iface_ = SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_MPRIS_MEDIA_PLAYER_GET_INTERFACE (self);
	if (_iface_->set_loop_status) {
		_iface_->set_loop_status (self, value);
	}
}

static void
sway_notification_center_widgets_mpris_mpris_media_player_default_init (SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface * iface,
                                                                        gpointer iface_data)
{
}

 G_GNUC_NO_INLINE static GType
sway_notification_center_widgets_mpris_mpris_media_player_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) sway_notification_center_widgets_mpris_mpris_media_player_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
	GType sway_notification_center_widgets_mpris_mpris_media_player_type_id;
	sway_notification_center_widgets_mpris_mpris_media_player_type_id = g_type_register_static (G_TYPE_INTERFACE, "SwayNotificationCenterWidgetsMprisMprisMediaPlayer", &g_define_type_info, 0);
	g_type_interface_add_prerequisite (sway_notification_center_widgets_mpris_mpris_media_player_type_id, SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_MPRIS_PROPS);
	g_type_set_qdata (sway_notification_center_widgets_mpris_mpris_media_player_type_id, g_quark_from_static_string ("vala-dbus-proxy-type"), (void*) sway_notification_center_widgets_mpris_mpris_media_player_proxy_get_type);
	g_type_set_qdata (sway_notification_center_widgets_mpris_mpris_media_player_type_id, g_quark_from_static_string ("vala-dbus-interface-name"), "org.mpris.MediaPlayer2.Player");
	g_type_set_qdata (sway_notification_center_widgets_mpris_mpris_media_player_type_id, g_quark_from_static_string ("vala-dbus-interface-info"), (void*) (&_sway_notification_center_widgets_mpris_mpris_media_player_dbus_interface_info));
	g_type_set_qdata (sway_notification_center_widgets_mpris_mpris_media_player_type_id, g_quark_from_static_string ("vala-dbus-register-object"), (void*) sway_notification_center_widgets_mpris_mpris_media_player_register_object);
	return sway_notification_center_widgets_mpris_mpris_media_player_type_id;
}

GType
sway_notification_center_widgets_mpris_mpris_media_player_get_type (void)
{
	static gsize sway_notification_center_widgets_mpris_mpris_media_player_type_id__once = 0;
	if (g_once_init_enter (&sway_notification_center_widgets_mpris_mpris_media_player_type_id__once)) {
		GType sway_notification_center_widgets_mpris_mpris_media_player_type_id;
		sway_notification_center_widgets_mpris_mpris_media_player_type_id = sway_notification_center_widgets_mpris_mpris_media_player_get_type_once ();
		g_once_init_leave (&sway_notification_center_widgets_mpris_mpris_media_player_type_id__once, sway_notification_center_widgets_mpris_mpris_media_player_type_id);
	}
	return sway_notification_center_widgets_mpris_mpris_media_player_type_id__once;
}

G_DEFINE_TYPE_EXTENDED (SwayNotificationCenterWidgetsMprisMprisMediaPlayerProxy, sway_notification_center_widgets_mpris_mpris_media_player_proxy, G_TYPE_DBUS_PROXY, 0, G_IMPLEMENT_INTERFACE (SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_MPRIS_PROPS, sway_notification_center_widgets_mpris_mpris_media_player_proxy_sway_notification_center_widgets_mpris_mpris_props_interface_init) G_IMPLEMENT_INTERFACE (SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_MPRIS_MEDIA_PLAYER, sway_notification_center_widgets_mpris_mpris_media_player_proxy_sway_notification_center_widgets_mpris_mpris_media_player_interface_init) )
static void
sway_notification_center_widgets_mpris_mpris_media_player_proxy_class_init (SwayNotificationCenterWidgetsMprisMprisMediaPlayerProxyClass* klass)
{
	G_DBUS_PROXY_CLASS (klass)->g_signal = sway_notification_center_widgets_mpris_mpris_media_player_proxy_g_signal;
}

static void
sway_notification_center_widgets_mpris_mpris_media_player_proxy_g_signal (GDBusProxy* proxy,
                                                                          const gchar* sender_name,
                                                                          const gchar* signal_name,
                                                                          GVariant* parameters)
{
}

static void
sway_notification_center_widgets_mpris_mpris_media_player_proxy_init (SwayNotificationCenterWidgetsMprisMprisMediaPlayerProxy* self)
{
	g_dbus_proxy_set_interface_info (G_DBUS_PROXY (self), (GDBusInterfaceInfo *) (&_sway_notification_center_widgets_mpris_mpris_media_player_dbus_interface_info));
}

static gchar*
sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_desktop_entry (SwayNotificationCenterWidgetsMprisMprisProps* self)
{
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "DesktopEntry");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.mpris.MediaPlayer2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("DesktopEntry"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_dup_string (_inner_reply, NULL);
	g_variant_unref (_inner_reply);
	return _result;
}

static gchar*
sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_identity (SwayNotificationCenterWidgetsMprisMprisProps* self)
{
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Identity");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.mpris.MediaPlayer2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Identity"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_dup_string (_inner_reply, NULL);
	g_variant_unref (_inner_reply);
	return _result;
}

static void
sway_notification_center_widgets_mpris_mpris_media_player_proxy_sway_notification_center_widgets_mpris_mpris_props_interface_init (SwayNotificationCenterWidgetsMprisMprisPropsIface* iface)
{
	iface->get_desktop_entry = sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_desktop_entry;
	iface->get_identity = sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_identity;
}

static void
_vala_g_async_ready_callback (GObject *source_object,
                              GAsyncResult *res,
                              void *user_data)
{
	g_task_return_pointer (user_data, g_object_ref (res), g_object_unref);
	g_object_unref (user_data);
}

static void
sway_notification_center_widgets_mpris_mpris_media_player_proxy_next_async (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                            GAsyncReadyCallback _callback_,
                                                                            gpointer _user_data_)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.mpris.MediaPlayer2.Player", "Next");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	if (_callback_ != NULL) {
		g_dbus_connection_send_message_with_reply (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, _vala_g_async_ready_callback, g_task_new ((GObject *) self, NULL, _callback_, _user_data_));
	} else {
		g_dbus_message_set_flags (_message, G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED);
		g_dbus_connection_send_message (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	}
	g_object_unref (_message);
}

static void
sway_notification_center_widgets_mpris_mpris_media_player_proxy_next_finish (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                             GAsyncResult* _res_,
                                                                             GError** error)
{
	GAsyncResult *_inner_res;
	GDBusMessage *_reply_message;
	_inner_res = g_task_propagate_pointer ((GTask *) _res_, NULL);
	_reply_message = g_dbus_connection_send_message_with_reply_finish (g_dbus_proxy_get_connection ((GDBusProxy *) self), _inner_res, error);
	g_object_unref (_inner_res);
	if (!_reply_message) {
		return;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return;
	}
	g_object_unref (_reply_message);
}

static void
sway_notification_center_widgets_mpris_mpris_media_player_proxy_previous_async (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                                GAsyncReadyCallback _callback_,
                                                                                gpointer _user_data_)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.mpris.MediaPlayer2.Player", "Previous");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	if (_callback_ != NULL) {
		g_dbus_connection_send_message_with_reply (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, _vala_g_async_ready_callback, g_task_new ((GObject *) self, NULL, _callback_, _user_data_));
	} else {
		g_dbus_message_set_flags (_message, G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED);
		g_dbus_connection_send_message (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	}
	g_object_unref (_message);
}

static void
sway_notification_center_widgets_mpris_mpris_media_player_proxy_previous_finish (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                                 GAsyncResult* _res_,
                                                                                 GError** error)
{
	GAsyncResult *_inner_res;
	GDBusMessage *_reply_message;
	_inner_res = g_task_propagate_pointer ((GTask *) _res_, NULL);
	_reply_message = g_dbus_connection_send_message_with_reply_finish (g_dbus_proxy_get_connection ((GDBusProxy *) self), _inner_res, error);
	g_object_unref (_inner_res);
	if (!_reply_message) {
		return;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return;
	}
	g_object_unref (_reply_message);
}

static void
sway_notification_center_widgets_mpris_mpris_media_player_proxy_pause_async (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                             GAsyncReadyCallback _callback_,
                                                                             gpointer _user_data_)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.mpris.MediaPlayer2.Player", "Pause");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	if (_callback_ != NULL) {
		g_dbus_connection_send_message_with_reply (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, _vala_g_async_ready_callback, g_task_new ((GObject *) self, NULL, _callback_, _user_data_));
	} else {
		g_dbus_message_set_flags (_message, G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED);
		g_dbus_connection_send_message (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	}
	g_object_unref (_message);
}

static void
sway_notification_center_widgets_mpris_mpris_media_player_proxy_pause_finish (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                              GAsyncResult* _res_,
                                                                              GError** error)
{
	GAsyncResult *_inner_res;
	GDBusMessage *_reply_message;
	_inner_res = g_task_propagate_pointer ((GTask *) _res_, NULL);
	_reply_message = g_dbus_connection_send_message_with_reply_finish (g_dbus_proxy_get_connection ((GDBusProxy *) self), _inner_res, error);
	g_object_unref (_inner_res);
	if (!_reply_message) {
		return;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return;
	}
	g_object_unref (_reply_message);
}

static void
sway_notification_center_widgets_mpris_mpris_media_player_proxy_play_pause_async (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                                  GAsyncReadyCallback _callback_,
                                                                                  gpointer _user_data_)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.mpris.MediaPlayer2.Player", "PlayPause");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	if (_callback_ != NULL) {
		g_dbus_connection_send_message_with_reply (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, _vala_g_async_ready_callback, g_task_new ((GObject *) self, NULL, _callback_, _user_data_));
	} else {
		g_dbus_message_set_flags (_message, G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED);
		g_dbus_connection_send_message (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	}
	g_object_unref (_message);
}

static void
sway_notification_center_widgets_mpris_mpris_media_player_proxy_play_pause_finish (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                                   GAsyncResult* _res_,
                                                                                   GError** error)
{
	GAsyncResult *_inner_res;
	GDBusMessage *_reply_message;
	_inner_res = g_task_propagate_pointer ((GTask *) _res_, NULL);
	_reply_message = g_dbus_connection_send_message_with_reply_finish (g_dbus_proxy_get_connection ((GDBusProxy *) self), _inner_res, error);
	g_object_unref (_inner_res);
	if (!_reply_message) {
		return;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return;
	}
	g_object_unref (_reply_message);
}

static void
sway_notification_center_widgets_mpris_mpris_media_player_proxy_stop_async (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                            GAsyncReadyCallback _callback_,
                                                                            gpointer _user_data_)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.mpris.MediaPlayer2.Player", "Stop");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	if (_callback_ != NULL) {
		g_dbus_connection_send_message_with_reply (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, _vala_g_async_ready_callback, g_task_new ((GObject *) self, NULL, _callback_, _user_data_));
	} else {
		g_dbus_message_set_flags (_message, G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED);
		g_dbus_connection_send_message (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	}
	g_object_unref (_message);
}

static void
sway_notification_center_widgets_mpris_mpris_media_player_proxy_stop_finish (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                             GAsyncResult* _res_,
                                                                             GError** error)
{
	GAsyncResult *_inner_res;
	GDBusMessage *_reply_message;
	_inner_res = g_task_propagate_pointer ((GTask *) _res_, NULL);
	_reply_message = g_dbus_connection_send_message_with_reply_finish (g_dbus_proxy_get_connection ((GDBusProxy *) self), _inner_res, error);
	g_object_unref (_inner_res);
	if (!_reply_message) {
		return;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return;
	}
	g_object_unref (_reply_message);
}

static void
sway_notification_center_widgets_mpris_mpris_media_player_proxy_play_async (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                            GAsyncReadyCallback _callback_,
                                                                            gpointer _user_data_)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.mpris.MediaPlayer2.Player", "Play");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	if (_callback_ != NULL) {
		g_dbus_connection_send_message_with_reply (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, _vala_g_async_ready_callback, g_task_new ((GObject *) self, NULL, _callback_, _user_data_));
	} else {
		g_dbus_message_set_flags (_message, G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED);
		g_dbus_connection_send_message (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	}
	g_object_unref (_message);
}

static void
sway_notification_center_widgets_mpris_mpris_media_player_proxy_play_finish (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                             GAsyncResult* _res_,
                                                                             GError** error)
{
	GAsyncResult *_inner_res;
	GDBusMessage *_reply_message;
	_inner_res = g_task_propagate_pointer ((GTask *) _res_, NULL);
	_reply_message = g_dbus_connection_send_message_with_reply_finish (g_dbus_proxy_get_connection ((GDBusProxy *) self), _inner_res, error);
	g_object_unref (_inner_res);
	if (!_reply_message) {
		return;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return;
	}
	g_object_unref (_reply_message);
}

static gchar*
sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_playback_status (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self)
{
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "PlaybackStatus");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.mpris.MediaPlayer2.Player"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("PlaybackStatus"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_dup_string (_inner_reply, NULL);
	g_variant_unref (_inner_reply);
	return _result;
}

static GHashTable*
sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_metadata (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self)
{
	GVariant *_inner_reply;
	GHashTable* _result;
	GHashTable* _tmp53_;
	GVariantIter _tmp54_;
	GVariant* _tmp55_;
	GVariant* _tmp56_;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Metadata");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.mpris.MediaPlayer2.Player"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Metadata"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_tmp53_ = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, (GDestroyNotify) g_variant_unref);
	g_variant_iter_init (&_tmp54_, _inner_reply);
	while (g_variant_iter_loop (&_tmp54_, "{?*}", &_tmp55_, &_tmp56_)) {
		g_hash_table_insert (_tmp53_, g_variant_dup_string (_tmp55_, NULL), g_variant_get_variant (_tmp56_));
	}
	_result = _tmp53_;
	g_variant_unref (_inner_reply);
	return _result;
}

static gboolean
sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_can_go_next (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self)
{
	GVariant *_inner_reply;
	gboolean _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "CanGoNext");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.mpris.MediaPlayer2.Player"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("CanGoNext"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			gboolean _tmp57_ = FALSE;
			return _tmp57_;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_boolean (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}

static gboolean
sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_can_go_previous (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self)
{
	GVariant *_inner_reply;
	gboolean _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "CanGoPrevious");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.mpris.MediaPlayer2.Player"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("CanGoPrevious"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			gboolean _tmp58_ = FALSE;
			return _tmp58_;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_boolean (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}

static gboolean
sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_can_play (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self)
{
	GVariant *_inner_reply;
	gboolean _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "CanPlay");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.mpris.MediaPlayer2.Player"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("CanPlay"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			gboolean _tmp59_ = FALSE;
			return _tmp59_;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_boolean (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}

static gboolean
sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_can_pause (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self)
{
	GVariant *_inner_reply;
	gboolean _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "CanPause");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.mpris.MediaPlayer2.Player"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("CanPause"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			gboolean _tmp60_ = FALSE;
			return _tmp60_;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_boolean (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}

static gboolean
sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_can_control (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self)
{
	GVariant *_inner_reply;
	gboolean _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "CanControl");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.mpris.MediaPlayer2.Player"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("CanControl"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			gboolean _tmp61_ = FALSE;
			return _tmp61_;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_boolean (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}

static gboolean
sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_can_seek (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self)
{
	GVariant *_inner_reply;
	gboolean _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "CanSeek");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.mpris.MediaPlayer2.Player"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("CanSeek"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			gboolean _tmp62_ = FALSE;
			return _tmp62_;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_boolean (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}

static gboolean
sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_shuffle (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self)
{
	GVariant *_inner_reply;
	gboolean _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Shuffle");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.mpris.MediaPlayer2.Player"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Shuffle"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			gboolean _tmp63_ = FALSE;
			return _tmp63_;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_boolean (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}

static void
sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_set_shuffle (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                                  gboolean value)
{
	GVariant *_arguments;
	GVariant *_reply;
	GVariantBuilder _arguments_builder;
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.mpris.MediaPlayer2.Player"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Shuffle"));
	g_variant_builder_open (&_arguments_builder, G_VARIANT_TYPE_VARIANT);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_boolean (value));
	g_variant_builder_close (&_arguments_builder);
	_arguments = g_variant_builder_end (&_arguments_builder);
	_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Set", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
	if (!_reply) {
		return;
	}
	g_variant_unref (_reply);
}

static gchar*
sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_loop_status (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self)
{
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "LoopStatus");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.mpris.MediaPlayer2.Player"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("LoopStatus"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_dup_string (_inner_reply, NULL);
	g_variant_unref (_inner_reply);
	return _result;
}

static void
sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_set_loop_status (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                                      const gchar* value)
{
	GVariant *_arguments;
	GVariant *_reply;
	GVariantBuilder _arguments_builder;
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.mpris.MediaPlayer2.Player"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("LoopStatus"));
	g_variant_builder_open (&_arguments_builder, G_VARIANT_TYPE_VARIANT);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (value));
	g_variant_builder_close (&_arguments_builder);
	_arguments = g_variant_builder_end (&_arguments_builder);
	_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Set", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
	if (!_reply) {
		return;
	}
	g_variant_unref (_reply);
}

static void
sway_notification_center_widgets_mpris_mpris_media_player_proxy_sway_notification_center_widgets_mpris_mpris_media_player_interface_init (SwayNotificationCenterWidgetsMprisMprisMediaPlayerIface* iface)
{
	iface->next = sway_notification_center_widgets_mpris_mpris_media_player_proxy_next_async;
	iface->next_finish = sway_notification_center_widgets_mpris_mpris_media_player_proxy_next_finish;
	iface->previous = sway_notification_center_widgets_mpris_mpris_media_player_proxy_previous_async;
	iface->previous_finish = sway_notification_center_widgets_mpris_mpris_media_player_proxy_previous_finish;
	iface->pause = sway_notification_center_widgets_mpris_mpris_media_player_proxy_pause_async;
	iface->pause_finish = sway_notification_center_widgets_mpris_mpris_media_player_proxy_pause_finish;
	iface->play_pause = sway_notification_center_widgets_mpris_mpris_media_player_proxy_play_pause_async;
	iface->play_pause_finish = sway_notification_center_widgets_mpris_mpris_media_player_proxy_play_pause_finish;
	iface->stop = sway_notification_center_widgets_mpris_mpris_media_player_proxy_stop_async;
	iface->stop_finish = sway_notification_center_widgets_mpris_mpris_media_player_proxy_stop_finish;
	iface->play = sway_notification_center_widgets_mpris_mpris_media_player_proxy_play_async;
	iface->play_finish = sway_notification_center_widgets_mpris_mpris_media_player_proxy_play_finish;
	iface->get_playback_status = sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_playback_status;
	iface->get_metadata = sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_metadata;
	iface->get_can_go_next = sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_can_go_next;
	iface->get_can_go_previous = sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_can_go_previous;
	iface->get_can_play = sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_can_play;
	iface->get_can_pause = sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_can_pause;
	iface->get_can_control = sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_can_control;
	iface->get_can_seek = sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_can_seek;
	iface->get_shuffle = sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_shuffle;
	iface->set_shuffle = sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_set_shuffle;
	iface->get_loop_status = sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_get_loop_status;
	iface->set_loop_status = sway_notification_center_widgets_mpris_mpris_media_player_dbus_proxy_set_loop_status;
}

static void
_dbus_sway_notification_center_widgets_mpris_mpris_media_player_next (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                      GVariant* _parameters_,
                                                                      GDBusMethodInvocation* invocation)
{
	GVariantIter _arguments_iter;
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerNextReadyData* _ready_data;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_ready_data = g_slice_new0 (SwayNotificationCenterWidgetsMprisMprisMediaPlayerNextReadyData);
	_ready_data->_invocation_ = invocation;
	sway_notification_center_widgets_mpris_mpris_media_player_next (self, (GAsyncReadyCallback) _dbus_sway_notification_center_widgets_mpris_mpris_media_player_next_ready, _ready_data);
}

static void
_dbus_sway_notification_center_widgets_mpris_mpris_media_player_next_ready (GObject * source_object,
                                                                            GAsyncResult * _res_,
                                                                            gpointer _user_data_)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerNextReadyData* _ready_data;
	GDBusMethodInvocation* invocation;
	GError* error = NULL;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	_ready_data = _user_data_;
	invocation = _ready_data->_invocation_;
	sway_notification_center_widgets_mpris_mpris_media_player_next_finish ((SwayNotificationCenterWidgetsMprisMprisMediaPlayer*) source_object, _res_, &error);
	if (error) {
		g_dbus_method_invocation_take_error (invocation, error);
		goto _error;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
	_error:
	g_slice_free (SwayNotificationCenterWidgetsMprisMprisMediaPlayerNextReadyData, _ready_data);
}

static void
_dbus_sway_notification_center_widgets_mpris_mpris_media_player_previous (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                          GVariant* _parameters_,
                                                                          GDBusMethodInvocation* invocation)
{
	GVariantIter _arguments_iter;
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerPreviousReadyData* _ready_data;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_ready_data = g_slice_new0 (SwayNotificationCenterWidgetsMprisMprisMediaPlayerPreviousReadyData);
	_ready_data->_invocation_ = invocation;
	sway_notification_center_widgets_mpris_mpris_media_player_previous (self, (GAsyncReadyCallback) _dbus_sway_notification_center_widgets_mpris_mpris_media_player_previous_ready, _ready_data);
}

static void
_dbus_sway_notification_center_widgets_mpris_mpris_media_player_previous_ready (GObject * source_object,
                                                                                GAsyncResult * _res_,
                                                                                gpointer _user_data_)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerPreviousReadyData* _ready_data;
	GDBusMethodInvocation* invocation;
	GError* error = NULL;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	_ready_data = _user_data_;
	invocation = _ready_data->_invocation_;
	sway_notification_center_widgets_mpris_mpris_media_player_previous_finish ((SwayNotificationCenterWidgetsMprisMprisMediaPlayer*) source_object, _res_, &error);
	if (error) {
		g_dbus_method_invocation_take_error (invocation, error);
		goto _error;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
	_error:
	g_slice_free (SwayNotificationCenterWidgetsMprisMprisMediaPlayerPreviousReadyData, _ready_data);
}

static void
_dbus_sway_notification_center_widgets_mpris_mpris_media_player_pause (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                       GVariant* _parameters_,
                                                                       GDBusMethodInvocation* invocation)
{
	GVariantIter _arguments_iter;
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerPauseReadyData* _ready_data;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_ready_data = g_slice_new0 (SwayNotificationCenterWidgetsMprisMprisMediaPlayerPauseReadyData);
	_ready_data->_invocation_ = invocation;
	sway_notification_center_widgets_mpris_mpris_media_player_pause (self, (GAsyncReadyCallback) _dbus_sway_notification_center_widgets_mpris_mpris_media_player_pause_ready, _ready_data);
}

static void
_dbus_sway_notification_center_widgets_mpris_mpris_media_player_pause_ready (GObject * source_object,
                                                                             GAsyncResult * _res_,
                                                                             gpointer _user_data_)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerPauseReadyData* _ready_data;
	GDBusMethodInvocation* invocation;
	GError* error = NULL;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	_ready_data = _user_data_;
	invocation = _ready_data->_invocation_;
	sway_notification_center_widgets_mpris_mpris_media_player_pause_finish ((SwayNotificationCenterWidgetsMprisMprisMediaPlayer*) source_object, _res_, &error);
	if (error) {
		g_dbus_method_invocation_take_error (invocation, error);
		goto _error;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
	_error:
	g_slice_free (SwayNotificationCenterWidgetsMprisMprisMediaPlayerPauseReadyData, _ready_data);
}

static void
_dbus_sway_notification_center_widgets_mpris_mpris_media_player_play_pause (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                            GVariant* _parameters_,
                                                                            GDBusMethodInvocation* invocation)
{
	GVariantIter _arguments_iter;
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerPlayPauseReadyData* _ready_data;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_ready_data = g_slice_new0 (SwayNotificationCenterWidgetsMprisMprisMediaPlayerPlayPauseReadyData);
	_ready_data->_invocation_ = invocation;
	sway_notification_center_widgets_mpris_mpris_media_player_play_pause (self, (GAsyncReadyCallback) _dbus_sway_notification_center_widgets_mpris_mpris_media_player_play_pause_ready, _ready_data);
}

static void
_dbus_sway_notification_center_widgets_mpris_mpris_media_player_play_pause_ready (GObject * source_object,
                                                                                  GAsyncResult * _res_,
                                                                                  gpointer _user_data_)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerPlayPauseReadyData* _ready_data;
	GDBusMethodInvocation* invocation;
	GError* error = NULL;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	_ready_data = _user_data_;
	invocation = _ready_data->_invocation_;
	sway_notification_center_widgets_mpris_mpris_media_player_play_pause_finish ((SwayNotificationCenterWidgetsMprisMprisMediaPlayer*) source_object, _res_, &error);
	if (error) {
		g_dbus_method_invocation_take_error (invocation, error);
		goto _error;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
	_error:
	g_slice_free (SwayNotificationCenterWidgetsMprisMprisMediaPlayerPlayPauseReadyData, _ready_data);
}

static void
_dbus_sway_notification_center_widgets_mpris_mpris_media_player_stop (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                      GVariant* _parameters_,
                                                                      GDBusMethodInvocation* invocation)
{
	GVariantIter _arguments_iter;
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerStopReadyData* _ready_data;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_ready_data = g_slice_new0 (SwayNotificationCenterWidgetsMprisMprisMediaPlayerStopReadyData);
	_ready_data->_invocation_ = invocation;
	sway_notification_center_widgets_mpris_mpris_media_player_stop (self, (GAsyncReadyCallback) _dbus_sway_notification_center_widgets_mpris_mpris_media_player_stop_ready, _ready_data);
}

static void
_dbus_sway_notification_center_widgets_mpris_mpris_media_player_stop_ready (GObject * source_object,
                                                                            GAsyncResult * _res_,
                                                                            gpointer _user_data_)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerStopReadyData* _ready_data;
	GDBusMethodInvocation* invocation;
	GError* error = NULL;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	_ready_data = _user_data_;
	invocation = _ready_data->_invocation_;
	sway_notification_center_widgets_mpris_mpris_media_player_stop_finish ((SwayNotificationCenterWidgetsMprisMprisMediaPlayer*) source_object, _res_, &error);
	if (error) {
		g_dbus_method_invocation_take_error (invocation, error);
		goto _error;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
	_error:
	g_slice_free (SwayNotificationCenterWidgetsMprisMprisMediaPlayerStopReadyData, _ready_data);
}

static void
_dbus_sway_notification_center_widgets_mpris_mpris_media_player_play (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                      GVariant* _parameters_,
                                                                      GDBusMethodInvocation* invocation)
{
	GVariantIter _arguments_iter;
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerPlayReadyData* _ready_data;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_ready_data = g_slice_new0 (SwayNotificationCenterWidgetsMprisMprisMediaPlayerPlayReadyData);
	_ready_data->_invocation_ = invocation;
	sway_notification_center_widgets_mpris_mpris_media_player_play (self, (GAsyncReadyCallback) _dbus_sway_notification_center_widgets_mpris_mpris_media_player_play_ready, _ready_data);
}

static void
_dbus_sway_notification_center_widgets_mpris_mpris_media_player_play_ready (GObject * source_object,
                                                                            GAsyncResult * _res_,
                                                                            gpointer _user_data_)
{
	SwayNotificationCenterWidgetsMprisMprisMediaPlayerPlayReadyData* _ready_data;
	GDBusMethodInvocation* invocation;
	GError* error = NULL;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	_ready_data = _user_data_;
	invocation = _ready_data->_invocation_;
	sway_notification_center_widgets_mpris_mpris_media_player_play_finish ((SwayNotificationCenterWidgetsMprisMprisMediaPlayer*) source_object, _res_, &error);
	if (error) {
		g_dbus_method_invocation_take_error (invocation, error);
		goto _error;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
	_error:
	g_slice_free (SwayNotificationCenterWidgetsMprisMprisMediaPlayerPlayReadyData, _ready_data);
}

static void
sway_notification_center_widgets_mpris_mpris_media_player_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];
	if (strcmp (method_name, "Next") == 0) {
		_dbus_sway_notification_center_widgets_mpris_mpris_media_player_next (object, parameters, invocation);
	} else if (strcmp (method_name, "Previous") == 0) {
		_dbus_sway_notification_center_widgets_mpris_mpris_media_player_previous (object, parameters, invocation);
	} else if (strcmp (method_name, "Pause") == 0) {
		_dbus_sway_notification_center_widgets_mpris_mpris_media_player_pause (object, parameters, invocation);
	} else if (strcmp (method_name, "PlayPause") == 0) {
		_dbus_sway_notification_center_widgets_mpris_mpris_media_player_play_pause (object, parameters, invocation);
	} else if (strcmp (method_name, "Stop") == 0) {
		_dbus_sway_notification_center_widgets_mpris_mpris_media_player_stop (object, parameters, invocation);
	} else if (strcmp (method_name, "Play") == 0) {
		_dbus_sway_notification_center_widgets_mpris_mpris_media_player_play (object, parameters, invocation);
	} else {
		g_object_unref (invocation);
	}
}

static GVariant*
_dbus_sway_notification_center_widgets_mpris_mpris_media_player_get_playback_status (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self)
{
	gchar* result;
	GVariant* _reply;
	result = sway_notification_center_widgets_mpris_mpris_media_player_get_playback_status (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}

static GVariant*
_dbus_sway_notification_center_widgets_mpris_mpris_media_player_get_metadata (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self)
{
	GHashTable* result;
	GVariant* _reply;
	GVariantBuilder _tmp64_;
	GHashTableIter _tmp65_;
	gpointer _tmp66_;
	gpointer _tmp67_;
	result = sway_notification_center_widgets_mpris_mpris_media_player_get_metadata (self);
	g_hash_table_iter_init (&_tmp65_, result);
	g_variant_builder_init (&_tmp64_, G_VARIANT_TYPE ("a{sv}"));
	while (g_hash_table_iter_next (&_tmp65_, &_tmp66_, &_tmp67_)) {
		gchar* _key;
		GVariant* _value;
		_key = (gchar*) _tmp66_;
		_value = (GVariant*) _tmp67_;
		g_variant_builder_add (&_tmp64_, "{?*}", g_variant_new_string (_key), g_variant_new_variant (_value));
	}
	_reply = g_variant_builder_end (&_tmp64_);
	_g_hash_table_unref0 (result);
	return _reply;
}

static GVariant*
_dbus_sway_notification_center_widgets_mpris_mpris_media_player_get_can_go_next (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self)
{
	gboolean result;
	GVariant* _reply;
	result = sway_notification_center_widgets_mpris_mpris_media_player_get_can_go_next (self);
	_reply = g_variant_new_boolean (result);
	return _reply;
}

static GVariant*
_dbus_sway_notification_center_widgets_mpris_mpris_media_player_get_can_go_previous (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self)
{
	gboolean result;
	GVariant* _reply;
	result = sway_notification_center_widgets_mpris_mpris_media_player_get_can_go_previous (self);
	_reply = g_variant_new_boolean (result);
	return _reply;
}

static GVariant*
_dbus_sway_notification_center_widgets_mpris_mpris_media_player_get_can_play (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self)
{
	gboolean result;
	GVariant* _reply;
	result = sway_notification_center_widgets_mpris_mpris_media_player_get_can_play (self);
	_reply = g_variant_new_boolean (result);
	return _reply;
}

static GVariant*
_dbus_sway_notification_center_widgets_mpris_mpris_media_player_get_can_pause (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self)
{
	gboolean result;
	GVariant* _reply;
	result = sway_notification_center_widgets_mpris_mpris_media_player_get_can_pause (self);
	_reply = g_variant_new_boolean (result);
	return _reply;
}

static GVariant*
_dbus_sway_notification_center_widgets_mpris_mpris_media_player_get_can_control (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self)
{
	gboolean result;
	GVariant* _reply;
	result = sway_notification_center_widgets_mpris_mpris_media_player_get_can_control (self);
	_reply = g_variant_new_boolean (result);
	return _reply;
}

static GVariant*
_dbus_sway_notification_center_widgets_mpris_mpris_media_player_get_can_seek (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self)
{
	gboolean result;
	GVariant* _reply;
	result = sway_notification_center_widgets_mpris_mpris_media_player_get_can_seek (self);
	_reply = g_variant_new_boolean (result);
	return _reply;
}

static GVariant*
_dbus_sway_notification_center_widgets_mpris_mpris_media_player_get_shuffle (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self)
{
	gboolean result;
	GVariant* _reply;
	result = sway_notification_center_widgets_mpris_mpris_media_player_get_shuffle (self);
	_reply = g_variant_new_boolean (result);
	return _reply;
}

static GVariant*
_dbus_sway_notification_center_widgets_mpris_mpris_media_player_get_loop_status (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self)
{
	gchar* result;
	GVariant* _reply;
	result = sway_notification_center_widgets_mpris_mpris_media_player_get_loop_status (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}

static GVariant*
sway_notification_center_widgets_mpris_mpris_media_player_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];
	if (strcmp (property_name, "PlaybackStatus") == 0) {
		return _dbus_sway_notification_center_widgets_mpris_mpris_media_player_get_playback_status (object);
	} else if (strcmp (property_name, "Metadata") == 0) {
		return _dbus_sway_notification_center_widgets_mpris_mpris_media_player_get_metadata (object);
	} else if (strcmp (property_name, "CanGoNext") == 0) {
		return _dbus_sway_notification_center_widgets_mpris_mpris_media_player_get_can_go_next (object);
	} else if (strcmp (property_name, "CanGoPrevious") == 0) {
		return _dbus_sway_notification_center_widgets_mpris_mpris_media_player_get_can_go_previous (object);
	} else if (strcmp (property_name, "CanPlay") == 0) {
		return _dbus_sway_notification_center_widgets_mpris_mpris_media_player_get_can_play (object);
	} else if (strcmp (property_name, "CanPause") == 0) {
		return _dbus_sway_notification_center_widgets_mpris_mpris_media_player_get_can_pause (object);
	} else if (strcmp (property_name, "CanControl") == 0) {
		return _dbus_sway_notification_center_widgets_mpris_mpris_media_player_get_can_control (object);
	} else if (strcmp (property_name, "CanSeek") == 0) {
		return _dbus_sway_notification_center_widgets_mpris_mpris_media_player_get_can_seek (object);
	} else if (strcmp (property_name, "Shuffle") == 0) {
		return _dbus_sway_notification_center_widgets_mpris_mpris_media_player_get_shuffle (object);
	} else if (strcmp (property_name, "LoopStatus") == 0) {
		return _dbus_sway_notification_center_widgets_mpris_mpris_media_player_get_loop_status (object);
	}
	return NULL;
}

static void
_dbus_sway_notification_center_widgets_mpris_mpris_media_player_set_shuffle (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                             GVariant* _value)
{
	gboolean value = FALSE;
	value = g_variant_get_boolean (_value);
	sway_notification_center_widgets_mpris_mpris_media_player_set_shuffle (self, value);
}

static void
_dbus_sway_notification_center_widgets_mpris_mpris_media_player_set_loop_status (SwayNotificationCenterWidgetsMprisMprisMediaPlayer* self,
                                                                                 GVariant* _value)
{
	gchar* value = NULL;
	value = g_variant_dup_string (_value, NULL);
	sway_notification_center_widgets_mpris_mpris_media_player_set_loop_status (self, value);
	_g_free0 (value);
}

static gboolean
sway_notification_center_widgets_mpris_mpris_media_player_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];
	if (strcmp (property_name, "Shuffle") == 0) {
		_dbus_sway_notification_center_widgets_mpris_mpris_media_player_set_shuffle (object, value);
		return TRUE;
	} else if (strcmp (property_name, "LoopStatus") == 0) {
		_dbus_sway_notification_center_widgets_mpris_mpris_media_player_set_loop_status (object, value);
		return TRUE;
	}
	return FALSE;
}

guint
sway_notification_center_widgets_mpris_mpris_media_player_register_object (gpointer object,
                                                                           GDBusConnection* connection,
                                                                           const gchar* path,
                                                                           GError** error)
{
	guint result;
	gpointer *data;
	data = g_new (gpointer, 3);
	data[0] = g_object_ref (object);
	data[1] = g_object_ref (connection);
	data[2] = g_strdup (path);
	result = g_dbus_connection_register_object (connection, path, (GDBusInterfaceInfo *) (&_sway_notification_center_widgets_mpris_mpris_media_player_dbus_interface_info), &_sway_notification_center_widgets_mpris_mpris_media_player_dbus_interface_vtable, data, _sway_notification_center_widgets_mpris_mpris_media_player_unregister_object, error);
	if (!result) {
		return 0;
	}
	return result;
}

static void
_sway_notification_center_widgets_mpris_mpris_media_player_unregister_object (gpointer user_data)
{
	gpointer* data;
	data = user_data;
	g_object_unref (data[0]);
	g_object_unref (data[1]);
	g_free (data[2]);
	g_free (data);
}

gchar**
sway_notification_center_widgets_mpris_dbus_interface_list_names (SwayNotificationCenterWidgetsMprisDBusInterface* self,
                                                                  gint* result_length1,
                                                                  GError** error)
{
	SwayNotificationCenterWidgetsMprisDBusInterfaceIface* _iface_;
	g_return_val_if_fail (SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_IS_DBUS_INTERFACE (self), NULL);
	_iface_ = SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_DBUS_INTERFACE_GET_INTERFACE (self);
	if (_iface_->list_names) {
		return _iface_->list_names (self, result_length1, error);
	}
	return NULL;
}

static void
g_cclosure_user_marshal_VOID__STRING_STRING_STRING (GClosure * closure,
                                                    GValue * return_value,
                                                    guint n_param_values,
                                                    const GValue * param_values,
                                                    gpointer invocation_hint,
                                                    gpointer marshal_data)
{
	typedef void (*GMarshalFunc_VOID__STRING_STRING_STRING) (gpointer data1, const char* arg_1, const char* arg_2, const char* arg_3, gpointer data2);
	register GMarshalFunc_VOID__STRING_STRING_STRING callback;
	register GCClosure * cc;
	register gpointer data1;
	register gpointer data2;
	cc = (GCClosure *) closure;
	g_return_if_fail (n_param_values == 4);
	if (G_CCLOSURE_SWAP_DATA (closure)) {
		data1 = closure->data;
		data2 = param_values->data[0].v_pointer;
	} else {
		data1 = param_values->data[0].v_pointer;
		data2 = closure->data;
	}
	callback = (GMarshalFunc_VOID__STRING_STRING_STRING) (marshal_data ? marshal_data : cc->callback);
	callback (data1, g_value_get_string (param_values + 1), g_value_get_string (param_values + 2), g_value_get_string (param_values + 3), data2);
}

static void
sway_notification_center_widgets_mpris_dbus_interface_default_init (SwayNotificationCenterWidgetsMprisDBusInterfaceIface * iface,
                                                                    gpointer iface_data)
{
	sway_notification_center_widgets_mpris_dbus_interface_signals[SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_DBUS_INTERFACE_NAME_OWNER_CHANGED_SIGNAL] = g_signal_new ("name-owner-changed", SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_DBUS_INTERFACE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__STRING_STRING_STRING, G_TYPE_NONE, 3, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
}

 G_GNUC_NO_INLINE static GType
sway_notification_center_widgets_mpris_dbus_interface_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SwayNotificationCenterWidgetsMprisDBusInterfaceIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) sway_notification_center_widgets_mpris_dbus_interface_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
	GType sway_notification_center_widgets_mpris_dbus_interface_type_id;
	sway_notification_center_widgets_mpris_dbus_interface_type_id = g_type_register_static (G_TYPE_INTERFACE, "SwayNotificationCenterWidgetsMprisDBusInterface", &g_define_type_info, 0);
	g_type_interface_add_prerequisite (sway_notification_center_widgets_mpris_dbus_interface_type_id, G_TYPE_OBJECT);
	g_type_set_qdata (sway_notification_center_widgets_mpris_dbus_interface_type_id, g_quark_from_static_string ("vala-dbus-proxy-type"), (void*) sway_notification_center_widgets_mpris_dbus_interface_proxy_get_type);
	g_type_set_qdata (sway_notification_center_widgets_mpris_dbus_interface_type_id, g_quark_from_static_string ("vala-dbus-interface-name"), "org.freedesktop.DBus");
	g_type_set_qdata (sway_notification_center_widgets_mpris_dbus_interface_type_id, g_quark_from_static_string ("vala-dbus-interface-info"), (void*) (&_sway_notification_center_widgets_mpris_dbus_interface_dbus_interface_info));
	g_type_set_qdata (sway_notification_center_widgets_mpris_dbus_interface_type_id, g_quark_from_static_string ("vala-dbus-register-object"), (void*) sway_notification_center_widgets_mpris_dbus_interface_register_object);
	return sway_notification_center_widgets_mpris_dbus_interface_type_id;
}

GType
sway_notification_center_widgets_mpris_dbus_interface_get_type (void)
{
	static gsize sway_notification_center_widgets_mpris_dbus_interface_type_id__once = 0;
	if (g_once_init_enter (&sway_notification_center_widgets_mpris_dbus_interface_type_id__once)) {
		GType sway_notification_center_widgets_mpris_dbus_interface_type_id;
		sway_notification_center_widgets_mpris_dbus_interface_type_id = sway_notification_center_widgets_mpris_dbus_interface_get_type_once ();
		g_once_init_leave (&sway_notification_center_widgets_mpris_dbus_interface_type_id__once, sway_notification_center_widgets_mpris_dbus_interface_type_id);
	}
	return sway_notification_center_widgets_mpris_dbus_interface_type_id__once;
}

G_DEFINE_TYPE_EXTENDED (SwayNotificationCenterWidgetsMprisDBusInterfaceProxy, sway_notification_center_widgets_mpris_dbus_interface_proxy, G_TYPE_DBUS_PROXY, 0, G_IMPLEMENT_INTERFACE (SWAY_NOTIFICATION_CENTER_WIDGETS_MPRIS_TYPE_DBUS_INTERFACE, sway_notification_center_widgets_mpris_dbus_interface_proxy_sway_notification_center_widgets_mpris_dbus_interface_interface_init) )
static void
sway_notification_center_widgets_mpris_dbus_interface_proxy_class_init (SwayNotificationCenterWidgetsMprisDBusInterfaceProxyClass* klass)
{
	G_DBUS_PROXY_CLASS (klass)->g_signal = sway_notification_center_widgets_mpris_dbus_interface_proxy_g_signal;
}

static void
_dbus_handle_sway_notification_center_widgets_mpris_dbus_interface_name_owner_changed (SwayNotificationCenterWidgetsMprisDBusInterface* self,
                                                                                       GVariant* parameters)
{
	GVariantIter _arguments_iter;
	gchar* name = NULL;
	GVariant* _tmp68_;
	gchar* old_owner = NULL;
	GVariant* _tmp69_;
	gchar* new_owner = NULL;
	GVariant* _tmp70_;
	g_variant_iter_init (&_arguments_iter, parameters);
	_tmp68_ = g_variant_iter_next_value (&_arguments_iter);
	name = g_variant_dup_string (_tmp68_, NULL);
	g_variant_unref (_tmp68_);
	_tmp69_ = g_variant_iter_next_value (&_arguments_iter);
	old_owner = g_variant_dup_string (_tmp69_, NULL);
	g_variant_unref (_tmp69_);
	_tmp70_ = g_variant_iter_next_value (&_arguments_iter);
	new_owner = g_variant_dup_string (_tmp70_, NULL);
	g_variant_unref (_tmp70_);
	g_signal_emit_by_name (self, "name-owner-changed", name, old_owner, new_owner);
	_g_free0 (name);
	_g_free0 (old_owner);
	_g_free0 (new_owner);
}

static void
sway_notification_center_widgets_mpris_dbus_interface_proxy_g_signal (GDBusProxy* proxy,
                                                                      const gchar* sender_name,
                                                                      const gchar* signal_name,
                                                                      GVariant* parameters)
{
	if (strcmp (signal_name, "NameOwnerChanged") == 0) {
		_dbus_handle_sway_notification_center_widgets_mpris_dbus_interface_name_owner_changed ((SwayNotificationCenterWidgetsMprisDBusInterface*) proxy, parameters);
	}
}

static void
sway_notification_center_widgets_mpris_dbus_interface_proxy_init (SwayNotificationCenterWidgetsMprisDBusInterfaceProxy* self)
{
	g_dbus_proxy_set_interface_info (G_DBUS_PROXY (self), (GDBusInterfaceInfo *) (&_sway_notification_center_widgets_mpris_dbus_interface_dbus_interface_info));
}

static gchar**
sway_notification_center_widgets_mpris_dbus_interface_proxy_list_names (SwayNotificationCenterWidgetsMprisDBusInterface* self,
                                                                        gint* result_length1,
                                                                        GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	gchar** _result = NULL;
	gint _result_length1;
	GVariant* _tmp71_;
	gchar** _tmp72_;
	gint _tmp72__length;
	gint _tmp72__size;
	gint _tmp72__length1;
	GVariantIter _tmp73_;
	GVariant* _tmp74_;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.DBus", "ListNames");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_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);
	g_object_unref (_message);
	if (!_reply_message) {
		return NULL;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return NULL;
	}
	_reply = g_dbus_message_get_body (_reply_message);
	g_variant_iter_init (&_reply_iter, _reply);
	_result_length1 = 0;
	_tmp71_ = g_variant_iter_next_value (&_reply_iter);
	_tmp72_ = g_new (gchar*, 5);
	_tmp72__length = 0;
	_tmp72__size = 4;
	_tmp72__length1 = 0;
	g_variant_iter_init (&_tmp73_, _tmp71_);
	for (; (_tmp74_ = g_variant_iter_next_value (&_tmp73_)) != NULL; _tmp72__length1++) {
		if (_tmp72__size == _tmp72__length) {
			_tmp72__size = 2 * _tmp72__size;
			_tmp72_ = g_renew (gchar*, _tmp72_, _tmp72__size + 1);
		}
		_tmp72_[_tmp72__length++] = g_variant_dup_string (_tmp74_, NULL);
		g_variant_unref (_tmp74_);
	}
	_result_length1 = _tmp72__length1;
	_tmp72_[_tmp72__length] = NULL;
	_result = _tmp72_;
	g_variant_unref (_tmp71_);
	*result_length1 = _result_length1;
	g_object_unref (_reply_message);
	return _result;
}

static void
sway_notification_center_widgets_mpris_dbus_interface_proxy_sway_notification_center_widgets_mpris_dbus_interface_interface_init (SwayNotificationCenterWidgetsMprisDBusInterfaceIface* iface)
{
	iface->list_names = sway_notification_center_widgets_mpris_dbus_interface_proxy_list_names;
}

static void
_dbus_sway_notification_center_widgets_mpris_dbus_interface_list_names (SwayNotificationCenterWidgetsMprisDBusInterface* self,
                                                                        GVariant* _parameters_,
                                                                        GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	gchar** result;
	gint result_length1 = 0;
	gchar** _tmp75_;
	GVariantBuilder _tmp76_;
	gint _tmp77_;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	result = sway_notification_center_widgets_mpris_dbus_interface_list_names (self, &result_length1, &error);
	if (error) {
		g_dbus_method_invocation_take_error (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	_tmp75_ = result;
	g_variant_builder_init (&_tmp76_, G_VARIANT_TYPE ("as"));
	for (_tmp77_ = 0; _tmp77_ < result_length1; _tmp77_++) {
		g_variant_builder_add_value (&_tmp76_, g_variant_new_string (*_tmp75_));
		_tmp75_++;
	}
	g_variant_builder_add_value (&_reply_builder, g_variant_builder_end (&_tmp76_));
	result = (_vala_array_free (result, result_length1, (GDestroyNotify) g_free), NULL);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}

static void
sway_notification_center_widgets_mpris_dbus_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];
	if (strcmp (method_name, "ListNames") == 0) {
		_dbus_sway_notification_center_widgets_mpris_dbus_interface_list_names (object, parameters, invocation);
	} else {
		g_object_unref (invocation);
	}
}

static GVariant*
sway_notification_center_widgets_mpris_dbus_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];
	return NULL;
}

static gboolean
sway_notification_center_widgets_mpris_dbus_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];
	return FALSE;
}

static void
_dbus_sway_notification_center_widgets_mpris_dbus_interface_name_owner_changed (GObject* _sender,
                                                                                const gchar* name,
                                                                                const gchar* old_owner,
                                                                                const gchar* new_owner,
                                                                                gpointer* _data)
{
	GDBusConnection * _connection;
	const gchar * _path;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	_connection = _data[1];
	_path = _data[2];
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (name));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (old_owner));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (new_owner));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_connection_emit_signal (_connection, NULL, _path, "org.freedesktop.DBus", "NameOwnerChanged", _arguments, NULL);
}

guint
sway_notification_center_widgets_mpris_dbus_interface_register_object (gpointer object,
                                                                       GDBusConnection* connection,
                                                                       const gchar* path,
                                                                       GError** error)
{
	guint result;
	gpointer *data;
	data = g_new (gpointer, 3);
	data[0] = g_object_ref (object);
	data[1] = g_object_ref (connection);
	data[2] = g_strdup (path);
	result = g_dbus_connection_register_object (connection, path, (GDBusInterfaceInfo *) (&_sway_notification_center_widgets_mpris_dbus_interface_dbus_interface_info), &_sway_notification_center_widgets_mpris_dbus_interface_dbus_interface_vtable, data, _sway_notification_center_widgets_mpris_dbus_interface_unregister_object, error);
	if (!result) {
		return 0;
	}
	g_signal_connect (object, "name-owner-changed", (GCallback) _dbus_sway_notification_center_widgets_mpris_dbus_interface_name_owner_changed, data);
	return result;
}

static void
_sway_notification_center_widgets_mpris_dbus_interface_unregister_object (gpointer user_data)
{
	gpointer* data;
	data = user_data;
	g_signal_handlers_disconnect_by_func (data[0], _dbus_sway_notification_center_widgets_mpris_dbus_interface_name_owner_changed, data);
	g_object_unref (data[0]);
	g_object_unref (data[1]);
	g_free (data[2]);
	g_free (data);
}

static void
_vala_array_destroy (gpointer array,
                     gssize array_length,
                     GDestroyNotify destroy_func)
{
	if ((array != NULL) && (destroy_func != NULL)) {
		gssize i;
		for (i = 0; i < array_length; i = i + 1) {
			if (((gpointer*) array)[i] != NULL) {
				destroy_func (((gpointer*) array)[i]);
			}
		}
	}
}

static void
_vala_array_free (gpointer array,
                  gssize array_length,
                  GDestroyNotify destroy_func)
{
	_vala_array_destroy (array, array_length, destroy_func);
	g_free (array);
}

