/* rygel-external-interfaces.c generated by valac 0.56.1, the Vala compiler
 * generated from rygel-external-interfaces.vala, do not modify */

/*
 * Copyright (C) 2009,2010 Nokia Corporation.
 *
 * Author: Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
 *                               <zeeshan.ali@nokia.com>
 *
 * This file is part of Rygel.
 *
 * Rygel is free software; you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * Rygel is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 */

#include "rygel-external.h"
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include <gio/gio.h>

typedef GDBusProxy RygelExternalMediaObjectProxyProxy;
typedef GDBusProxyClass RygelExternalMediaObjectProxyProxyClass;
#define _g_free0(var) (var = (g_free (var), NULL))
enum  {
	RYGEL_EXTERNAL_MEDIA_CONTAINER_PROXY_UPDATED_SIGNAL,
	RYGEL_EXTERNAL_MEDIA_CONTAINER_PROXY_NUM_SIGNALS
};
static guint rygel_external_media_container_proxy_signals[RYGEL_EXTERNAL_MEDIA_CONTAINER_PROXY_NUM_SIGNALS] = {0};
typedef GDBusProxy RygelExternalMediaContainerProxyProxy;
typedef GDBusProxyClass RygelExternalMediaContainerProxyProxyClass;
typedef struct _RygelExternalMediaContainerProxyListChildrenReadyData RygelExternalMediaContainerProxyListChildrenReadyData;
typedef struct _RygelExternalMediaContainerProxyListContainersReadyData RygelExternalMediaContainerProxyListContainersReadyData;
typedef struct _RygelExternalMediaContainerProxyListItemsReadyData RygelExternalMediaContainerProxyListItemsReadyData;
typedef struct _RygelExternalMediaContainerProxySearchObjectsReadyData RygelExternalMediaContainerProxySearchObjectsReadyData;
typedef GDBusProxy RygelExternalMediaItemProxyProxy;
typedef GDBusProxyClass RygelExternalMediaItemProxyProxyClass;

struct _RygelExternalMediaContainerProxyListChildrenReadyData {
	GDBusMethodInvocation* _invocation_;
	guint offset;
	guint max_count;
	gchar** filter;
	gint filter_length1;
};

struct _RygelExternalMediaContainerProxyListContainersReadyData {
	GDBusMethodInvocation* _invocation_;
	guint offset;
	guint max_count;
	gchar** filter;
	gint filter_length1;
};

struct _RygelExternalMediaContainerProxyListItemsReadyData {
	GDBusMethodInvocation* _invocation_;
	guint offset;
	guint max_count;
	gchar** filter;
	gint filter_length1;
};

struct _RygelExternalMediaContainerProxySearchObjectsReadyData {
	GDBusMethodInvocation* _invocation_;
	gchar* query;
	guint offset;
	guint max_count;
	gchar** filter;
	gint filter_length1;
};

static GType rygel_external_media_object_proxy_get_type_once (void);
static void rygel_external_media_object_proxy_proxy_g_signal (GDBusProxy* proxy,
                                                       const gchar* sender_name,
                                                       const gchar* signal_name,
                                                       GVariant* parameters);
static char* rygel_external_media_object_proxy_dbus_proxy_get_parent (RygelExternalMediaObjectProxy* self);
static void rygel_external_media_object_proxy_dbus_proxy_set_parent (RygelExternalMediaObjectProxy* self,
                                                              const char* value);
static gchar* rygel_external_media_object_proxy_dbus_proxy_get_display_name (RygelExternalMediaObjectProxy* self);
static void rygel_external_media_object_proxy_dbus_proxy_set_display_name (RygelExternalMediaObjectProxy* self,
                                                                    const gchar* value);
static gchar* rygel_external_media_object_proxy_dbus_proxy_get_object_type (RygelExternalMediaObjectProxy* self);
static void rygel_external_media_object_proxy_dbus_proxy_set_object_type (RygelExternalMediaObjectProxy* self,
                                                                   const gchar* value);
static void rygel_external_media_object_proxy_proxy_rygel_external_media_object_proxy_interface_init (RygelExternalMediaObjectProxyIface* iface);
static void rygel_external_media_object_proxy_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* rygel_external_media_object_proxy_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_rygel_external_media_object_proxy_get_parent (RygelExternalMediaObjectProxy* self);
static GVariant* _dbus_rygel_external_media_object_proxy_get_display_name (RygelExternalMediaObjectProxy* self);
static GVariant* _dbus_rygel_external_media_object_proxy_get_object_type (RygelExternalMediaObjectProxy* self);
static gboolean rygel_external_media_object_proxy_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_rygel_external_media_object_proxy_set_parent (RygelExternalMediaObjectProxy* self,
                                                         GVariant* _value);
static void _dbus_rygel_external_media_object_proxy_set_display_name (RygelExternalMediaObjectProxy* self,
                                                               GVariant* _value);
static void _dbus_rygel_external_media_object_proxy_set_object_type (RygelExternalMediaObjectProxy* self,
                                                              GVariant* _value);
static void _rygel_external_media_object_proxy_unregister_object (gpointer user_data);
static GType rygel_external_media_container_proxy_get_type_once (void);
static void rygel_external_media_container_proxy_proxy_g_signal (GDBusProxy* proxy,
                                                          const gchar* sender_name,
                                                          const gchar* signal_name,
                                                          GVariant* parameters);
static void _dbus_handle_rygel_external_media_container_proxy_updated (RygelExternalMediaContainerProxy* self,
                                                                GVariant* parameters);
static char* rygel_external_media_container_proxy_dbus_proxy_get_parent (RygelExternalMediaObjectProxy* self);
static void rygel_external_media_container_proxy_dbus_proxy_set_parent (RygelExternalMediaObjectProxy* self,
                                                                 const char* value);
static gchar* rygel_external_media_container_proxy_dbus_proxy_get_display_name (RygelExternalMediaObjectProxy* self);
static void rygel_external_media_container_proxy_dbus_proxy_set_display_name (RygelExternalMediaObjectProxy* self,
                                                                       const gchar* value);
static gchar* rygel_external_media_container_proxy_dbus_proxy_get_object_type (RygelExternalMediaObjectProxy* self);
static void rygel_external_media_container_proxy_dbus_proxy_set_object_type (RygelExternalMediaObjectProxy* self,
                                                                      const gchar* value);
static void rygel_external_media_container_proxy_proxy_rygel_external_media_object_proxy_interface_init (RygelExternalMediaObjectProxyIface* iface);
static void _vala_g_async_ready_callback (GObject *source_object,
                                   GAsyncResult *res,
                                   void *user_data);
static void rygel_external_media_container_proxy_proxy_list_children_async (RygelExternalMediaContainerProxy* self,
                                                                     guint offset,
                                                                     guint max_count,
                                                                     gchar** filter,
                                                                     gint filter_length1,
                                                                     GAsyncReadyCallback _callback_,
                                                                     gpointer _user_data_);
static GHashTable** rygel_external_media_container_proxy_proxy_list_children_finish (RygelExternalMediaContainerProxy* self,
                                                                              GAsyncResult* _res_,
                                                                              gint* result_length1,
                                                                              GError** error);
static void rygel_external_media_container_proxy_proxy_list_containers_async (RygelExternalMediaContainerProxy* self,
                                                                       guint offset,
                                                                       guint max_count,
                                                                       gchar** filter,
                                                                       gint filter_length1,
                                                                       GAsyncReadyCallback _callback_,
                                                                       gpointer _user_data_);
static GHashTable** rygel_external_media_container_proxy_proxy_list_containers_finish (RygelExternalMediaContainerProxy* self,
                                                                                GAsyncResult* _res_,
                                                                                gint* result_length1,
                                                                                GError** error);
static void rygel_external_media_container_proxy_proxy_list_items_async (RygelExternalMediaContainerProxy* self,
                                                                  guint offset,
                                                                  guint max_count,
                                                                  gchar** filter,
                                                                  gint filter_length1,
                                                                  GAsyncReadyCallback _callback_,
                                                                  gpointer _user_data_);
static GHashTable** rygel_external_media_container_proxy_proxy_list_items_finish (RygelExternalMediaContainerProxy* self,
                                                                           GAsyncResult* _res_,
                                                                           gint* result_length1,
                                                                           GError** error);
static void rygel_external_media_container_proxy_proxy_search_objects_async (RygelExternalMediaContainerProxy* self,
                                                                      const gchar* query,
                                                                      guint offset,
                                                                      guint max_count,
                                                                      gchar** filter,
                                                                      gint filter_length1,
                                                                      GAsyncReadyCallback _callback_,
                                                                      gpointer _user_data_);
static GHashTable** rygel_external_media_container_proxy_proxy_search_objects_finish (RygelExternalMediaContainerProxy* self,
                                                                               GAsyncResult* _res_,
                                                                               gint* result_length1,
                                                                               GError** error);
static guint rygel_external_media_container_proxy_dbus_proxy_get_child_count (RygelExternalMediaContainerProxy* self);
static void rygel_external_media_container_proxy_dbus_proxy_set_child_count (RygelExternalMediaContainerProxy* self,
                                                                      guint value);
static guint rygel_external_media_container_proxy_dbus_proxy_get_item_count (RygelExternalMediaContainerProxy* self);
static void rygel_external_media_container_proxy_dbus_proxy_set_item_count (RygelExternalMediaContainerProxy* self,
                                                                     guint value);
static guint rygel_external_media_container_proxy_dbus_proxy_get_container_count (RygelExternalMediaContainerProxy* self);
static void rygel_external_media_container_proxy_dbus_proxy_set_container_count (RygelExternalMediaContainerProxy* self,
                                                                          guint value);
static gboolean rygel_external_media_container_proxy_dbus_proxy_get_searchable (RygelExternalMediaContainerProxy* self);
static void rygel_external_media_container_proxy_dbus_proxy_set_searchable (RygelExternalMediaContainerProxy* self,
                                                                     gboolean value);
static char* rygel_external_media_container_proxy_dbus_proxy_get_icon (RygelExternalMediaContainerProxy* self);
static void rygel_external_media_container_proxy_dbus_proxy_set_icon (RygelExternalMediaContainerProxy* self,
                                                               const char* value);
static void rygel_external_media_container_proxy_proxy_rygel_external_media_container_proxy_interface_init (RygelExternalMediaContainerProxyIface* iface);
static void _dbus_rygel_external_media_container_proxy_list_children (RygelExternalMediaContainerProxy* self,
                                                               GVariant* _parameters_,
                                                               GDBusMethodInvocation* invocation);
static void _dbus_rygel_external_media_container_proxy_list_children_ready (GObject * source_object,
                                                                     GAsyncResult * _res_,
                                                                     gpointer _user_data_);
static void _dbus_rygel_external_media_container_proxy_list_containers (RygelExternalMediaContainerProxy* self,
                                                                 GVariant* _parameters_,
                                                                 GDBusMethodInvocation* invocation);
static void _dbus_rygel_external_media_container_proxy_list_containers_ready (GObject * source_object,
                                                                       GAsyncResult * _res_,
                                                                       gpointer _user_data_);
static void _dbus_rygel_external_media_container_proxy_list_items (RygelExternalMediaContainerProxy* self,
                                                            GVariant* _parameters_,
                                                            GDBusMethodInvocation* invocation);
static void _dbus_rygel_external_media_container_proxy_list_items_ready (GObject * source_object,
                                                                  GAsyncResult * _res_,
                                                                  gpointer _user_data_);
static void _dbus_rygel_external_media_container_proxy_search_objects (RygelExternalMediaContainerProxy* self,
                                                                GVariant* _parameters_,
                                                                GDBusMethodInvocation* invocation);
static void _dbus_rygel_external_media_container_proxy_search_objects_ready (GObject * source_object,
                                                                      GAsyncResult * _res_,
                                                                      gpointer _user_data_);
static void rygel_external_media_container_proxy_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* rygel_external_media_container_proxy_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_rygel_external_media_container_proxy_get_child_count (RygelExternalMediaContainerProxy* self);
static GVariant* _dbus_rygel_external_media_container_proxy_get_item_count (RygelExternalMediaContainerProxy* self);
static GVariant* _dbus_rygel_external_media_container_proxy_get_container_count (RygelExternalMediaContainerProxy* self);
static GVariant* _dbus_rygel_external_media_container_proxy_get_searchable (RygelExternalMediaContainerProxy* self);
static GVariant* _dbus_rygel_external_media_container_proxy_get_icon (RygelExternalMediaContainerProxy* self);
static gboolean rygel_external_media_container_proxy_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_rygel_external_media_container_proxy_set_child_count (RygelExternalMediaContainerProxy* self,
                                                                 GVariant* _value);
static void _dbus_rygel_external_media_container_proxy_set_item_count (RygelExternalMediaContainerProxy* self,
                                                                GVariant* _value);
static void _dbus_rygel_external_media_container_proxy_set_container_count (RygelExternalMediaContainerProxy* self,
                                                                     GVariant* _value);
static void _dbus_rygel_external_media_container_proxy_set_searchable (RygelExternalMediaContainerProxy* self,
                                                                GVariant* _value);
static void _dbus_rygel_external_media_container_proxy_set_icon (RygelExternalMediaContainerProxy* self,
                                                          GVariant* _value);
static void _dbus_rygel_external_media_container_proxy_updated (GObject* _sender,
                                                         gpointer* _data);
static void _rygel_external_media_container_proxy_unregister_object (gpointer user_data);
static GType rygel_external_media_item_proxy_get_type_once (void);
static void rygel_external_media_item_proxy_proxy_g_signal (GDBusProxy* proxy,
                                                     const gchar* sender_name,
                                                     const gchar* signal_name,
                                                     GVariant* parameters);
static char* rygel_external_media_item_proxy_dbus_proxy_get_parent (RygelExternalMediaObjectProxy* self);
static void rygel_external_media_item_proxy_dbus_proxy_set_parent (RygelExternalMediaObjectProxy* self,
                                                            const char* value);
static gchar* rygel_external_media_item_proxy_dbus_proxy_get_display_name (RygelExternalMediaObjectProxy* self);
static void rygel_external_media_item_proxy_dbus_proxy_set_display_name (RygelExternalMediaObjectProxy* self,
                                                                  const gchar* value);
static gchar* rygel_external_media_item_proxy_dbus_proxy_get_object_type (RygelExternalMediaObjectProxy* self);
static void rygel_external_media_item_proxy_dbus_proxy_set_object_type (RygelExternalMediaObjectProxy* self,
                                                                 const gchar* value);
static void rygel_external_media_item_proxy_proxy_rygel_external_media_object_proxy_interface_init (RygelExternalMediaObjectProxyIface* iface);
static gchar** rygel_external_media_item_proxy_dbus_proxy_get_urls (RygelExternalMediaItemProxy* self,
                                                             gint* result_length1);
static void rygel_external_media_item_proxy_dbus_proxy_set_urls (RygelExternalMediaItemProxy* self,
                                                          gchar** value,
                                                          gint value_length1);
static gchar* rygel_external_media_item_proxy_dbus_proxy_get_mime_type (RygelExternalMediaItemProxy* self);
static void rygel_external_media_item_proxy_dbus_proxy_set_mime_type (RygelExternalMediaItemProxy* self,
                                                               const gchar* value);
static gint rygel_external_media_item_proxy_dbus_proxy_get_size (RygelExternalMediaItemProxy* self);
static void rygel_external_media_item_proxy_dbus_proxy_set_size (RygelExternalMediaItemProxy* self,
                                                          gint value);
static gchar* rygel_external_media_item_proxy_dbus_proxy_get_artist (RygelExternalMediaItemProxy* self);
static void rygel_external_media_item_proxy_dbus_proxy_set_artist (RygelExternalMediaItemProxy* self,
                                                            const gchar* value);
static gchar* rygel_external_media_item_proxy_dbus_proxy_get_album (RygelExternalMediaItemProxy* self);
static void rygel_external_media_item_proxy_dbus_proxy_set_album (RygelExternalMediaItemProxy* self,
                                                           const gchar* value);
static gchar* rygel_external_media_item_proxy_dbus_proxy_get_date (RygelExternalMediaItemProxy* self);
static void rygel_external_media_item_proxy_dbus_proxy_set_date (RygelExternalMediaItemProxy* self,
                                                          const gchar* value);
static gchar* rygel_external_media_item_proxy_dbus_proxy_get_genre (RygelExternalMediaItemProxy* self);
static void rygel_external_media_item_proxy_dbus_proxy_set_genre (RygelExternalMediaItemProxy* self,
                                                           const gchar* value);
static gchar* rygel_external_media_item_proxy_dbus_proxy_get_dlna_profile (RygelExternalMediaItemProxy* self);
static void rygel_external_media_item_proxy_dbus_proxy_set_dlna_profile (RygelExternalMediaItemProxy* self,
                                                                  const gchar* value);
static gint rygel_external_media_item_proxy_dbus_proxy_get_duration (RygelExternalMediaItemProxy* self);
static void rygel_external_media_item_proxy_dbus_proxy_set_duration (RygelExternalMediaItemProxy* self,
                                                              gint value);
static gint rygel_external_media_item_proxy_dbus_proxy_get_bitrate (RygelExternalMediaItemProxy* self);
static void rygel_external_media_item_proxy_dbus_proxy_set_bitrate (RygelExternalMediaItemProxy* self,
                                                             gint value);
static gint rygel_external_media_item_proxy_dbus_proxy_get_sample_rate (RygelExternalMediaItemProxy* self);
static void rygel_external_media_item_proxy_dbus_proxy_set_sample_rate (RygelExternalMediaItemProxy* self,
                                                                 gint value);
static gint rygel_external_media_item_proxy_dbus_proxy_get_bits_per_sample (RygelExternalMediaItemProxy* self);
static void rygel_external_media_item_proxy_dbus_proxy_set_bits_per_sample (RygelExternalMediaItemProxy* self,
                                                                     gint value);
static gint rygel_external_media_item_proxy_dbus_proxy_get_width (RygelExternalMediaItemProxy* self);
static void rygel_external_media_item_proxy_dbus_proxy_set_width (RygelExternalMediaItemProxy* self,
                                                           gint value);
static gint rygel_external_media_item_proxy_dbus_proxy_get_height (RygelExternalMediaItemProxy* self);
static void rygel_external_media_item_proxy_dbus_proxy_set_height (RygelExternalMediaItemProxy* self,
                                                            gint value);
static gint rygel_external_media_item_proxy_dbus_proxy_get_color_depth (RygelExternalMediaItemProxy* self);
static void rygel_external_media_item_proxy_dbus_proxy_set_color_depth (RygelExternalMediaItemProxy* self,
                                                                 gint value);
static char* rygel_external_media_item_proxy_dbus_proxy_get_thumbnail (RygelExternalMediaItemProxy* self);
static void rygel_external_media_item_proxy_dbus_proxy_set_thumbnail (RygelExternalMediaItemProxy* self,
                                                               const char* value);
static char* rygel_external_media_item_proxy_dbus_proxy_get_album_art (RygelExternalMediaItemProxy* self);
static void rygel_external_media_item_proxy_dbus_proxy_set_album_art (RygelExternalMediaItemProxy* self,
                                                               const char* value);
static void rygel_external_media_item_proxy_proxy_rygel_external_media_item_proxy_interface_init (RygelExternalMediaItemProxyIface* iface);
static void rygel_external_media_item_proxy_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* rygel_external_media_item_proxy_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_rygel_external_media_item_proxy_get_urls (RygelExternalMediaItemProxy* self);
static GVariant* _dbus_rygel_external_media_item_proxy_get_mime_type (RygelExternalMediaItemProxy* self);
static GVariant* _dbus_rygel_external_media_item_proxy_get_size (RygelExternalMediaItemProxy* self);
static GVariant* _dbus_rygel_external_media_item_proxy_get_artist (RygelExternalMediaItemProxy* self);
static GVariant* _dbus_rygel_external_media_item_proxy_get_album (RygelExternalMediaItemProxy* self);
static GVariant* _dbus_rygel_external_media_item_proxy_get_date (RygelExternalMediaItemProxy* self);
static GVariant* _dbus_rygel_external_media_item_proxy_get_genre (RygelExternalMediaItemProxy* self);
static GVariant* _dbus_rygel_external_media_item_proxy_get_dlna_profile (RygelExternalMediaItemProxy* self);
static GVariant* _dbus_rygel_external_media_item_proxy_get_duration (RygelExternalMediaItemProxy* self);
static GVariant* _dbus_rygel_external_media_item_proxy_get_bitrate (RygelExternalMediaItemProxy* self);
static GVariant* _dbus_rygel_external_media_item_proxy_get_sample_rate (RygelExternalMediaItemProxy* self);
static GVariant* _dbus_rygel_external_media_item_proxy_get_bits_per_sample (RygelExternalMediaItemProxy* self);
static GVariant* _dbus_rygel_external_media_item_proxy_get_width (RygelExternalMediaItemProxy* self);
static GVariant* _dbus_rygel_external_media_item_proxy_get_height (RygelExternalMediaItemProxy* self);
static GVariant* _dbus_rygel_external_media_item_proxy_get_color_depth (RygelExternalMediaItemProxy* self);
static GVariant* _dbus_rygel_external_media_item_proxy_get_thumbnail (RygelExternalMediaItemProxy* self);
static GVariant* _dbus_rygel_external_media_item_proxy_get_album_art (RygelExternalMediaItemProxy* self);
static gboolean rygel_external_media_item_proxy_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_rygel_external_media_item_proxy_set_urls (RygelExternalMediaItemProxy* self,
                                                     GVariant* _value);
static void _dbus_rygel_external_media_item_proxy_set_mime_type (RygelExternalMediaItemProxy* self,
                                                          GVariant* _value);
static void _dbus_rygel_external_media_item_proxy_set_size (RygelExternalMediaItemProxy* self,
                                                     GVariant* _value);
static void _dbus_rygel_external_media_item_proxy_set_artist (RygelExternalMediaItemProxy* self,
                                                       GVariant* _value);
static void _dbus_rygel_external_media_item_proxy_set_album (RygelExternalMediaItemProxy* self,
                                                      GVariant* _value);
static void _dbus_rygel_external_media_item_proxy_set_date (RygelExternalMediaItemProxy* self,
                                                     GVariant* _value);
static void _dbus_rygel_external_media_item_proxy_set_genre (RygelExternalMediaItemProxy* self,
                                                      GVariant* _value);
static void _dbus_rygel_external_media_item_proxy_set_dlna_profile (RygelExternalMediaItemProxy* self,
                                                             GVariant* _value);
static void _dbus_rygel_external_media_item_proxy_set_duration (RygelExternalMediaItemProxy* self,
                                                         GVariant* _value);
static void _dbus_rygel_external_media_item_proxy_set_bitrate (RygelExternalMediaItemProxy* self,
                                                        GVariant* _value);
static void _dbus_rygel_external_media_item_proxy_set_sample_rate (RygelExternalMediaItemProxy* self,
                                                            GVariant* _value);
static void _dbus_rygel_external_media_item_proxy_set_bits_per_sample (RygelExternalMediaItemProxy* self,
                                                                GVariant* _value);
static void _dbus_rygel_external_media_item_proxy_set_width (RygelExternalMediaItemProxy* self,
                                                      GVariant* _value);
static void _dbus_rygel_external_media_item_proxy_set_height (RygelExternalMediaItemProxy* self,
                                                       GVariant* _value);
static void _dbus_rygel_external_media_item_proxy_set_color_depth (RygelExternalMediaItemProxy* self,
                                                            GVariant* _value);
static void _dbus_rygel_external_media_item_proxy_set_thumbnail (RygelExternalMediaItemProxy* self,
                                                          GVariant* _value);
static void _dbus_rygel_external_media_item_proxy_set_album_art (RygelExternalMediaItemProxy* self,
                                                          GVariant* _value);
static void _rygel_external_media_item_proxy_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);

const gchar* RYGEL_EXTERNAL_MEDIA_OBJECT_PROXY_PROPERTIES[4] = {"Parent", "Type", "Path", "DisplayName"};
static const GDBusMethodInfo * const _rygel_external_media_object_proxy_dbus_method_info[] = {NULL};
static const GDBusSignalInfo * const _rygel_external_media_object_proxy_dbus_signal_info[] = {NULL};
static const GDBusPropertyInfo _rygel_external_media_object_proxy_dbus_property_info_parent = {-1, "Parent", "o", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, NULL};
static const GDBusPropertyInfo _rygel_external_media_object_proxy_dbus_property_info_display_name = {-1, "DisplayName", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, NULL};
static const GDBusPropertyInfo _rygel_external_media_object_proxy_dbus_property_info_object_type = {-1, "Type", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, NULL};
static const GDBusPropertyInfo * const _rygel_external_media_object_proxy_dbus_property_info[] = {&_rygel_external_media_object_proxy_dbus_property_info_parent, &_rygel_external_media_object_proxy_dbus_property_info_display_name, &_rygel_external_media_object_proxy_dbus_property_info_object_type, NULL};
static const GDBusInterfaceInfo _rygel_external_media_object_proxy_dbus_interface_info = {-1, "org.gnome.UPnP.MediaObject2", (GDBusMethodInfo **) (&_rygel_external_media_object_proxy_dbus_method_info), (GDBusSignalInfo **) (&_rygel_external_media_object_proxy_dbus_signal_info), (GDBusPropertyInfo **) (&_rygel_external_media_object_proxy_dbus_property_info), NULL};
static const GDBusInterfaceVTable _rygel_external_media_object_proxy_dbus_interface_vtable = {rygel_external_media_object_proxy_dbus_interface_method_call, rygel_external_media_object_proxy_dbus_interface_get_property, rygel_external_media_object_proxy_dbus_interface_set_property};
const gchar* RYGEL_EXTERNAL_MEDIA_CONTAINER_PROXY_PROPERTIES[2] = {"ChildCount", "Searchable"};
static const GDBusArgInfo _rygel_external_media_container_proxy_dbus_arg_info_list_children_offset = {-1, "offset", "u", NULL};
static const GDBusArgInfo _rygel_external_media_container_proxy_dbus_arg_info_list_children_max_count = {-1, "max_count", "u", NULL};
static const GDBusArgInfo _rygel_external_media_container_proxy_dbus_arg_info_list_children_filter = {-1, "filter", "as", NULL};
static const GDBusArgInfo _rygel_external_media_container_proxy_dbus_arg_info_list_children_result = {-1, "result", "aa{sv}", NULL};
static const GDBusArgInfo * const _rygel_external_media_container_proxy_dbus_arg_info_list_children_in[] = {&_rygel_external_media_container_proxy_dbus_arg_info_list_children_offset, &_rygel_external_media_container_proxy_dbus_arg_info_list_children_max_count, &_rygel_external_media_container_proxy_dbus_arg_info_list_children_filter, NULL};
static const GDBusArgInfo * const _rygel_external_media_container_proxy_dbus_arg_info_list_children_out[] = {&_rygel_external_media_container_proxy_dbus_arg_info_list_children_result, NULL};
static const GDBusMethodInfo _rygel_external_media_container_proxy_dbus_method_info_list_children = {-1, "ListChildren", (GDBusArgInfo **) (&_rygel_external_media_container_proxy_dbus_arg_info_list_children_in), (GDBusArgInfo **) (&_rygel_external_media_container_proxy_dbus_arg_info_list_children_out), NULL};
static const GDBusArgInfo _rygel_external_media_container_proxy_dbus_arg_info_list_containers_offset = {-1, "offset", "u", NULL};
static const GDBusArgInfo _rygel_external_media_container_proxy_dbus_arg_info_list_containers_max_count = {-1, "max_count", "u", NULL};
static const GDBusArgInfo _rygel_external_media_container_proxy_dbus_arg_info_list_containers_filter = {-1, "filter", "as", NULL};
static const GDBusArgInfo _rygel_external_media_container_proxy_dbus_arg_info_list_containers_result = {-1, "result", "aa{sv}", NULL};
static const GDBusArgInfo * const _rygel_external_media_container_proxy_dbus_arg_info_list_containers_in[] = {&_rygel_external_media_container_proxy_dbus_arg_info_list_containers_offset, &_rygel_external_media_container_proxy_dbus_arg_info_list_containers_max_count, &_rygel_external_media_container_proxy_dbus_arg_info_list_containers_filter, NULL};
static const GDBusArgInfo * const _rygel_external_media_container_proxy_dbus_arg_info_list_containers_out[] = {&_rygel_external_media_container_proxy_dbus_arg_info_list_containers_result, NULL};
static const GDBusMethodInfo _rygel_external_media_container_proxy_dbus_method_info_list_containers = {-1, "ListContainers", (GDBusArgInfo **) (&_rygel_external_media_container_proxy_dbus_arg_info_list_containers_in), (GDBusArgInfo **) (&_rygel_external_media_container_proxy_dbus_arg_info_list_containers_out), NULL};
static const GDBusArgInfo _rygel_external_media_container_proxy_dbus_arg_info_list_items_offset = {-1, "offset", "u", NULL};
static const GDBusArgInfo _rygel_external_media_container_proxy_dbus_arg_info_list_items_max_count = {-1, "max_count", "u", NULL};
static const GDBusArgInfo _rygel_external_media_container_proxy_dbus_arg_info_list_items_filter = {-1, "filter", "as", NULL};
static const GDBusArgInfo _rygel_external_media_container_proxy_dbus_arg_info_list_items_result = {-1, "result", "aa{sv}", NULL};
static const GDBusArgInfo * const _rygel_external_media_container_proxy_dbus_arg_info_list_items_in[] = {&_rygel_external_media_container_proxy_dbus_arg_info_list_items_offset, &_rygel_external_media_container_proxy_dbus_arg_info_list_items_max_count, &_rygel_external_media_container_proxy_dbus_arg_info_list_items_filter, NULL};
static const GDBusArgInfo * const _rygel_external_media_container_proxy_dbus_arg_info_list_items_out[] = {&_rygel_external_media_container_proxy_dbus_arg_info_list_items_result, NULL};
static const GDBusMethodInfo _rygel_external_media_container_proxy_dbus_method_info_list_items = {-1, "ListItems", (GDBusArgInfo **) (&_rygel_external_media_container_proxy_dbus_arg_info_list_items_in), (GDBusArgInfo **) (&_rygel_external_media_container_proxy_dbus_arg_info_list_items_out), NULL};
static const GDBusArgInfo _rygel_external_media_container_proxy_dbus_arg_info_search_objects_query = {-1, "query", "s", NULL};
static const GDBusArgInfo _rygel_external_media_container_proxy_dbus_arg_info_search_objects_offset = {-1, "offset", "u", NULL};
static const GDBusArgInfo _rygel_external_media_container_proxy_dbus_arg_info_search_objects_max_count = {-1, "max_count", "u", NULL};
static const GDBusArgInfo _rygel_external_media_container_proxy_dbus_arg_info_search_objects_filter = {-1, "filter", "as", NULL};
static const GDBusArgInfo _rygel_external_media_container_proxy_dbus_arg_info_search_objects_result = {-1, "result", "aa{sv}", NULL};
static const GDBusArgInfo * const _rygel_external_media_container_proxy_dbus_arg_info_search_objects_in[] = {&_rygel_external_media_container_proxy_dbus_arg_info_search_objects_query, &_rygel_external_media_container_proxy_dbus_arg_info_search_objects_offset, &_rygel_external_media_container_proxy_dbus_arg_info_search_objects_max_count, &_rygel_external_media_container_proxy_dbus_arg_info_search_objects_filter, NULL};
static const GDBusArgInfo * const _rygel_external_media_container_proxy_dbus_arg_info_search_objects_out[] = {&_rygel_external_media_container_proxy_dbus_arg_info_search_objects_result, NULL};
static const GDBusMethodInfo _rygel_external_media_container_proxy_dbus_method_info_search_objects = {-1, "SearchObjects", (GDBusArgInfo **) (&_rygel_external_media_container_proxy_dbus_arg_info_search_objects_in), (GDBusArgInfo **) (&_rygel_external_media_container_proxy_dbus_arg_info_search_objects_out), NULL};
static const GDBusMethodInfo * const _rygel_external_media_container_proxy_dbus_method_info[] = {&_rygel_external_media_container_proxy_dbus_method_info_list_children, &_rygel_external_media_container_proxy_dbus_method_info_list_containers, &_rygel_external_media_container_proxy_dbus_method_info_list_items, &_rygel_external_media_container_proxy_dbus_method_info_search_objects, NULL};
static const GDBusArgInfo * const _rygel_external_media_container_proxy_dbus_arg_info_updated[] = {NULL};
static const GDBusSignalInfo _rygel_external_media_container_proxy_dbus_signal_info_updated = {-1, "Updated", (GDBusArgInfo **) (&_rygel_external_media_container_proxy_dbus_arg_info_updated), NULL};
static const GDBusSignalInfo * const _rygel_external_media_container_proxy_dbus_signal_info[] = {&_rygel_external_media_container_proxy_dbus_signal_info_updated, NULL};
static const GDBusPropertyInfo _rygel_external_media_container_proxy_dbus_property_info_child_count = {-1, "ChildCount", "u", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, NULL};
static const GDBusPropertyInfo _rygel_external_media_container_proxy_dbus_property_info_item_count = {-1, "ItemCount", "u", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, NULL};
static const GDBusPropertyInfo _rygel_external_media_container_proxy_dbus_property_info_container_count = {-1, "ContainerCount", "u", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, NULL};
static const GDBusPropertyInfo _rygel_external_media_container_proxy_dbus_property_info_searchable = {-1, "Searchable", "b", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, NULL};
static const GDBusPropertyInfo _rygel_external_media_container_proxy_dbus_property_info_icon = {-1, "Icon", "o", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, NULL};
static const GDBusPropertyInfo * const _rygel_external_media_container_proxy_dbus_property_info[] = {&_rygel_external_media_container_proxy_dbus_property_info_child_count, &_rygel_external_media_container_proxy_dbus_property_info_item_count, &_rygel_external_media_container_proxy_dbus_property_info_container_count, &_rygel_external_media_container_proxy_dbus_property_info_searchable, &_rygel_external_media_container_proxy_dbus_property_info_icon, NULL};
static const GDBusInterfaceInfo _rygel_external_media_container_proxy_dbus_interface_info = {-1, "org.gnome.UPnP.MediaContainer2", (GDBusMethodInfo **) (&_rygel_external_media_container_proxy_dbus_method_info), (GDBusSignalInfo **) (&_rygel_external_media_container_proxy_dbus_signal_info), (GDBusPropertyInfo **) (&_rygel_external_media_container_proxy_dbus_property_info), NULL};
static const GDBusInterfaceVTable _rygel_external_media_container_proxy_dbus_interface_vtable = {rygel_external_media_container_proxy_dbus_interface_method_call, rygel_external_media_container_proxy_dbus_interface_get_property, rygel_external_media_container_proxy_dbus_interface_set_property};
const gchar* RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_PROPERTIES[19] = {"URLs", "MIMEType", "DLNAProfile", "Size", "Artist", "Album", "Date", "Duration", "Bitrate", "SampleRate", "BitsPerSample", "Width", "Height", "ColorDepth", "PixelWidth", "PixelHeight", "Thumbnail", "AlbumArt", "TrackNumber"};
static const GDBusMethodInfo * const _rygel_external_media_item_proxy_dbus_method_info[] = {NULL};
static const GDBusSignalInfo * const _rygel_external_media_item_proxy_dbus_signal_info[] = {NULL};
static const GDBusPropertyInfo _rygel_external_media_item_proxy_dbus_property_info_urls = {-1, "URLs", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, NULL};
static const GDBusPropertyInfo _rygel_external_media_item_proxy_dbus_property_info_mime_type = {-1, "MimeType", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, NULL};
static const GDBusPropertyInfo _rygel_external_media_item_proxy_dbus_property_info_size = {-1, "Size", "i", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, NULL};
static const GDBusPropertyInfo _rygel_external_media_item_proxy_dbus_property_info_artist = {-1, "Artist", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, NULL};
static const GDBusPropertyInfo _rygel_external_media_item_proxy_dbus_property_info_album = {-1, "Album", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, NULL};
static const GDBusPropertyInfo _rygel_external_media_item_proxy_dbus_property_info_date = {-1, "Date", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, NULL};
static const GDBusPropertyInfo _rygel_external_media_item_proxy_dbus_property_info_genre = {-1, "Genre", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, NULL};
static const GDBusPropertyInfo _rygel_external_media_item_proxy_dbus_property_info_dlna_profile = {-1, "DlnaProfile", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, NULL};
static const GDBusPropertyInfo _rygel_external_media_item_proxy_dbus_property_info_duration = {-1, "Duration", "i", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, NULL};
static const GDBusPropertyInfo _rygel_external_media_item_proxy_dbus_property_info_bitrate = {-1, "Bitrate", "i", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, NULL};
static const GDBusPropertyInfo _rygel_external_media_item_proxy_dbus_property_info_sample_rate = {-1, "SampleRate", "i", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, NULL};
static const GDBusPropertyInfo _rygel_external_media_item_proxy_dbus_property_info_bits_per_sample = {-1, "BitsPerSample", "i", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, NULL};
static const GDBusPropertyInfo _rygel_external_media_item_proxy_dbus_property_info_width = {-1, "Width", "i", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, NULL};
static const GDBusPropertyInfo _rygel_external_media_item_proxy_dbus_property_info_height = {-1, "Height", "i", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, NULL};
static const GDBusPropertyInfo _rygel_external_media_item_proxy_dbus_property_info_color_depth = {-1, "ColorDepth", "i", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, NULL};
static const GDBusPropertyInfo _rygel_external_media_item_proxy_dbus_property_info_thumbnail = {-1, "Thumbnail", "o", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, NULL};
static const GDBusPropertyInfo _rygel_external_media_item_proxy_dbus_property_info_album_art = {-1, "AlbumArt", "o", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, NULL};
static const GDBusPropertyInfo * const _rygel_external_media_item_proxy_dbus_property_info[] = {&_rygel_external_media_item_proxy_dbus_property_info_urls, &_rygel_external_media_item_proxy_dbus_property_info_mime_type, &_rygel_external_media_item_proxy_dbus_property_info_size, &_rygel_external_media_item_proxy_dbus_property_info_artist, &_rygel_external_media_item_proxy_dbus_property_info_album, &_rygel_external_media_item_proxy_dbus_property_info_date, &_rygel_external_media_item_proxy_dbus_property_info_genre, &_rygel_external_media_item_proxy_dbus_property_info_dlna_profile, &_rygel_external_media_item_proxy_dbus_property_info_duration, &_rygel_external_media_item_proxy_dbus_property_info_bitrate, &_rygel_external_media_item_proxy_dbus_property_info_sample_rate, &_rygel_external_media_item_proxy_dbus_property_info_bits_per_sample, &_rygel_external_media_item_proxy_dbus_property_info_width, &_rygel_external_media_item_proxy_dbus_property_info_height, &_rygel_external_media_item_proxy_dbus_property_info_color_depth, &_rygel_external_media_item_proxy_dbus_property_info_thumbnail, &_rygel_external_media_item_proxy_dbus_property_info_album_art, NULL};
static const GDBusInterfaceInfo _rygel_external_media_item_proxy_dbus_interface_info = {-1, "org.gnome.UPnP.MediaItem2", (GDBusMethodInfo **) (&_rygel_external_media_item_proxy_dbus_method_info), (GDBusSignalInfo **) (&_rygel_external_media_item_proxy_dbus_signal_info), (GDBusPropertyInfo **) (&_rygel_external_media_item_proxy_dbus_property_info), NULL};
static const GDBusInterfaceVTable _rygel_external_media_item_proxy_dbus_interface_vtable = {rygel_external_media_item_proxy_dbus_interface_method_call, rygel_external_media_item_proxy_dbus_interface_get_property, rygel_external_media_item_proxy_dbus_interface_set_property};

char*
rygel_external_media_object_proxy_get_parent (RygelExternalMediaObjectProxy* self)
{
	RygelExternalMediaObjectProxyIface* _iface_;
	g_return_val_if_fail (self != NULL, NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_OBJECT_PROXY_GET_INTERFACE (self);
	if (_iface_->get_parent) {
		return _iface_->get_parent (self);
	}
	return NULL;
}

void
rygel_external_media_object_proxy_set_parent (RygelExternalMediaObjectProxy* self,
                                              const char* value)
{
	RygelExternalMediaObjectProxyIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_OBJECT_PROXY_GET_INTERFACE (self);
	if (_iface_->set_parent) {
		_iface_->set_parent (self, value);
	}
}

gchar*
rygel_external_media_object_proxy_get_display_name (RygelExternalMediaObjectProxy* self)
{
	RygelExternalMediaObjectProxyIface* _iface_;
	g_return_val_if_fail (self != NULL, NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_OBJECT_PROXY_GET_INTERFACE (self);
	if (_iface_->get_display_name) {
		return _iface_->get_display_name (self);
	}
	return NULL;
}

void
rygel_external_media_object_proxy_set_display_name (RygelExternalMediaObjectProxy* self,
                                                    const gchar* value)
{
	RygelExternalMediaObjectProxyIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_OBJECT_PROXY_GET_INTERFACE (self);
	if (_iface_->set_display_name) {
		_iface_->set_display_name (self, value);
	}
}

gchar*
rygel_external_media_object_proxy_get_object_type (RygelExternalMediaObjectProxy* self)
{
	RygelExternalMediaObjectProxyIface* _iface_;
	g_return_val_if_fail (self != NULL, NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_OBJECT_PROXY_GET_INTERFACE (self);
	if (_iface_->get_object_type) {
		return _iface_->get_object_type (self);
	}
	return NULL;
}

void
rygel_external_media_object_proxy_set_object_type (RygelExternalMediaObjectProxy* self,
                                                   const gchar* value)
{
	RygelExternalMediaObjectProxyIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_OBJECT_PROXY_GET_INTERFACE (self);
	if (_iface_->set_object_type) {
		_iface_->set_object_type (self, value);
	}
}

static void
rygel_external_media_object_proxy_default_init (RygelExternalMediaObjectProxyIface * iface,
                                                gpointer iface_data)
{
}

static GType
rygel_external_media_object_proxy_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (RygelExternalMediaObjectProxyIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) rygel_external_media_object_proxy_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
	GType rygel_external_media_object_proxy_type_id;
	rygel_external_media_object_proxy_type_id = g_type_register_static (G_TYPE_INTERFACE, "RygelExternalMediaObjectProxy", &g_define_type_info, 0);
	g_type_interface_add_prerequisite (rygel_external_media_object_proxy_type_id, g_dbus_proxy_get_type ());
	g_type_set_qdata (rygel_external_media_object_proxy_type_id, g_quark_from_static_string ("vala-dbus-proxy-type"), (void*) rygel_external_media_object_proxy_proxy_get_type);
	g_type_set_qdata (rygel_external_media_object_proxy_type_id, g_quark_from_static_string ("vala-dbus-interface-name"), "org.gnome.UPnP.MediaObject2");
	g_type_set_qdata (rygel_external_media_object_proxy_type_id, g_quark_from_static_string ("vala-dbus-interface-info"), (void*) (&_rygel_external_media_object_proxy_dbus_interface_info));
	g_type_set_qdata (rygel_external_media_object_proxy_type_id, g_quark_from_static_string ("vala-dbus-register-object"), (void*) rygel_external_media_object_proxy_register_object);
	return rygel_external_media_object_proxy_type_id;
}

GType
rygel_external_media_object_proxy_get_type (void)
{
	static volatile gsize rygel_external_media_object_proxy_type_id__once = 0;
	if (g_once_init_enter (&rygel_external_media_object_proxy_type_id__once)) {
		GType rygel_external_media_object_proxy_type_id;
		rygel_external_media_object_proxy_type_id = rygel_external_media_object_proxy_get_type_once ();
		g_once_init_leave (&rygel_external_media_object_proxy_type_id__once, rygel_external_media_object_proxy_type_id);
	}
	return rygel_external_media_object_proxy_type_id__once;
}

G_DEFINE_TYPE_EXTENDED (RygelExternalMediaObjectProxyProxy, rygel_external_media_object_proxy_proxy, G_TYPE_DBUS_PROXY, 0, G_IMPLEMENT_INTERFACE (RYGEL_EXTERNAL_TYPE_MEDIA_OBJECT_PROXY, rygel_external_media_object_proxy_proxy_rygel_external_media_object_proxy_interface_init) )
static void
rygel_external_media_object_proxy_proxy_class_init (RygelExternalMediaObjectProxyProxyClass* klass)
{
	G_DBUS_PROXY_CLASS (klass)->g_signal = rygel_external_media_object_proxy_proxy_g_signal;
}

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

static void
rygel_external_media_object_proxy_proxy_init (RygelExternalMediaObjectProxyProxy* self)
{
	g_dbus_proxy_set_interface_info (G_DBUS_PROXY (self), (GDBusInterfaceInfo *) (&_rygel_external_media_object_proxy_dbus_interface_info));
}

static char*
rygel_external_media_object_proxy_dbus_proxy_get_parent (RygelExternalMediaObjectProxy* self)
{
	GVariant *_inner_reply;
	char* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Parent");
	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.gnome.UPnP.MediaObject2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Parent"));
		_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
rygel_external_media_object_proxy_dbus_proxy_set_parent (RygelExternalMediaObjectProxy* self,
                                                         const char* 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.gnome.UPnP.MediaObject2"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Parent"));
	g_variant_builder_open (&_arguments_builder, G_VARIANT_TYPE_VARIANT);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_object_path (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*
rygel_external_media_object_proxy_dbus_proxy_get_display_name (RygelExternalMediaObjectProxy* self)
{
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "DisplayName");
	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.gnome.UPnP.MediaObject2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("DisplayName"));
		_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
rygel_external_media_object_proxy_dbus_proxy_set_display_name (RygelExternalMediaObjectProxy* 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.gnome.UPnP.MediaObject2"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("DisplayName"));
	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 gchar*
rygel_external_media_object_proxy_dbus_proxy_get_object_type (RygelExternalMediaObjectProxy* self)
{
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Type");
	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.gnome.UPnP.MediaObject2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Type"));
		_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
rygel_external_media_object_proxy_dbus_proxy_set_object_type (RygelExternalMediaObjectProxy* 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.gnome.UPnP.MediaObject2"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Type"));
	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
rygel_external_media_object_proxy_proxy_rygel_external_media_object_proxy_interface_init (RygelExternalMediaObjectProxyIface* iface)
{
	iface->get_parent = rygel_external_media_object_proxy_dbus_proxy_get_parent;
	iface->set_parent = rygel_external_media_object_proxy_dbus_proxy_set_parent;
	iface->get_display_name = rygel_external_media_object_proxy_dbus_proxy_get_display_name;
	iface->set_display_name = rygel_external_media_object_proxy_dbus_proxy_set_display_name;
	iface->get_object_type = rygel_external_media_object_proxy_dbus_proxy_get_object_type;
	iface->set_object_type = rygel_external_media_object_proxy_dbus_proxy_set_object_type;
}

static void
rygel_external_media_object_proxy_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_rygel_external_media_object_proxy_get_parent (RygelExternalMediaObjectProxy* self)
{
	char* result;
	GVariant* _reply;
	result = rygel_external_media_object_proxy_get_parent (self);
	_reply = g_variant_new_object_path (result);
	_g_free0 (result);
	return _reply;
}

static GVariant*
_dbus_rygel_external_media_object_proxy_get_display_name (RygelExternalMediaObjectProxy* self)
{
	gchar* result;
	GVariant* _reply;
	result = rygel_external_media_object_proxy_get_display_name (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}

static GVariant*
_dbus_rygel_external_media_object_proxy_get_object_type (RygelExternalMediaObjectProxy* self)
{
	gchar* result;
	GVariant* _reply;
	result = rygel_external_media_object_proxy_get_object_type (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}

static GVariant*
rygel_external_media_object_proxy_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, "Parent") == 0) {
		return _dbus_rygel_external_media_object_proxy_get_parent (object);
	} else if (strcmp (property_name, "DisplayName") == 0) {
		return _dbus_rygel_external_media_object_proxy_get_display_name (object);
	} else if (strcmp (property_name, "Type") == 0) {
		return _dbus_rygel_external_media_object_proxy_get_object_type (object);
	}
	return NULL;
}

static void
_dbus_rygel_external_media_object_proxy_set_parent (RygelExternalMediaObjectProxy* self,
                                                    GVariant* _value)
{
	char* value = NULL;
	value = g_variant_dup_string (_value, NULL);
	rygel_external_media_object_proxy_set_parent (self, value);
	_g_free0 (value);
}

static void
_dbus_rygel_external_media_object_proxy_set_display_name (RygelExternalMediaObjectProxy* self,
                                                          GVariant* _value)
{
	gchar* value = NULL;
	value = g_variant_dup_string (_value, NULL);
	rygel_external_media_object_proxy_set_display_name (self, value);
	_g_free0 (value);
}

static void
_dbus_rygel_external_media_object_proxy_set_object_type (RygelExternalMediaObjectProxy* self,
                                                         GVariant* _value)
{
	gchar* value = NULL;
	value = g_variant_dup_string (_value, NULL);
	rygel_external_media_object_proxy_set_object_type (self, value);
	_g_free0 (value);
}

static gboolean
rygel_external_media_object_proxy_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, "Parent") == 0) {
		_dbus_rygel_external_media_object_proxy_set_parent (object, value);
		return TRUE;
	} else if (strcmp (property_name, "DisplayName") == 0) {
		_dbus_rygel_external_media_object_proxy_set_display_name (object, value);
		return TRUE;
	} else if (strcmp (property_name, "Type") == 0) {
		_dbus_rygel_external_media_object_proxy_set_object_type (object, value);
		return TRUE;
	}
	return FALSE;
}

guint
rygel_external_media_object_proxy_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 *) (&_rygel_external_media_object_proxy_dbus_interface_info), &_rygel_external_media_object_proxy_dbus_interface_vtable, data, _rygel_external_media_object_proxy_unregister_object, error);
	if (!result) {
		return 0;
	}
	return result;
}

static void
_rygel_external_media_object_proxy_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
rygel_external_media_container_proxy_list_children (RygelExternalMediaContainerProxy* self,
                                                    guint offset,
                                                    guint max_count,
                                                    gchar** filter,
                                                    gint filter_length1,
                                                    GAsyncReadyCallback _callback_,
                                                    gpointer _user_data_)
{
	RygelExternalMediaContainerProxyIface* _iface_;
	_iface_ = RYGEL_EXTERNAL_MEDIA_CONTAINER_PROXY_GET_INTERFACE (self);
	if (_iface_->list_children) {
		_iface_->list_children (self, offset, max_count, filter, filter_length1, _callback_, _user_data_);
	}
}

GHashTable**
rygel_external_media_container_proxy_list_children_finish (RygelExternalMediaContainerProxy* self,
                                                           GAsyncResult* _res_,
                                                           gint* result_length1,
                                                           GError** error)
{
	RygelExternalMediaContainerProxyIface* _iface_;
	_iface_ = RYGEL_EXTERNAL_MEDIA_CONTAINER_PROXY_GET_INTERFACE (self);
	if (_iface_->list_children_finish) {
		return _iface_->list_children_finish (self, _res_, result_length1, error);
	}
	return NULL;
}

void
rygel_external_media_container_proxy_list_containers (RygelExternalMediaContainerProxy* self,
                                                      guint offset,
                                                      guint max_count,
                                                      gchar** filter,
                                                      gint filter_length1,
                                                      GAsyncReadyCallback _callback_,
                                                      gpointer _user_data_)
{
	RygelExternalMediaContainerProxyIface* _iface_;
	_iface_ = RYGEL_EXTERNAL_MEDIA_CONTAINER_PROXY_GET_INTERFACE (self);
	if (_iface_->list_containers) {
		_iface_->list_containers (self, offset, max_count, filter, filter_length1, _callback_, _user_data_);
	}
}

GHashTable**
rygel_external_media_container_proxy_list_containers_finish (RygelExternalMediaContainerProxy* self,
                                                             GAsyncResult* _res_,
                                                             gint* result_length1,
                                                             GError** error)
{
	RygelExternalMediaContainerProxyIface* _iface_;
	_iface_ = RYGEL_EXTERNAL_MEDIA_CONTAINER_PROXY_GET_INTERFACE (self);
	if (_iface_->list_containers_finish) {
		return _iface_->list_containers_finish (self, _res_, result_length1, error);
	}
	return NULL;
}

void
rygel_external_media_container_proxy_list_items (RygelExternalMediaContainerProxy* self,
                                                 guint offset,
                                                 guint max_count,
                                                 gchar** filter,
                                                 gint filter_length1,
                                                 GAsyncReadyCallback _callback_,
                                                 gpointer _user_data_)
{
	RygelExternalMediaContainerProxyIface* _iface_;
	_iface_ = RYGEL_EXTERNAL_MEDIA_CONTAINER_PROXY_GET_INTERFACE (self);
	if (_iface_->list_items) {
		_iface_->list_items (self, offset, max_count, filter, filter_length1, _callback_, _user_data_);
	}
}

GHashTable**
rygel_external_media_container_proxy_list_items_finish (RygelExternalMediaContainerProxy* self,
                                                        GAsyncResult* _res_,
                                                        gint* result_length1,
                                                        GError** error)
{
	RygelExternalMediaContainerProxyIface* _iface_;
	_iface_ = RYGEL_EXTERNAL_MEDIA_CONTAINER_PROXY_GET_INTERFACE (self);
	if (_iface_->list_items_finish) {
		return _iface_->list_items_finish (self, _res_, result_length1, error);
	}
	return NULL;
}

void
rygel_external_media_container_proxy_search_objects (RygelExternalMediaContainerProxy* self,
                                                     const gchar* query,
                                                     guint offset,
                                                     guint max_count,
                                                     gchar** filter,
                                                     gint filter_length1,
                                                     GAsyncReadyCallback _callback_,
                                                     gpointer _user_data_)
{
	RygelExternalMediaContainerProxyIface* _iface_;
	_iface_ = RYGEL_EXTERNAL_MEDIA_CONTAINER_PROXY_GET_INTERFACE (self);
	if (_iface_->search_objects) {
		_iface_->search_objects (self, query, offset, max_count, filter, filter_length1, _callback_, _user_data_);
	}
}

GHashTable**
rygel_external_media_container_proxy_search_objects_finish (RygelExternalMediaContainerProxy* self,
                                                            GAsyncResult* _res_,
                                                            gint* result_length1,
                                                            GError** error)
{
	RygelExternalMediaContainerProxyIface* _iface_;
	_iface_ = RYGEL_EXTERNAL_MEDIA_CONTAINER_PROXY_GET_INTERFACE (self);
	if (_iface_->search_objects_finish) {
		return _iface_->search_objects_finish (self, _res_, result_length1, error);
	}
	return NULL;
}

guint
rygel_external_media_container_proxy_get_child_count (RygelExternalMediaContainerProxy* self)
{
	RygelExternalMediaContainerProxyIface* _iface_;
	g_return_val_if_fail (self != NULL, 0U);
	_iface_ = RYGEL_EXTERNAL_MEDIA_CONTAINER_PROXY_GET_INTERFACE (self);
	if (_iface_->get_child_count) {
		return _iface_->get_child_count (self);
	}
	return 0U;
}

void
rygel_external_media_container_proxy_set_child_count (RygelExternalMediaContainerProxy* self,
                                                      guint value)
{
	RygelExternalMediaContainerProxyIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_CONTAINER_PROXY_GET_INTERFACE (self);
	if (_iface_->set_child_count) {
		_iface_->set_child_count (self, value);
	}
}

guint
rygel_external_media_container_proxy_get_item_count (RygelExternalMediaContainerProxy* self)
{
	RygelExternalMediaContainerProxyIface* _iface_;
	g_return_val_if_fail (self != NULL, 0U);
	_iface_ = RYGEL_EXTERNAL_MEDIA_CONTAINER_PROXY_GET_INTERFACE (self);
	if (_iface_->get_item_count) {
		return _iface_->get_item_count (self);
	}
	return 0U;
}

void
rygel_external_media_container_proxy_set_item_count (RygelExternalMediaContainerProxy* self,
                                                     guint value)
{
	RygelExternalMediaContainerProxyIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_CONTAINER_PROXY_GET_INTERFACE (self);
	if (_iface_->set_item_count) {
		_iface_->set_item_count (self, value);
	}
}

guint
rygel_external_media_container_proxy_get_container_count (RygelExternalMediaContainerProxy* self)
{
	RygelExternalMediaContainerProxyIface* _iface_;
	g_return_val_if_fail (self != NULL, 0U);
	_iface_ = RYGEL_EXTERNAL_MEDIA_CONTAINER_PROXY_GET_INTERFACE (self);
	if (_iface_->get_container_count) {
		return _iface_->get_container_count (self);
	}
	return 0U;
}

void
rygel_external_media_container_proxy_set_container_count (RygelExternalMediaContainerProxy* self,
                                                          guint value)
{
	RygelExternalMediaContainerProxyIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_CONTAINER_PROXY_GET_INTERFACE (self);
	if (_iface_->set_container_count) {
		_iface_->set_container_count (self, value);
	}
}

gboolean
rygel_external_media_container_proxy_get_searchable (RygelExternalMediaContainerProxy* self)
{
	RygelExternalMediaContainerProxyIface* _iface_;
	g_return_val_if_fail (self != NULL, FALSE);
	_iface_ = RYGEL_EXTERNAL_MEDIA_CONTAINER_PROXY_GET_INTERFACE (self);
	if (_iface_->get_searchable) {
		return _iface_->get_searchable (self);
	}
	return FALSE;
}

void
rygel_external_media_container_proxy_set_searchable (RygelExternalMediaContainerProxy* self,
                                                     gboolean value)
{
	RygelExternalMediaContainerProxyIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_CONTAINER_PROXY_GET_INTERFACE (self);
	if (_iface_->set_searchable) {
		_iface_->set_searchable (self, value);
	}
}

char*
rygel_external_media_container_proxy_get_icon (RygelExternalMediaContainerProxy* self)
{
	RygelExternalMediaContainerProxyIface* _iface_;
	g_return_val_if_fail (self != NULL, NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_CONTAINER_PROXY_GET_INTERFACE (self);
	if (_iface_->get_icon) {
		return _iface_->get_icon (self);
	}
	return NULL;
}

void
rygel_external_media_container_proxy_set_icon (RygelExternalMediaContainerProxy* self,
                                               const char* value)
{
	RygelExternalMediaContainerProxyIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_CONTAINER_PROXY_GET_INTERFACE (self);
	if (_iface_->set_icon) {
		_iface_->set_icon (self, value);
	}
}

static void
rygel_external_media_container_proxy_default_init (RygelExternalMediaContainerProxyIface * iface,
                                                   gpointer iface_data)
{
	rygel_external_media_container_proxy_signals[RYGEL_EXTERNAL_MEDIA_CONTAINER_PROXY_UPDATED_SIGNAL] = g_signal_new ("updated", RYGEL_EXTERNAL_TYPE_MEDIA_CONTAINER_PROXY, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
}

static GType
rygel_external_media_container_proxy_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (RygelExternalMediaContainerProxyIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) rygel_external_media_container_proxy_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
	GType rygel_external_media_container_proxy_type_id;
	rygel_external_media_container_proxy_type_id = g_type_register_static (G_TYPE_INTERFACE, "RygelExternalMediaContainerProxy", &g_define_type_info, 0);
	g_type_interface_add_prerequisite (rygel_external_media_container_proxy_type_id, g_dbus_proxy_get_type ());
	g_type_interface_add_prerequisite (rygel_external_media_container_proxy_type_id, RYGEL_EXTERNAL_TYPE_MEDIA_OBJECT_PROXY);
	g_type_set_qdata (rygel_external_media_container_proxy_type_id, g_quark_from_static_string ("vala-dbus-proxy-type"), (void*) rygel_external_media_container_proxy_proxy_get_type);
	g_type_set_qdata (rygel_external_media_container_proxy_type_id, g_quark_from_static_string ("vala-dbus-interface-name"), "org.gnome.UPnP.MediaContainer2");
	g_type_set_qdata (rygel_external_media_container_proxy_type_id, g_quark_from_static_string ("vala-dbus-interface-info"), (void*) (&_rygel_external_media_container_proxy_dbus_interface_info));
	g_type_set_qdata (rygel_external_media_container_proxy_type_id, g_quark_from_static_string ("vala-dbus-register-object"), (void*) rygel_external_media_container_proxy_register_object);
	return rygel_external_media_container_proxy_type_id;
}

GType
rygel_external_media_container_proxy_get_type (void)
{
	static volatile gsize rygel_external_media_container_proxy_type_id__once = 0;
	if (g_once_init_enter (&rygel_external_media_container_proxy_type_id__once)) {
		GType rygel_external_media_container_proxy_type_id;
		rygel_external_media_container_proxy_type_id = rygel_external_media_container_proxy_get_type_once ();
		g_once_init_leave (&rygel_external_media_container_proxy_type_id__once, rygel_external_media_container_proxy_type_id);
	}
	return rygel_external_media_container_proxy_type_id__once;
}

G_DEFINE_TYPE_EXTENDED (RygelExternalMediaContainerProxyProxy, rygel_external_media_container_proxy_proxy, G_TYPE_DBUS_PROXY, 0, G_IMPLEMENT_INTERFACE (RYGEL_EXTERNAL_TYPE_MEDIA_OBJECT_PROXY, rygel_external_media_container_proxy_proxy_rygel_external_media_object_proxy_interface_init) G_IMPLEMENT_INTERFACE (RYGEL_EXTERNAL_TYPE_MEDIA_CONTAINER_PROXY, rygel_external_media_container_proxy_proxy_rygel_external_media_container_proxy_interface_init) )
static void
rygel_external_media_container_proxy_proxy_class_init (RygelExternalMediaContainerProxyProxyClass* klass)
{
	G_DBUS_PROXY_CLASS (klass)->g_signal = rygel_external_media_container_proxy_proxy_g_signal;
}

static void
_dbus_handle_rygel_external_media_container_proxy_updated (RygelExternalMediaContainerProxy* self,
                                                           GVariant* parameters)
{
	GVariantIter _arguments_iter;
	g_variant_iter_init (&_arguments_iter, parameters);
	g_signal_emit_by_name (self, "updated");
}

static void
rygel_external_media_container_proxy_proxy_g_signal (GDBusProxy* proxy,
                                                     const gchar* sender_name,
                                                     const gchar* signal_name,
                                                     GVariant* parameters)
{
	if (strcmp (signal_name, "Updated") == 0) {
		_dbus_handle_rygel_external_media_container_proxy_updated ((RygelExternalMediaContainerProxy*) proxy, parameters);
	}
}

static void
rygel_external_media_container_proxy_proxy_init (RygelExternalMediaContainerProxyProxy* self)
{
	g_dbus_proxy_set_interface_info (G_DBUS_PROXY (self), (GDBusInterfaceInfo *) (&_rygel_external_media_container_proxy_dbus_interface_info));
}

static char*
rygel_external_media_container_proxy_dbus_proxy_get_parent (RygelExternalMediaObjectProxy* self)
{
	GVariant *_inner_reply;
	char* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Parent");
	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.gnome.UPnP.MediaObject2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Parent"));
		_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
rygel_external_media_container_proxy_dbus_proxy_set_parent (RygelExternalMediaObjectProxy* self,
                                                            const char* 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.gnome.UPnP.MediaObject2"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Parent"));
	g_variant_builder_open (&_arguments_builder, G_VARIANT_TYPE_VARIANT);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_object_path (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*
rygel_external_media_container_proxy_dbus_proxy_get_display_name (RygelExternalMediaObjectProxy* self)
{
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "DisplayName");
	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.gnome.UPnP.MediaObject2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("DisplayName"));
		_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
rygel_external_media_container_proxy_dbus_proxy_set_display_name (RygelExternalMediaObjectProxy* 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.gnome.UPnP.MediaObject2"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("DisplayName"));
	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 gchar*
rygel_external_media_container_proxy_dbus_proxy_get_object_type (RygelExternalMediaObjectProxy* self)
{
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Type");
	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.gnome.UPnP.MediaObject2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Type"));
		_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
rygel_external_media_container_proxy_dbus_proxy_set_object_type (RygelExternalMediaObjectProxy* 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.gnome.UPnP.MediaObject2"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Type"));
	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
rygel_external_media_container_proxy_proxy_rygel_external_media_object_proxy_interface_init (RygelExternalMediaObjectProxyIface* iface)
{
	iface->get_parent = rygel_external_media_container_proxy_dbus_proxy_get_parent;
	iface->set_parent = rygel_external_media_container_proxy_dbus_proxy_set_parent;
	iface->get_display_name = rygel_external_media_container_proxy_dbus_proxy_get_display_name;
	iface->set_display_name = rygel_external_media_container_proxy_dbus_proxy_set_display_name;
	iface->get_object_type = rygel_external_media_container_proxy_dbus_proxy_get_object_type;
	iface->set_object_type = rygel_external_media_container_proxy_dbus_proxy_set_object_type;
}

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
rygel_external_media_container_proxy_proxy_list_children_async (RygelExternalMediaContainerProxy* self,
                                                                guint offset,
                                                                guint max_count,
                                                                gchar** filter,
                                                                gint filter_length1,
                                                                GAsyncReadyCallback _callback_,
                                                                gpointer _user_data_)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	gchar** _tmp0_;
	GVariantBuilder _tmp1_;
	gint _tmp2_;
	G_IO_ERROR;
	G_DBUS_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.gnome.UPnP.MediaContainer2", "ListChildren");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_uint32 (offset));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_uint32 (max_count));
	_tmp0_ = filter;
	g_variant_builder_init (&_tmp1_, G_VARIANT_TYPE ("as"));
	for (_tmp2_ = 0; _tmp2_ < filter_length1; _tmp2_++) {
		g_variant_builder_add_value (&_tmp1_, g_variant_new_string (*_tmp0_));
		_tmp0_++;
	}
	g_variant_builder_add_value (&_arguments_builder, g_variant_builder_end (&_tmp1_));
	_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 GHashTable**
rygel_external_media_container_proxy_proxy_list_children_finish (RygelExternalMediaContainerProxy* self,
                                                                 GAsyncResult* _res_,
                                                                 gint* result_length1,
                                                                 GError** error)
{
	GAsyncResult *_inner_res;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	GHashTable** _result = NULL;
	gint _result_length1;
	GVariant* _tmp3_;
	GHashTable** _tmp4_;
	gint _tmp4__length;
	gint _tmp4__size;
	gint _tmp4__length1;
	GVariantIter _tmp5_;
	GVariant* _tmp6_;
	_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 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;
	_tmp3_ = g_variant_iter_next_value (&_reply_iter);
	_tmp4_ = g_new (GHashTable*, 5);
	_tmp4__length = 0;
	_tmp4__size = 4;
	_tmp4__length1 = 0;
	g_variant_iter_init (&_tmp5_, _tmp3_);
	for (; (_tmp6_ = g_variant_iter_next_value (&_tmp5_)) != NULL; _tmp4__length1++) {
		GHashTable* _tmp7_;
		GVariantIter _tmp8_;
		GVariant* _tmp9_;
		GVariant* _tmp10_;
		if (_tmp4__size == _tmp4__length) {
			_tmp4__size = 2 * _tmp4__size;
			_tmp4_ = g_renew (GHashTable*, _tmp4_, _tmp4__size + 1);
		}
		_tmp7_ = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, (GDestroyNotify) g_variant_unref);
		g_variant_iter_init (&_tmp8_, _tmp6_);
		while (g_variant_iter_loop (&_tmp8_, "{?*}", &_tmp9_, &_tmp10_)) {
			g_hash_table_insert (_tmp7_, g_variant_dup_string (_tmp9_, NULL), g_variant_get_variant (_tmp10_));
		}
		_tmp4_[_tmp4__length++] = _tmp7_;
		g_variant_unref (_tmp6_);
	}
	_result_length1 = _tmp4__length1;
	_tmp4_[_tmp4__length] = NULL;
	_result = _tmp4_;
	g_variant_unref (_tmp3_);
	*result_length1 = _result_length1;
	g_object_unref (_reply_message);
	return _result;
}

static void
rygel_external_media_container_proxy_proxy_list_containers_async (RygelExternalMediaContainerProxy* self,
                                                                  guint offset,
                                                                  guint max_count,
                                                                  gchar** filter,
                                                                  gint filter_length1,
                                                                  GAsyncReadyCallback _callback_,
                                                                  gpointer _user_data_)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	gchar** _tmp11_;
	GVariantBuilder _tmp12_;
	gint _tmp13_;
	G_IO_ERROR;
	G_DBUS_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.gnome.UPnP.MediaContainer2", "ListContainers");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_uint32 (offset));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_uint32 (max_count));
	_tmp11_ = filter;
	g_variant_builder_init (&_tmp12_, G_VARIANT_TYPE ("as"));
	for (_tmp13_ = 0; _tmp13_ < filter_length1; _tmp13_++) {
		g_variant_builder_add_value (&_tmp12_, g_variant_new_string (*_tmp11_));
		_tmp11_++;
	}
	g_variant_builder_add_value (&_arguments_builder, g_variant_builder_end (&_tmp12_));
	_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 GHashTable**
rygel_external_media_container_proxy_proxy_list_containers_finish (RygelExternalMediaContainerProxy* self,
                                                                   GAsyncResult* _res_,
                                                                   gint* result_length1,
                                                                   GError** error)
{
	GAsyncResult *_inner_res;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	GHashTable** _result = NULL;
	gint _result_length1;
	GVariant* _tmp14_;
	GHashTable** _tmp15_;
	gint _tmp15__length;
	gint _tmp15__size;
	gint _tmp15__length1;
	GVariantIter _tmp16_;
	GVariant* _tmp17_;
	_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 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;
	_tmp14_ = g_variant_iter_next_value (&_reply_iter);
	_tmp15_ = g_new (GHashTable*, 5);
	_tmp15__length = 0;
	_tmp15__size = 4;
	_tmp15__length1 = 0;
	g_variant_iter_init (&_tmp16_, _tmp14_);
	for (; (_tmp17_ = g_variant_iter_next_value (&_tmp16_)) != NULL; _tmp15__length1++) {
		GHashTable* _tmp18_;
		GVariantIter _tmp19_;
		GVariant* _tmp20_;
		GVariant* _tmp21_;
		if (_tmp15__size == _tmp15__length) {
			_tmp15__size = 2 * _tmp15__size;
			_tmp15_ = g_renew (GHashTable*, _tmp15_, _tmp15__size + 1);
		}
		_tmp18_ = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, (GDestroyNotify) g_variant_unref);
		g_variant_iter_init (&_tmp19_, _tmp17_);
		while (g_variant_iter_loop (&_tmp19_, "{?*}", &_tmp20_, &_tmp21_)) {
			g_hash_table_insert (_tmp18_, g_variant_dup_string (_tmp20_, NULL), g_variant_get_variant (_tmp21_));
		}
		_tmp15_[_tmp15__length++] = _tmp18_;
		g_variant_unref (_tmp17_);
	}
	_result_length1 = _tmp15__length1;
	_tmp15_[_tmp15__length] = NULL;
	_result = _tmp15_;
	g_variant_unref (_tmp14_);
	*result_length1 = _result_length1;
	g_object_unref (_reply_message);
	return _result;
}

static void
rygel_external_media_container_proxy_proxy_list_items_async (RygelExternalMediaContainerProxy* self,
                                                             guint offset,
                                                             guint max_count,
                                                             gchar** filter,
                                                             gint filter_length1,
                                                             GAsyncReadyCallback _callback_,
                                                             gpointer _user_data_)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	gchar** _tmp22_;
	GVariantBuilder _tmp23_;
	gint _tmp24_;
	G_IO_ERROR;
	G_DBUS_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.gnome.UPnP.MediaContainer2", "ListItems");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_uint32 (offset));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_uint32 (max_count));
	_tmp22_ = filter;
	g_variant_builder_init (&_tmp23_, G_VARIANT_TYPE ("as"));
	for (_tmp24_ = 0; _tmp24_ < filter_length1; _tmp24_++) {
		g_variant_builder_add_value (&_tmp23_, g_variant_new_string (*_tmp22_));
		_tmp22_++;
	}
	g_variant_builder_add_value (&_arguments_builder, g_variant_builder_end (&_tmp23_));
	_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 GHashTable**
rygel_external_media_container_proxy_proxy_list_items_finish (RygelExternalMediaContainerProxy* self,
                                                              GAsyncResult* _res_,
                                                              gint* result_length1,
                                                              GError** error)
{
	GAsyncResult *_inner_res;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	GHashTable** _result = NULL;
	gint _result_length1;
	GVariant* _tmp25_;
	GHashTable** _tmp26_;
	gint _tmp26__length;
	gint _tmp26__size;
	gint _tmp26__length1;
	GVariantIter _tmp27_;
	GVariant* _tmp28_;
	_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 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;
	_tmp25_ = g_variant_iter_next_value (&_reply_iter);
	_tmp26_ = g_new (GHashTable*, 5);
	_tmp26__length = 0;
	_tmp26__size = 4;
	_tmp26__length1 = 0;
	g_variant_iter_init (&_tmp27_, _tmp25_);
	for (; (_tmp28_ = g_variant_iter_next_value (&_tmp27_)) != NULL; _tmp26__length1++) {
		GHashTable* _tmp29_;
		GVariantIter _tmp30_;
		GVariant* _tmp31_;
		GVariant* _tmp32_;
		if (_tmp26__size == _tmp26__length) {
			_tmp26__size = 2 * _tmp26__size;
			_tmp26_ = g_renew (GHashTable*, _tmp26_, _tmp26__size + 1);
		}
		_tmp29_ = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, (GDestroyNotify) g_variant_unref);
		g_variant_iter_init (&_tmp30_, _tmp28_);
		while (g_variant_iter_loop (&_tmp30_, "{?*}", &_tmp31_, &_tmp32_)) {
			g_hash_table_insert (_tmp29_, g_variant_dup_string (_tmp31_, NULL), g_variant_get_variant (_tmp32_));
		}
		_tmp26_[_tmp26__length++] = _tmp29_;
		g_variant_unref (_tmp28_);
	}
	_result_length1 = _tmp26__length1;
	_tmp26_[_tmp26__length] = NULL;
	_result = _tmp26_;
	g_variant_unref (_tmp25_);
	*result_length1 = _result_length1;
	g_object_unref (_reply_message);
	return _result;
}

static void
rygel_external_media_container_proxy_proxy_search_objects_async (RygelExternalMediaContainerProxy* self,
                                                                 const gchar* query,
                                                                 guint offset,
                                                                 guint max_count,
                                                                 gchar** filter,
                                                                 gint filter_length1,
                                                                 GAsyncReadyCallback _callback_,
                                                                 gpointer _user_data_)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	gchar** _tmp33_;
	GVariantBuilder _tmp34_;
	gint _tmp35_;
	G_IO_ERROR;
	G_DBUS_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.gnome.UPnP.MediaContainer2", "SearchObjects");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (query));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_uint32 (offset));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_uint32 (max_count));
	_tmp33_ = filter;
	g_variant_builder_init (&_tmp34_, G_VARIANT_TYPE ("as"));
	for (_tmp35_ = 0; _tmp35_ < filter_length1; _tmp35_++) {
		g_variant_builder_add_value (&_tmp34_, g_variant_new_string (*_tmp33_));
		_tmp33_++;
	}
	g_variant_builder_add_value (&_arguments_builder, g_variant_builder_end (&_tmp34_));
	_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 GHashTable**
rygel_external_media_container_proxy_proxy_search_objects_finish (RygelExternalMediaContainerProxy* self,
                                                                  GAsyncResult* _res_,
                                                                  gint* result_length1,
                                                                  GError** error)
{
	GAsyncResult *_inner_res;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	GHashTable** _result = NULL;
	gint _result_length1;
	GVariant* _tmp36_;
	GHashTable** _tmp37_;
	gint _tmp37__length;
	gint _tmp37__size;
	gint _tmp37__length1;
	GVariantIter _tmp38_;
	GVariant* _tmp39_;
	_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 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;
	_tmp36_ = g_variant_iter_next_value (&_reply_iter);
	_tmp37_ = g_new (GHashTable*, 5);
	_tmp37__length = 0;
	_tmp37__size = 4;
	_tmp37__length1 = 0;
	g_variant_iter_init (&_tmp38_, _tmp36_);
	for (; (_tmp39_ = g_variant_iter_next_value (&_tmp38_)) != NULL; _tmp37__length1++) {
		GHashTable* _tmp40_;
		GVariantIter _tmp41_;
		GVariant* _tmp42_;
		GVariant* _tmp43_;
		if (_tmp37__size == _tmp37__length) {
			_tmp37__size = 2 * _tmp37__size;
			_tmp37_ = g_renew (GHashTable*, _tmp37_, _tmp37__size + 1);
		}
		_tmp40_ = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, (GDestroyNotify) g_variant_unref);
		g_variant_iter_init (&_tmp41_, _tmp39_);
		while (g_variant_iter_loop (&_tmp41_, "{?*}", &_tmp42_, &_tmp43_)) {
			g_hash_table_insert (_tmp40_, g_variant_dup_string (_tmp42_, NULL), g_variant_get_variant (_tmp43_));
		}
		_tmp37_[_tmp37__length++] = _tmp40_;
		g_variant_unref (_tmp39_);
	}
	_result_length1 = _tmp37__length1;
	_tmp37_[_tmp37__length] = NULL;
	_result = _tmp37_;
	g_variant_unref (_tmp36_);
	*result_length1 = _result_length1;
	g_object_unref (_reply_message);
	return _result;
}

static guint
rygel_external_media_container_proxy_dbus_proxy_get_child_count (RygelExternalMediaContainerProxy* self)
{
	GVariant *_inner_reply;
	guint _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "ChildCount");
	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.gnome.UPnP.MediaContainer2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("ChildCount"));
		_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) {
			guint _tmp44_ = 0U;
			return _tmp44_;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_uint32 (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}

static void
rygel_external_media_container_proxy_dbus_proxy_set_child_count (RygelExternalMediaContainerProxy* self,
                                                                 guint 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.gnome.UPnP.MediaContainer2"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("ChildCount"));
	g_variant_builder_open (&_arguments_builder, G_VARIANT_TYPE_VARIANT);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_uint32 (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 guint
rygel_external_media_container_proxy_dbus_proxy_get_item_count (RygelExternalMediaContainerProxy* self)
{
	GVariant *_inner_reply;
	guint _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "ItemCount");
	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.gnome.UPnP.MediaContainer2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("ItemCount"));
		_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) {
			guint _tmp45_ = 0U;
			return _tmp45_;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_uint32 (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}

static void
rygel_external_media_container_proxy_dbus_proxy_set_item_count (RygelExternalMediaContainerProxy* self,
                                                                guint 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.gnome.UPnP.MediaContainer2"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("ItemCount"));
	g_variant_builder_open (&_arguments_builder, G_VARIANT_TYPE_VARIANT);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_uint32 (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 guint
rygel_external_media_container_proxy_dbus_proxy_get_container_count (RygelExternalMediaContainerProxy* self)
{
	GVariant *_inner_reply;
	guint _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "ContainerCount");
	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.gnome.UPnP.MediaContainer2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("ContainerCount"));
		_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) {
			guint _tmp46_ = 0U;
			return _tmp46_;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_uint32 (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}

static void
rygel_external_media_container_proxy_dbus_proxy_set_container_count (RygelExternalMediaContainerProxy* self,
                                                                     guint 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.gnome.UPnP.MediaContainer2"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("ContainerCount"));
	g_variant_builder_open (&_arguments_builder, G_VARIANT_TYPE_VARIANT);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_uint32 (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 gboolean
rygel_external_media_container_proxy_dbus_proxy_get_searchable (RygelExternalMediaContainerProxy* self)
{
	GVariant *_inner_reply;
	gboolean _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Searchable");
	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.gnome.UPnP.MediaContainer2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Searchable"));
		_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 _tmp47_ = FALSE;
			return _tmp47_;
		}
		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
rygel_external_media_container_proxy_dbus_proxy_set_searchable (RygelExternalMediaContainerProxy* 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.gnome.UPnP.MediaContainer2"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Searchable"));
	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 char*
rygel_external_media_container_proxy_dbus_proxy_get_icon (RygelExternalMediaContainerProxy* self)
{
	GVariant *_inner_reply;
	char* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Icon");
	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.gnome.UPnP.MediaContainer2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Icon"));
		_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
rygel_external_media_container_proxy_dbus_proxy_set_icon (RygelExternalMediaContainerProxy* self,
                                                          const char* 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.gnome.UPnP.MediaContainer2"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Icon"));
	g_variant_builder_open (&_arguments_builder, G_VARIANT_TYPE_VARIANT);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_object_path (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
rygel_external_media_container_proxy_proxy_rygel_external_media_container_proxy_interface_init (RygelExternalMediaContainerProxyIface* iface)
{
	iface->list_children = rygel_external_media_container_proxy_proxy_list_children_async;
	iface->list_children_finish = rygel_external_media_container_proxy_proxy_list_children_finish;
	iface->list_containers = rygel_external_media_container_proxy_proxy_list_containers_async;
	iface->list_containers_finish = rygel_external_media_container_proxy_proxy_list_containers_finish;
	iface->list_items = rygel_external_media_container_proxy_proxy_list_items_async;
	iface->list_items_finish = rygel_external_media_container_proxy_proxy_list_items_finish;
	iface->search_objects = rygel_external_media_container_proxy_proxy_search_objects_async;
	iface->search_objects_finish = rygel_external_media_container_proxy_proxy_search_objects_finish;
	iface->get_child_count = rygel_external_media_container_proxy_dbus_proxy_get_child_count;
	iface->set_child_count = rygel_external_media_container_proxy_dbus_proxy_set_child_count;
	iface->get_item_count = rygel_external_media_container_proxy_dbus_proxy_get_item_count;
	iface->set_item_count = rygel_external_media_container_proxy_dbus_proxy_set_item_count;
	iface->get_container_count = rygel_external_media_container_proxy_dbus_proxy_get_container_count;
	iface->set_container_count = rygel_external_media_container_proxy_dbus_proxy_set_container_count;
	iface->get_searchable = rygel_external_media_container_proxy_dbus_proxy_get_searchable;
	iface->set_searchable = rygel_external_media_container_proxy_dbus_proxy_set_searchable;
	iface->get_icon = rygel_external_media_container_proxy_dbus_proxy_get_icon;
	iface->set_icon = rygel_external_media_container_proxy_dbus_proxy_set_icon;
}

static void
_dbus_rygel_external_media_container_proxy_list_children (RygelExternalMediaContainerProxy* self,
                                                          GVariant* _parameters_,
                                                          GDBusMethodInvocation* invocation)
{
	GVariantIter _arguments_iter;
	RygelExternalMediaContainerProxyListChildrenReadyData* _ready_data;
	GVariant* _tmp48_;
	GVariant* _tmp49_;
	GVariant* _tmp50_;
	gchar** _tmp51_;
	gint _tmp51__length;
	gint _tmp51__size;
	gint _tmp51__length1;
	GVariantIter _tmp52_;
	GVariant* _tmp53_;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_ready_data = g_slice_new0 (RygelExternalMediaContainerProxyListChildrenReadyData);
	_ready_data->_invocation_ = invocation;
	_tmp48_ = g_variant_iter_next_value (&_arguments_iter);
	_ready_data->offset = g_variant_get_uint32 (_tmp48_);
	g_variant_unref (_tmp48_);
	_tmp49_ = g_variant_iter_next_value (&_arguments_iter);
	_ready_data->max_count = g_variant_get_uint32 (_tmp49_);
	g_variant_unref (_tmp49_);
	_tmp50_ = g_variant_iter_next_value (&_arguments_iter);
	_tmp51_ = g_new (gchar*, 5);
	_tmp51__length = 0;
	_tmp51__size = 4;
	_tmp51__length1 = 0;
	g_variant_iter_init (&_tmp52_, _tmp50_);
	for (; (_tmp53_ = g_variant_iter_next_value (&_tmp52_)) != NULL; _tmp51__length1++) {
		if (_tmp51__size == _tmp51__length) {
			_tmp51__size = 2 * _tmp51__size;
			_tmp51_ = g_renew (gchar*, _tmp51_, _tmp51__size + 1);
		}
		_tmp51_[_tmp51__length++] = g_variant_dup_string (_tmp53_, NULL);
		g_variant_unref (_tmp53_);
	}
	_ready_data->filter_length1 = _tmp51__length1;
	_tmp51_[_tmp51__length] = NULL;
	_ready_data->filter = _tmp51_;
	g_variant_unref (_tmp50_);
	rygel_external_media_container_proxy_list_children (self, _ready_data->offset, _ready_data->max_count, _ready_data->filter, _ready_data->filter_length1, (GAsyncReadyCallback) _dbus_rygel_external_media_container_proxy_list_children_ready, _ready_data);
	_error:
	;
}

static void
_dbus_rygel_external_media_container_proxy_list_children_ready (GObject * source_object,
                                                                GAsyncResult * _res_,
                                                                gpointer _user_data_)
{
	RygelExternalMediaContainerProxyListChildrenReadyData* _ready_data;
	GDBusMethodInvocation* invocation;
	GError* error = NULL;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	GHashTable** result;
	gint result_length1 = 0;
	GHashTable** _tmp54_;
	GVariantBuilder _tmp55_;
	gint _tmp56_;
	_ready_data = _user_data_;
	invocation = _ready_data->_invocation_;
	result = rygel_external_media_container_proxy_list_children_finish ((RygelExternalMediaContainerProxy*) source_object, _res_, &result_length1, &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);
	_tmp54_ = result;
	g_variant_builder_init (&_tmp55_, G_VARIANT_TYPE ("aa{sv}"));
	for (_tmp56_ = 0; _tmp56_ < result_length1; _tmp56_++) {
		GVariantBuilder _tmp57_;
		GHashTableIter _tmp58_;
		gpointer _tmp59_;
		gpointer _tmp60_;
		g_hash_table_iter_init (&_tmp58_, *_tmp54_);
		g_variant_builder_init (&_tmp57_, G_VARIANT_TYPE ("a{sv}"));
		while (g_hash_table_iter_next (&_tmp58_, &_tmp59_, &_tmp60_)) {
			gchar* _key;
			GVariant* _value;
			_key = (gchar*) _tmp59_;
			_value = (GVariant*) _tmp60_;
			g_variant_builder_add (&_tmp57_, "{?*}", g_variant_new_string (_key), g_variant_new_variant (_value));
		}
		g_variant_builder_add_value (&_tmp55_, g_variant_builder_end (&_tmp57_));
		_tmp54_++;
	}
	g_variant_builder_add_value (&_reply_builder, g_variant_builder_end (&_tmp55_));
	result = (_vala_array_free (result, result_length1, (GDestroyNotify) g_hash_table_unref), 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);
	_error:
	_ready_data->filter = (_vala_array_free (_ready_data->filter, _ready_data->filter_length1, (GDestroyNotify) g_free), NULL);
	g_slice_free (RygelExternalMediaContainerProxyListChildrenReadyData, _ready_data);
}

static void
_dbus_rygel_external_media_container_proxy_list_containers (RygelExternalMediaContainerProxy* self,
                                                            GVariant* _parameters_,
                                                            GDBusMethodInvocation* invocation)
{
	GVariantIter _arguments_iter;
	RygelExternalMediaContainerProxyListContainersReadyData* _ready_data;
	GVariant* _tmp61_;
	GVariant* _tmp62_;
	GVariant* _tmp63_;
	gchar** _tmp64_;
	gint _tmp64__length;
	gint _tmp64__size;
	gint _tmp64__length1;
	GVariantIter _tmp65_;
	GVariant* _tmp66_;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_ready_data = g_slice_new0 (RygelExternalMediaContainerProxyListContainersReadyData);
	_ready_data->_invocation_ = invocation;
	_tmp61_ = g_variant_iter_next_value (&_arguments_iter);
	_ready_data->offset = g_variant_get_uint32 (_tmp61_);
	g_variant_unref (_tmp61_);
	_tmp62_ = g_variant_iter_next_value (&_arguments_iter);
	_ready_data->max_count = g_variant_get_uint32 (_tmp62_);
	g_variant_unref (_tmp62_);
	_tmp63_ = g_variant_iter_next_value (&_arguments_iter);
	_tmp64_ = g_new (gchar*, 5);
	_tmp64__length = 0;
	_tmp64__size = 4;
	_tmp64__length1 = 0;
	g_variant_iter_init (&_tmp65_, _tmp63_);
	for (; (_tmp66_ = g_variant_iter_next_value (&_tmp65_)) != NULL; _tmp64__length1++) {
		if (_tmp64__size == _tmp64__length) {
			_tmp64__size = 2 * _tmp64__size;
			_tmp64_ = g_renew (gchar*, _tmp64_, _tmp64__size + 1);
		}
		_tmp64_[_tmp64__length++] = g_variant_dup_string (_tmp66_, NULL);
		g_variant_unref (_tmp66_);
	}
	_ready_data->filter_length1 = _tmp64__length1;
	_tmp64_[_tmp64__length] = NULL;
	_ready_data->filter = _tmp64_;
	g_variant_unref (_tmp63_);
	rygel_external_media_container_proxy_list_containers (self, _ready_data->offset, _ready_data->max_count, _ready_data->filter, _ready_data->filter_length1, (GAsyncReadyCallback) _dbus_rygel_external_media_container_proxy_list_containers_ready, _ready_data);
	_error:
	;
}

static void
_dbus_rygel_external_media_container_proxy_list_containers_ready (GObject * source_object,
                                                                  GAsyncResult * _res_,
                                                                  gpointer _user_data_)
{
	RygelExternalMediaContainerProxyListContainersReadyData* _ready_data;
	GDBusMethodInvocation* invocation;
	GError* error = NULL;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	GHashTable** result;
	gint result_length1 = 0;
	GHashTable** _tmp67_;
	GVariantBuilder _tmp68_;
	gint _tmp69_;
	_ready_data = _user_data_;
	invocation = _ready_data->_invocation_;
	result = rygel_external_media_container_proxy_list_containers_finish ((RygelExternalMediaContainerProxy*) source_object, _res_, &result_length1, &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);
	_tmp67_ = result;
	g_variant_builder_init (&_tmp68_, G_VARIANT_TYPE ("aa{sv}"));
	for (_tmp69_ = 0; _tmp69_ < result_length1; _tmp69_++) {
		GVariantBuilder _tmp70_;
		GHashTableIter _tmp71_;
		gpointer _tmp72_;
		gpointer _tmp73_;
		g_hash_table_iter_init (&_tmp71_, *_tmp67_);
		g_variant_builder_init (&_tmp70_, G_VARIANT_TYPE ("a{sv}"));
		while (g_hash_table_iter_next (&_tmp71_, &_tmp72_, &_tmp73_)) {
			gchar* _key;
			GVariant* _value;
			_key = (gchar*) _tmp72_;
			_value = (GVariant*) _tmp73_;
			g_variant_builder_add (&_tmp70_, "{?*}", g_variant_new_string (_key), g_variant_new_variant (_value));
		}
		g_variant_builder_add_value (&_tmp68_, g_variant_builder_end (&_tmp70_));
		_tmp67_++;
	}
	g_variant_builder_add_value (&_reply_builder, g_variant_builder_end (&_tmp68_));
	result = (_vala_array_free (result, result_length1, (GDestroyNotify) g_hash_table_unref), 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);
	_error:
	_ready_data->filter = (_vala_array_free (_ready_data->filter, _ready_data->filter_length1, (GDestroyNotify) g_free), NULL);
	g_slice_free (RygelExternalMediaContainerProxyListContainersReadyData, _ready_data);
}

static void
_dbus_rygel_external_media_container_proxy_list_items (RygelExternalMediaContainerProxy* self,
                                                       GVariant* _parameters_,
                                                       GDBusMethodInvocation* invocation)
{
	GVariantIter _arguments_iter;
	RygelExternalMediaContainerProxyListItemsReadyData* _ready_data;
	GVariant* _tmp74_;
	GVariant* _tmp75_;
	GVariant* _tmp76_;
	gchar** _tmp77_;
	gint _tmp77__length;
	gint _tmp77__size;
	gint _tmp77__length1;
	GVariantIter _tmp78_;
	GVariant* _tmp79_;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_ready_data = g_slice_new0 (RygelExternalMediaContainerProxyListItemsReadyData);
	_ready_data->_invocation_ = invocation;
	_tmp74_ = g_variant_iter_next_value (&_arguments_iter);
	_ready_data->offset = g_variant_get_uint32 (_tmp74_);
	g_variant_unref (_tmp74_);
	_tmp75_ = g_variant_iter_next_value (&_arguments_iter);
	_ready_data->max_count = g_variant_get_uint32 (_tmp75_);
	g_variant_unref (_tmp75_);
	_tmp76_ = g_variant_iter_next_value (&_arguments_iter);
	_tmp77_ = g_new (gchar*, 5);
	_tmp77__length = 0;
	_tmp77__size = 4;
	_tmp77__length1 = 0;
	g_variant_iter_init (&_tmp78_, _tmp76_);
	for (; (_tmp79_ = g_variant_iter_next_value (&_tmp78_)) != NULL; _tmp77__length1++) {
		if (_tmp77__size == _tmp77__length) {
			_tmp77__size = 2 * _tmp77__size;
			_tmp77_ = g_renew (gchar*, _tmp77_, _tmp77__size + 1);
		}
		_tmp77_[_tmp77__length++] = g_variant_dup_string (_tmp79_, NULL);
		g_variant_unref (_tmp79_);
	}
	_ready_data->filter_length1 = _tmp77__length1;
	_tmp77_[_tmp77__length] = NULL;
	_ready_data->filter = _tmp77_;
	g_variant_unref (_tmp76_);
	rygel_external_media_container_proxy_list_items (self, _ready_data->offset, _ready_data->max_count, _ready_data->filter, _ready_data->filter_length1, (GAsyncReadyCallback) _dbus_rygel_external_media_container_proxy_list_items_ready, _ready_data);
	_error:
	;
}

static void
_dbus_rygel_external_media_container_proxy_list_items_ready (GObject * source_object,
                                                             GAsyncResult * _res_,
                                                             gpointer _user_data_)
{
	RygelExternalMediaContainerProxyListItemsReadyData* _ready_data;
	GDBusMethodInvocation* invocation;
	GError* error = NULL;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	GHashTable** result;
	gint result_length1 = 0;
	GHashTable** _tmp80_;
	GVariantBuilder _tmp81_;
	gint _tmp82_;
	_ready_data = _user_data_;
	invocation = _ready_data->_invocation_;
	result = rygel_external_media_container_proxy_list_items_finish ((RygelExternalMediaContainerProxy*) source_object, _res_, &result_length1, &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);
	_tmp80_ = result;
	g_variant_builder_init (&_tmp81_, G_VARIANT_TYPE ("aa{sv}"));
	for (_tmp82_ = 0; _tmp82_ < result_length1; _tmp82_++) {
		GVariantBuilder _tmp83_;
		GHashTableIter _tmp84_;
		gpointer _tmp85_;
		gpointer _tmp86_;
		g_hash_table_iter_init (&_tmp84_, *_tmp80_);
		g_variant_builder_init (&_tmp83_, G_VARIANT_TYPE ("a{sv}"));
		while (g_hash_table_iter_next (&_tmp84_, &_tmp85_, &_tmp86_)) {
			gchar* _key;
			GVariant* _value;
			_key = (gchar*) _tmp85_;
			_value = (GVariant*) _tmp86_;
			g_variant_builder_add (&_tmp83_, "{?*}", g_variant_new_string (_key), g_variant_new_variant (_value));
		}
		g_variant_builder_add_value (&_tmp81_, g_variant_builder_end (&_tmp83_));
		_tmp80_++;
	}
	g_variant_builder_add_value (&_reply_builder, g_variant_builder_end (&_tmp81_));
	result = (_vala_array_free (result, result_length1, (GDestroyNotify) g_hash_table_unref), 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);
	_error:
	_ready_data->filter = (_vala_array_free (_ready_data->filter, _ready_data->filter_length1, (GDestroyNotify) g_free), NULL);
	g_slice_free (RygelExternalMediaContainerProxyListItemsReadyData, _ready_data);
}

static void
_dbus_rygel_external_media_container_proxy_search_objects (RygelExternalMediaContainerProxy* self,
                                                           GVariant* _parameters_,
                                                           GDBusMethodInvocation* invocation)
{
	GVariantIter _arguments_iter;
	RygelExternalMediaContainerProxySearchObjectsReadyData* _ready_data;
	GVariant* _tmp87_;
	GVariant* _tmp88_;
	GVariant* _tmp89_;
	GVariant* _tmp90_;
	gchar** _tmp91_;
	gint _tmp91__length;
	gint _tmp91__size;
	gint _tmp91__length1;
	GVariantIter _tmp92_;
	GVariant* _tmp93_;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_ready_data = g_slice_new0 (RygelExternalMediaContainerProxySearchObjectsReadyData);
	_ready_data->_invocation_ = invocation;
	_tmp87_ = g_variant_iter_next_value (&_arguments_iter);
	_ready_data->query = g_variant_dup_string (_tmp87_, NULL);
	g_variant_unref (_tmp87_);
	_tmp88_ = g_variant_iter_next_value (&_arguments_iter);
	_ready_data->offset = g_variant_get_uint32 (_tmp88_);
	g_variant_unref (_tmp88_);
	_tmp89_ = g_variant_iter_next_value (&_arguments_iter);
	_ready_data->max_count = g_variant_get_uint32 (_tmp89_);
	g_variant_unref (_tmp89_);
	_tmp90_ = g_variant_iter_next_value (&_arguments_iter);
	_tmp91_ = g_new (gchar*, 5);
	_tmp91__length = 0;
	_tmp91__size = 4;
	_tmp91__length1 = 0;
	g_variant_iter_init (&_tmp92_, _tmp90_);
	for (; (_tmp93_ = g_variant_iter_next_value (&_tmp92_)) != NULL; _tmp91__length1++) {
		if (_tmp91__size == _tmp91__length) {
			_tmp91__size = 2 * _tmp91__size;
			_tmp91_ = g_renew (gchar*, _tmp91_, _tmp91__size + 1);
		}
		_tmp91_[_tmp91__length++] = g_variant_dup_string (_tmp93_, NULL);
		g_variant_unref (_tmp93_);
	}
	_ready_data->filter_length1 = _tmp91__length1;
	_tmp91_[_tmp91__length] = NULL;
	_ready_data->filter = _tmp91_;
	g_variant_unref (_tmp90_);
	rygel_external_media_container_proxy_search_objects (self, _ready_data->query, _ready_data->offset, _ready_data->max_count, _ready_data->filter, _ready_data->filter_length1, (GAsyncReadyCallback) _dbus_rygel_external_media_container_proxy_search_objects_ready, _ready_data);
	_error:
	;
}

static void
_dbus_rygel_external_media_container_proxy_search_objects_ready (GObject * source_object,
                                                                 GAsyncResult * _res_,
                                                                 gpointer _user_data_)
{
	RygelExternalMediaContainerProxySearchObjectsReadyData* _ready_data;
	GDBusMethodInvocation* invocation;
	GError* error = NULL;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	GHashTable** result;
	gint result_length1 = 0;
	GHashTable** _tmp94_;
	GVariantBuilder _tmp95_;
	gint _tmp96_;
	_ready_data = _user_data_;
	invocation = _ready_data->_invocation_;
	result = rygel_external_media_container_proxy_search_objects_finish ((RygelExternalMediaContainerProxy*) source_object, _res_, &result_length1, &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);
	_tmp94_ = result;
	g_variant_builder_init (&_tmp95_, G_VARIANT_TYPE ("aa{sv}"));
	for (_tmp96_ = 0; _tmp96_ < result_length1; _tmp96_++) {
		GVariantBuilder _tmp97_;
		GHashTableIter _tmp98_;
		gpointer _tmp99_;
		gpointer _tmp100_;
		g_hash_table_iter_init (&_tmp98_, *_tmp94_);
		g_variant_builder_init (&_tmp97_, G_VARIANT_TYPE ("a{sv}"));
		while (g_hash_table_iter_next (&_tmp98_, &_tmp99_, &_tmp100_)) {
			gchar* _key;
			GVariant* _value;
			_key = (gchar*) _tmp99_;
			_value = (GVariant*) _tmp100_;
			g_variant_builder_add (&_tmp97_, "{?*}", g_variant_new_string (_key), g_variant_new_variant (_value));
		}
		g_variant_builder_add_value (&_tmp95_, g_variant_builder_end (&_tmp97_));
		_tmp94_++;
	}
	g_variant_builder_add_value (&_reply_builder, g_variant_builder_end (&_tmp95_));
	result = (_vala_array_free (result, result_length1, (GDestroyNotify) g_hash_table_unref), 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);
	_error:
	_g_free0 (_ready_data->query);
	_ready_data->filter = (_vala_array_free (_ready_data->filter, _ready_data->filter_length1, (GDestroyNotify) g_free), NULL);
	g_slice_free (RygelExternalMediaContainerProxySearchObjectsReadyData, _ready_data);
}

static void
rygel_external_media_container_proxy_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, "ListChildren") == 0) {
		_dbus_rygel_external_media_container_proxy_list_children (object, parameters, invocation);
	} else if (strcmp (method_name, "ListContainers") == 0) {
		_dbus_rygel_external_media_container_proxy_list_containers (object, parameters, invocation);
	} else if (strcmp (method_name, "ListItems") == 0) {
		_dbus_rygel_external_media_container_proxy_list_items (object, parameters, invocation);
	} else if (strcmp (method_name, "SearchObjects") == 0) {
		_dbus_rygel_external_media_container_proxy_search_objects (object, parameters, invocation);
	} else {
		g_object_unref (invocation);
	}
}

static GVariant*
_dbus_rygel_external_media_container_proxy_get_child_count (RygelExternalMediaContainerProxy* self)
{
	guint result;
	GVariant* _reply;
	result = rygel_external_media_container_proxy_get_child_count (self);
	_reply = g_variant_new_uint32 (result);
	return _reply;
}

static GVariant*
_dbus_rygel_external_media_container_proxy_get_item_count (RygelExternalMediaContainerProxy* self)
{
	guint result;
	GVariant* _reply;
	result = rygel_external_media_container_proxy_get_item_count (self);
	_reply = g_variant_new_uint32 (result);
	return _reply;
}

static GVariant*
_dbus_rygel_external_media_container_proxy_get_container_count (RygelExternalMediaContainerProxy* self)
{
	guint result;
	GVariant* _reply;
	result = rygel_external_media_container_proxy_get_container_count (self);
	_reply = g_variant_new_uint32 (result);
	return _reply;
}

static GVariant*
_dbus_rygel_external_media_container_proxy_get_searchable (RygelExternalMediaContainerProxy* self)
{
	gboolean result;
	GVariant* _reply;
	result = rygel_external_media_container_proxy_get_searchable (self);
	_reply = g_variant_new_boolean (result);
	return _reply;
}

static GVariant*
_dbus_rygel_external_media_container_proxy_get_icon (RygelExternalMediaContainerProxy* self)
{
	char* result;
	GVariant* _reply;
	result = rygel_external_media_container_proxy_get_icon (self);
	_reply = g_variant_new_object_path (result);
	_g_free0 (result);
	return _reply;
}

static GVariant*
rygel_external_media_container_proxy_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, "ChildCount") == 0) {
		return _dbus_rygel_external_media_container_proxy_get_child_count (object);
	} else if (strcmp (property_name, "ItemCount") == 0) {
		return _dbus_rygel_external_media_container_proxy_get_item_count (object);
	} else if (strcmp (property_name, "ContainerCount") == 0) {
		return _dbus_rygel_external_media_container_proxy_get_container_count (object);
	} else if (strcmp (property_name, "Searchable") == 0) {
		return _dbus_rygel_external_media_container_proxy_get_searchable (object);
	} else if (strcmp (property_name, "Icon") == 0) {
		return _dbus_rygel_external_media_container_proxy_get_icon (object);
	}
	return NULL;
}

static void
_dbus_rygel_external_media_container_proxy_set_child_count (RygelExternalMediaContainerProxy* self,
                                                            GVariant* _value)
{
	guint value = 0U;
	value = g_variant_get_uint32 (_value);
	rygel_external_media_container_proxy_set_child_count (self, value);
}

static void
_dbus_rygel_external_media_container_proxy_set_item_count (RygelExternalMediaContainerProxy* self,
                                                           GVariant* _value)
{
	guint value = 0U;
	value = g_variant_get_uint32 (_value);
	rygel_external_media_container_proxy_set_item_count (self, value);
}

static void
_dbus_rygel_external_media_container_proxy_set_container_count (RygelExternalMediaContainerProxy* self,
                                                                GVariant* _value)
{
	guint value = 0U;
	value = g_variant_get_uint32 (_value);
	rygel_external_media_container_proxy_set_container_count (self, value);
}

static void
_dbus_rygel_external_media_container_proxy_set_searchable (RygelExternalMediaContainerProxy* self,
                                                           GVariant* _value)
{
	gboolean value = FALSE;
	value = g_variant_get_boolean (_value);
	rygel_external_media_container_proxy_set_searchable (self, value);
}

static void
_dbus_rygel_external_media_container_proxy_set_icon (RygelExternalMediaContainerProxy* self,
                                                     GVariant* _value)
{
	char* value = NULL;
	value = g_variant_dup_string (_value, NULL);
	rygel_external_media_container_proxy_set_icon (self, value);
	_g_free0 (value);
}

static gboolean
rygel_external_media_container_proxy_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, "ChildCount") == 0) {
		_dbus_rygel_external_media_container_proxy_set_child_count (object, value);
		return TRUE;
	} else if (strcmp (property_name, "ItemCount") == 0) {
		_dbus_rygel_external_media_container_proxy_set_item_count (object, value);
		return TRUE;
	} else if (strcmp (property_name, "ContainerCount") == 0) {
		_dbus_rygel_external_media_container_proxy_set_container_count (object, value);
		return TRUE;
	} else if (strcmp (property_name, "Searchable") == 0) {
		_dbus_rygel_external_media_container_proxy_set_searchable (object, value);
		return TRUE;
	} else if (strcmp (property_name, "Icon") == 0) {
		_dbus_rygel_external_media_container_proxy_set_icon (object, value);
		return TRUE;
	}
	return FALSE;
}

static void
_dbus_rygel_external_media_container_proxy_updated (GObject* _sender,
                                                    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);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_connection_emit_signal (_connection, NULL, _path, "org.gnome.UPnP.MediaContainer2", "Updated", _arguments, NULL);
}

guint
rygel_external_media_container_proxy_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 *) (&_rygel_external_media_container_proxy_dbus_interface_info), &_rygel_external_media_container_proxy_dbus_interface_vtable, data, _rygel_external_media_container_proxy_unregister_object, error);
	if (!result) {
		return 0;
	}
	g_signal_connect (object, "updated", (GCallback) _dbus_rygel_external_media_container_proxy_updated, data);
	return result;
}

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

gchar**
rygel_external_media_item_proxy_get_urls (RygelExternalMediaItemProxy* self,
                                          gint* result_length1)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_val_if_fail (self != NULL, NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->get_urls) {
		return _iface_->get_urls (self, result_length1);
	}
	return NULL;
}

void
rygel_external_media_item_proxy_set_urls (RygelExternalMediaItemProxy* self,
                                          gchar** value,
                                          gint value_length1)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->set_urls) {
		_iface_->set_urls (self, value, value_length1);
	}
}

gchar*
rygel_external_media_item_proxy_get_mime_type (RygelExternalMediaItemProxy* self)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_val_if_fail (self != NULL, NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->get_mime_type) {
		return _iface_->get_mime_type (self);
	}
	return NULL;
}

void
rygel_external_media_item_proxy_set_mime_type (RygelExternalMediaItemProxy* self,
                                               const gchar* value)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->set_mime_type) {
		_iface_->set_mime_type (self, value);
	}
}

gint
rygel_external_media_item_proxy_get_size (RygelExternalMediaItemProxy* self)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_val_if_fail (self != NULL, 0);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->get_size) {
		return _iface_->get_size (self);
	}
	return -1;
}

void
rygel_external_media_item_proxy_set_size (RygelExternalMediaItemProxy* self,
                                          gint value)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->set_size) {
		_iface_->set_size (self, value);
	}
}

gchar*
rygel_external_media_item_proxy_get_artist (RygelExternalMediaItemProxy* self)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_val_if_fail (self != NULL, NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->get_artist) {
		return _iface_->get_artist (self);
	}
	return NULL;
}

void
rygel_external_media_item_proxy_set_artist (RygelExternalMediaItemProxy* self,
                                            const gchar* value)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->set_artist) {
		_iface_->set_artist (self, value);
	}
}

gchar*
rygel_external_media_item_proxy_get_album (RygelExternalMediaItemProxy* self)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_val_if_fail (self != NULL, NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->get_album) {
		return _iface_->get_album (self);
	}
	return NULL;
}

void
rygel_external_media_item_proxy_set_album (RygelExternalMediaItemProxy* self,
                                           const gchar* value)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->set_album) {
		_iface_->set_album (self, value);
	}
}

gchar*
rygel_external_media_item_proxy_get_date (RygelExternalMediaItemProxy* self)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_val_if_fail (self != NULL, NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->get_date) {
		return _iface_->get_date (self);
	}
	return NULL;
}

void
rygel_external_media_item_proxy_set_date (RygelExternalMediaItemProxy* self,
                                          const gchar* value)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->set_date) {
		_iface_->set_date (self, value);
	}
}

gchar*
rygel_external_media_item_proxy_get_genre (RygelExternalMediaItemProxy* self)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_val_if_fail (self != NULL, NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->get_genre) {
		return _iface_->get_genre (self);
	}
	return NULL;
}

void
rygel_external_media_item_proxy_set_genre (RygelExternalMediaItemProxy* self,
                                           const gchar* value)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->set_genre) {
		_iface_->set_genre (self, value);
	}
}

gchar*
rygel_external_media_item_proxy_get_dlna_profile (RygelExternalMediaItemProxy* self)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_val_if_fail (self != NULL, NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->get_dlna_profile) {
		return _iface_->get_dlna_profile (self);
	}
	return NULL;
}

void
rygel_external_media_item_proxy_set_dlna_profile (RygelExternalMediaItemProxy* self,
                                                  const gchar* value)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->set_dlna_profile) {
		_iface_->set_dlna_profile (self, value);
	}
}

gint
rygel_external_media_item_proxy_get_duration (RygelExternalMediaItemProxy* self)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_val_if_fail (self != NULL, 0);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->get_duration) {
		return _iface_->get_duration (self);
	}
	return -1;
}

void
rygel_external_media_item_proxy_set_duration (RygelExternalMediaItemProxy* self,
                                              gint value)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->set_duration) {
		_iface_->set_duration (self, value);
	}
}

gint
rygel_external_media_item_proxy_get_bitrate (RygelExternalMediaItemProxy* self)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_val_if_fail (self != NULL, 0);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->get_bitrate) {
		return _iface_->get_bitrate (self);
	}
	return -1;
}

void
rygel_external_media_item_proxy_set_bitrate (RygelExternalMediaItemProxy* self,
                                             gint value)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->set_bitrate) {
		_iface_->set_bitrate (self, value);
	}
}

gint
rygel_external_media_item_proxy_get_sample_rate (RygelExternalMediaItemProxy* self)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_val_if_fail (self != NULL, 0);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->get_sample_rate) {
		return _iface_->get_sample_rate (self);
	}
	return -1;
}

void
rygel_external_media_item_proxy_set_sample_rate (RygelExternalMediaItemProxy* self,
                                                 gint value)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->set_sample_rate) {
		_iface_->set_sample_rate (self, value);
	}
}

gint
rygel_external_media_item_proxy_get_bits_per_sample (RygelExternalMediaItemProxy* self)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_val_if_fail (self != NULL, 0);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->get_bits_per_sample) {
		return _iface_->get_bits_per_sample (self);
	}
	return -1;
}

void
rygel_external_media_item_proxy_set_bits_per_sample (RygelExternalMediaItemProxy* self,
                                                     gint value)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->set_bits_per_sample) {
		_iface_->set_bits_per_sample (self, value);
	}
}

gint
rygel_external_media_item_proxy_get_width (RygelExternalMediaItemProxy* self)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_val_if_fail (self != NULL, 0);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->get_width) {
		return _iface_->get_width (self);
	}
	return -1;
}

void
rygel_external_media_item_proxy_set_width (RygelExternalMediaItemProxy* self,
                                           gint value)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->set_width) {
		_iface_->set_width (self, value);
	}
}

gint
rygel_external_media_item_proxy_get_height (RygelExternalMediaItemProxy* self)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_val_if_fail (self != NULL, 0);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->get_height) {
		return _iface_->get_height (self);
	}
	return -1;
}

void
rygel_external_media_item_proxy_set_height (RygelExternalMediaItemProxy* self,
                                            gint value)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->set_height) {
		_iface_->set_height (self, value);
	}
}

gint
rygel_external_media_item_proxy_get_color_depth (RygelExternalMediaItemProxy* self)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_val_if_fail (self != NULL, 0);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->get_color_depth) {
		return _iface_->get_color_depth (self);
	}
	return -1;
}

void
rygel_external_media_item_proxy_set_color_depth (RygelExternalMediaItemProxy* self,
                                                 gint value)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->set_color_depth) {
		_iface_->set_color_depth (self, value);
	}
}

char*
rygel_external_media_item_proxy_get_thumbnail (RygelExternalMediaItemProxy* self)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_val_if_fail (self != NULL, NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->get_thumbnail) {
		return _iface_->get_thumbnail (self);
	}
	return NULL;
}

void
rygel_external_media_item_proxy_set_thumbnail (RygelExternalMediaItemProxy* self,
                                               const char* value)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->set_thumbnail) {
		_iface_->set_thumbnail (self, value);
	}
}

char*
rygel_external_media_item_proxy_get_album_art (RygelExternalMediaItemProxy* self)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_val_if_fail (self != NULL, NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->get_album_art) {
		return _iface_->get_album_art (self);
	}
	return NULL;
}

void
rygel_external_media_item_proxy_set_album_art (RygelExternalMediaItemProxy* self,
                                               const char* value)
{
	RygelExternalMediaItemProxyIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE (self);
	if (_iface_->set_album_art) {
		_iface_->set_album_art (self, value);
	}
}

static void
rygel_external_media_item_proxy_default_init (RygelExternalMediaItemProxyIface * iface,
                                              gpointer iface_data)
{
}

static GType
rygel_external_media_item_proxy_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (RygelExternalMediaItemProxyIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) rygel_external_media_item_proxy_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
	GType rygel_external_media_item_proxy_type_id;
	rygel_external_media_item_proxy_type_id = g_type_register_static (G_TYPE_INTERFACE, "RygelExternalMediaItemProxy", &g_define_type_info, 0);
	g_type_interface_add_prerequisite (rygel_external_media_item_proxy_type_id, g_dbus_proxy_get_type ());
	g_type_interface_add_prerequisite (rygel_external_media_item_proxy_type_id, RYGEL_EXTERNAL_TYPE_MEDIA_OBJECT_PROXY);
	g_type_set_qdata (rygel_external_media_item_proxy_type_id, g_quark_from_static_string ("vala-dbus-proxy-type"), (void*) rygel_external_media_item_proxy_proxy_get_type);
	g_type_set_qdata (rygel_external_media_item_proxy_type_id, g_quark_from_static_string ("vala-dbus-interface-name"), "org.gnome.UPnP.MediaItem2");
	g_type_set_qdata (rygel_external_media_item_proxy_type_id, g_quark_from_static_string ("vala-dbus-interface-info"), (void*) (&_rygel_external_media_item_proxy_dbus_interface_info));
	g_type_set_qdata (rygel_external_media_item_proxy_type_id, g_quark_from_static_string ("vala-dbus-register-object"), (void*) rygel_external_media_item_proxy_register_object);
	return rygel_external_media_item_proxy_type_id;
}

GType
rygel_external_media_item_proxy_get_type (void)
{
	static volatile gsize rygel_external_media_item_proxy_type_id__once = 0;
	if (g_once_init_enter (&rygel_external_media_item_proxy_type_id__once)) {
		GType rygel_external_media_item_proxy_type_id;
		rygel_external_media_item_proxy_type_id = rygel_external_media_item_proxy_get_type_once ();
		g_once_init_leave (&rygel_external_media_item_proxy_type_id__once, rygel_external_media_item_proxy_type_id);
	}
	return rygel_external_media_item_proxy_type_id__once;
}

G_DEFINE_TYPE_EXTENDED (RygelExternalMediaItemProxyProxy, rygel_external_media_item_proxy_proxy, G_TYPE_DBUS_PROXY, 0, G_IMPLEMENT_INTERFACE (RYGEL_EXTERNAL_TYPE_MEDIA_OBJECT_PROXY, rygel_external_media_item_proxy_proxy_rygel_external_media_object_proxy_interface_init) G_IMPLEMENT_INTERFACE (RYGEL_EXTERNAL_TYPE_MEDIA_ITEM_PROXY, rygel_external_media_item_proxy_proxy_rygel_external_media_item_proxy_interface_init) )
static void
rygel_external_media_item_proxy_proxy_class_init (RygelExternalMediaItemProxyProxyClass* klass)
{
	G_DBUS_PROXY_CLASS (klass)->g_signal = rygel_external_media_item_proxy_proxy_g_signal;
}

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

static void
rygel_external_media_item_proxy_proxy_init (RygelExternalMediaItemProxyProxy* self)
{
	g_dbus_proxy_set_interface_info (G_DBUS_PROXY (self), (GDBusInterfaceInfo *) (&_rygel_external_media_item_proxy_dbus_interface_info));
}

static char*
rygel_external_media_item_proxy_dbus_proxy_get_parent (RygelExternalMediaObjectProxy* self)
{
	GVariant *_inner_reply;
	char* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Parent");
	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.gnome.UPnP.MediaObject2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Parent"));
		_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
rygel_external_media_item_proxy_dbus_proxy_set_parent (RygelExternalMediaObjectProxy* self,
                                                       const char* 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.gnome.UPnP.MediaObject2"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Parent"));
	g_variant_builder_open (&_arguments_builder, G_VARIANT_TYPE_VARIANT);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_object_path (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*
rygel_external_media_item_proxy_dbus_proxy_get_display_name (RygelExternalMediaObjectProxy* self)
{
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "DisplayName");
	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.gnome.UPnP.MediaObject2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("DisplayName"));
		_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
rygel_external_media_item_proxy_dbus_proxy_set_display_name (RygelExternalMediaObjectProxy* 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.gnome.UPnP.MediaObject2"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("DisplayName"));
	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 gchar*
rygel_external_media_item_proxy_dbus_proxy_get_object_type (RygelExternalMediaObjectProxy* self)
{
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Type");
	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.gnome.UPnP.MediaObject2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Type"));
		_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
rygel_external_media_item_proxy_dbus_proxy_set_object_type (RygelExternalMediaObjectProxy* 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.gnome.UPnP.MediaObject2"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Type"));
	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
rygel_external_media_item_proxy_proxy_rygel_external_media_object_proxy_interface_init (RygelExternalMediaObjectProxyIface* iface)
{
	iface->get_parent = rygel_external_media_item_proxy_dbus_proxy_get_parent;
	iface->set_parent = rygel_external_media_item_proxy_dbus_proxy_set_parent;
	iface->get_display_name = rygel_external_media_item_proxy_dbus_proxy_get_display_name;
	iface->set_display_name = rygel_external_media_item_proxy_dbus_proxy_set_display_name;
	iface->get_object_type = rygel_external_media_item_proxy_dbus_proxy_get_object_type;
	iface->set_object_type = rygel_external_media_item_proxy_dbus_proxy_set_object_type;
}

static gchar**
rygel_external_media_item_proxy_dbus_proxy_get_urls (RygelExternalMediaItemProxy* self,
                                                     gint* result_length1)
{
	GVariant *_inner_reply;
	gchar** _result;
	gint _result_length1;
	gchar** _tmp101_;
	gint _tmp101__length;
	gint _tmp101__size;
	gint _tmp101__length1;
	GVariantIter _tmp102_;
	GVariant* _tmp103_;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "URLs");
	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.gnome.UPnP.MediaItem2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("URLs"));
		_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_length1 = 0;
	_tmp101_ = g_new (gchar*, 5);
	_tmp101__length = 0;
	_tmp101__size = 4;
	_tmp101__length1 = 0;
	g_variant_iter_init (&_tmp102_, _inner_reply);
	for (; (_tmp103_ = g_variant_iter_next_value (&_tmp102_)) != NULL; _tmp101__length1++) {
		if (_tmp101__size == _tmp101__length) {
			_tmp101__size = 2 * _tmp101__size;
			_tmp101_ = g_renew (gchar*, _tmp101_, _tmp101__size + 1);
		}
		_tmp101_[_tmp101__length++] = g_variant_dup_string (_tmp103_, NULL);
		g_variant_unref (_tmp103_);
	}
	_result_length1 = _tmp101__length1;
	_tmp101_[_tmp101__length] = NULL;
	_result = _tmp101_;
	*result_length1 = _result_length1;
	g_variant_unref (_inner_reply);
	return _result;
}

static void
rygel_external_media_item_proxy_dbus_proxy_set_urls (RygelExternalMediaItemProxy* self,
                                                     gchar** value,
                                                     gint value_length1)
{
	GVariant *_arguments;
	GVariant *_reply;
	GVariantBuilder _arguments_builder;
	gchar** _tmp104_;
	GVariantBuilder _tmp105_;
	gint _tmp106_;
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.gnome.UPnP.MediaItem2"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("URLs"));
	g_variant_builder_open (&_arguments_builder, G_VARIANT_TYPE_VARIANT);
	_tmp104_ = value;
	g_variant_builder_init (&_tmp105_, G_VARIANT_TYPE ("as"));
	for (_tmp106_ = 0; _tmp106_ < value_length1; _tmp106_++) {
		g_variant_builder_add_value (&_tmp105_, g_variant_new_string (*_tmp104_));
		_tmp104_++;
	}
	g_variant_builder_add_value (&_arguments_builder, g_variant_builder_end (&_tmp105_));
	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*
rygel_external_media_item_proxy_dbus_proxy_get_mime_type (RygelExternalMediaItemProxy* self)
{
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "MimeType");
	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.gnome.UPnP.MediaItem2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("MimeType"));
		_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
rygel_external_media_item_proxy_dbus_proxy_set_mime_type (RygelExternalMediaItemProxy* 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.gnome.UPnP.MediaItem2"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("MimeType"));
	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 gint
rygel_external_media_item_proxy_dbus_proxy_get_size (RygelExternalMediaItemProxy* self)
{
	GVariant *_inner_reply;
	gint _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Size");
	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.gnome.UPnP.MediaItem2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Size"));
		_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) {
			gint _tmp107_ = 0;
			return _tmp107_;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_int32 (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}

static void
rygel_external_media_item_proxy_dbus_proxy_set_size (RygelExternalMediaItemProxy* self,
                                                     gint 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.gnome.UPnP.MediaItem2"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Size"));
	g_variant_builder_open (&_arguments_builder, G_VARIANT_TYPE_VARIANT);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (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*
rygel_external_media_item_proxy_dbus_proxy_get_artist (RygelExternalMediaItemProxy* self)
{
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Artist");
	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.gnome.UPnP.MediaItem2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Artist"));
		_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
rygel_external_media_item_proxy_dbus_proxy_set_artist (RygelExternalMediaItemProxy* 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.gnome.UPnP.MediaItem2"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Artist"));
	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 gchar*
rygel_external_media_item_proxy_dbus_proxy_get_album (RygelExternalMediaItemProxy* self)
{
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Album");
	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.gnome.UPnP.MediaItem2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Album"));
		_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
rygel_external_media_item_proxy_dbus_proxy_set_album (RygelExternalMediaItemProxy* 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.gnome.UPnP.MediaItem2"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Album"));
	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 gchar*
rygel_external_media_item_proxy_dbus_proxy_get_date (RygelExternalMediaItemProxy* self)
{
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Date");
	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.gnome.UPnP.MediaItem2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Date"));
		_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
rygel_external_media_item_proxy_dbus_proxy_set_date (RygelExternalMediaItemProxy* 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.gnome.UPnP.MediaItem2"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Date"));
	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 gchar*
rygel_external_media_item_proxy_dbus_proxy_get_genre (RygelExternalMediaItemProxy* self)
{
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Genre");
	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.gnome.UPnP.MediaItem2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Genre"));
		_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
rygel_external_media_item_proxy_dbus_proxy_set_genre (RygelExternalMediaItemProxy* 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.gnome.UPnP.MediaItem2"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Genre"));
	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 gchar*
rygel_external_media_item_proxy_dbus_proxy_get_dlna_profile (RygelExternalMediaItemProxy* self)
{
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "DlnaProfile");
	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.gnome.UPnP.MediaItem2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("DlnaProfile"));
		_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
rygel_external_media_item_proxy_dbus_proxy_set_dlna_profile (RygelExternalMediaItemProxy* 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.gnome.UPnP.MediaItem2"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("DlnaProfile"));
	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 gint
rygel_external_media_item_proxy_dbus_proxy_get_duration (RygelExternalMediaItemProxy* self)
{
	GVariant *_inner_reply;
	gint _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Duration");
	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.gnome.UPnP.MediaItem2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Duration"));
		_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) {
			gint _tmp108_ = 0;
			return _tmp108_;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_int32 (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}

static void
rygel_external_media_item_proxy_dbus_proxy_set_duration (RygelExternalMediaItemProxy* self,
                                                         gint 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.gnome.UPnP.MediaItem2"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Duration"));
	g_variant_builder_open (&_arguments_builder, G_VARIANT_TYPE_VARIANT);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (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 gint
rygel_external_media_item_proxy_dbus_proxy_get_bitrate (RygelExternalMediaItemProxy* self)
{
	GVariant *_inner_reply;
	gint _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Bitrate");
	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.gnome.UPnP.MediaItem2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Bitrate"));
		_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) {
			gint _tmp109_ = 0;
			return _tmp109_;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_int32 (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}

static void
rygel_external_media_item_proxy_dbus_proxy_set_bitrate (RygelExternalMediaItemProxy* self,
                                                        gint 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.gnome.UPnP.MediaItem2"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Bitrate"));
	g_variant_builder_open (&_arguments_builder, G_VARIANT_TYPE_VARIANT);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (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 gint
rygel_external_media_item_proxy_dbus_proxy_get_sample_rate (RygelExternalMediaItemProxy* self)
{
	GVariant *_inner_reply;
	gint _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "SampleRate");
	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.gnome.UPnP.MediaItem2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("SampleRate"));
		_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) {
			gint _tmp110_ = 0;
			return _tmp110_;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_int32 (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}

static void
rygel_external_media_item_proxy_dbus_proxy_set_sample_rate (RygelExternalMediaItemProxy* self,
                                                            gint 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.gnome.UPnP.MediaItem2"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("SampleRate"));
	g_variant_builder_open (&_arguments_builder, G_VARIANT_TYPE_VARIANT);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (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 gint
rygel_external_media_item_proxy_dbus_proxy_get_bits_per_sample (RygelExternalMediaItemProxy* self)
{
	GVariant *_inner_reply;
	gint _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "BitsPerSample");
	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.gnome.UPnP.MediaItem2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("BitsPerSample"));
		_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) {
			gint _tmp111_ = 0;
			return _tmp111_;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_int32 (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}

static void
rygel_external_media_item_proxy_dbus_proxy_set_bits_per_sample (RygelExternalMediaItemProxy* self,
                                                                gint 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.gnome.UPnP.MediaItem2"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("BitsPerSample"));
	g_variant_builder_open (&_arguments_builder, G_VARIANT_TYPE_VARIANT);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (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 gint
rygel_external_media_item_proxy_dbus_proxy_get_width (RygelExternalMediaItemProxy* self)
{
	GVariant *_inner_reply;
	gint _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Width");
	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.gnome.UPnP.MediaItem2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Width"));
		_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) {
			gint _tmp112_ = 0;
			return _tmp112_;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_int32 (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}

static void
rygel_external_media_item_proxy_dbus_proxy_set_width (RygelExternalMediaItemProxy* self,
                                                      gint 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.gnome.UPnP.MediaItem2"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Width"));
	g_variant_builder_open (&_arguments_builder, G_VARIANT_TYPE_VARIANT);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (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 gint
rygel_external_media_item_proxy_dbus_proxy_get_height (RygelExternalMediaItemProxy* self)
{
	GVariant *_inner_reply;
	gint _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Height");
	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.gnome.UPnP.MediaItem2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Height"));
		_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) {
			gint _tmp113_ = 0;
			return _tmp113_;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_int32 (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}

static void
rygel_external_media_item_proxy_dbus_proxy_set_height (RygelExternalMediaItemProxy* self,
                                                       gint 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.gnome.UPnP.MediaItem2"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Height"));
	g_variant_builder_open (&_arguments_builder, G_VARIANT_TYPE_VARIANT);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (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 gint
rygel_external_media_item_proxy_dbus_proxy_get_color_depth (RygelExternalMediaItemProxy* self)
{
	GVariant *_inner_reply;
	gint _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "ColorDepth");
	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.gnome.UPnP.MediaItem2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("ColorDepth"));
		_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) {
			gint _tmp114_ = 0;
			return _tmp114_;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_int32 (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}

static void
rygel_external_media_item_proxy_dbus_proxy_set_color_depth (RygelExternalMediaItemProxy* self,
                                                            gint 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.gnome.UPnP.MediaItem2"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("ColorDepth"));
	g_variant_builder_open (&_arguments_builder, G_VARIANT_TYPE_VARIANT);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (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 char*
rygel_external_media_item_proxy_dbus_proxy_get_thumbnail (RygelExternalMediaItemProxy* self)
{
	GVariant *_inner_reply;
	char* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Thumbnail");
	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.gnome.UPnP.MediaItem2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Thumbnail"));
		_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
rygel_external_media_item_proxy_dbus_proxy_set_thumbnail (RygelExternalMediaItemProxy* self,
                                                          const char* 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.gnome.UPnP.MediaItem2"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Thumbnail"));
	g_variant_builder_open (&_arguments_builder, G_VARIANT_TYPE_VARIANT);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_object_path (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 char*
rygel_external_media_item_proxy_dbus_proxy_get_album_art (RygelExternalMediaItemProxy* self)
{
	GVariant *_inner_reply;
	char* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "AlbumArt");
	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.gnome.UPnP.MediaItem2"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("AlbumArt"));
		_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
rygel_external_media_item_proxy_dbus_proxy_set_album_art (RygelExternalMediaItemProxy* self,
                                                          const char* 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.gnome.UPnP.MediaItem2"));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("AlbumArt"));
	g_variant_builder_open (&_arguments_builder, G_VARIANT_TYPE_VARIANT);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_object_path (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
rygel_external_media_item_proxy_proxy_rygel_external_media_item_proxy_interface_init (RygelExternalMediaItemProxyIface* iface)
{
	iface->get_urls = rygel_external_media_item_proxy_dbus_proxy_get_urls;
	iface->set_urls = rygel_external_media_item_proxy_dbus_proxy_set_urls;
	iface->get_mime_type = rygel_external_media_item_proxy_dbus_proxy_get_mime_type;
	iface->set_mime_type = rygel_external_media_item_proxy_dbus_proxy_set_mime_type;
	iface->get_size = rygel_external_media_item_proxy_dbus_proxy_get_size;
	iface->set_size = rygel_external_media_item_proxy_dbus_proxy_set_size;
	iface->get_artist = rygel_external_media_item_proxy_dbus_proxy_get_artist;
	iface->set_artist = rygel_external_media_item_proxy_dbus_proxy_set_artist;
	iface->get_album = rygel_external_media_item_proxy_dbus_proxy_get_album;
	iface->set_album = rygel_external_media_item_proxy_dbus_proxy_set_album;
	iface->get_date = rygel_external_media_item_proxy_dbus_proxy_get_date;
	iface->set_date = rygel_external_media_item_proxy_dbus_proxy_set_date;
	iface->get_genre = rygel_external_media_item_proxy_dbus_proxy_get_genre;
	iface->set_genre = rygel_external_media_item_proxy_dbus_proxy_set_genre;
	iface->get_dlna_profile = rygel_external_media_item_proxy_dbus_proxy_get_dlna_profile;
	iface->set_dlna_profile = rygel_external_media_item_proxy_dbus_proxy_set_dlna_profile;
	iface->get_duration = rygel_external_media_item_proxy_dbus_proxy_get_duration;
	iface->set_duration = rygel_external_media_item_proxy_dbus_proxy_set_duration;
	iface->get_bitrate = rygel_external_media_item_proxy_dbus_proxy_get_bitrate;
	iface->set_bitrate = rygel_external_media_item_proxy_dbus_proxy_set_bitrate;
	iface->get_sample_rate = rygel_external_media_item_proxy_dbus_proxy_get_sample_rate;
	iface->set_sample_rate = rygel_external_media_item_proxy_dbus_proxy_set_sample_rate;
	iface->get_bits_per_sample = rygel_external_media_item_proxy_dbus_proxy_get_bits_per_sample;
	iface->set_bits_per_sample = rygel_external_media_item_proxy_dbus_proxy_set_bits_per_sample;
	iface->get_width = rygel_external_media_item_proxy_dbus_proxy_get_width;
	iface->set_width = rygel_external_media_item_proxy_dbus_proxy_set_width;
	iface->get_height = rygel_external_media_item_proxy_dbus_proxy_get_height;
	iface->set_height = rygel_external_media_item_proxy_dbus_proxy_set_height;
	iface->get_color_depth = rygel_external_media_item_proxy_dbus_proxy_get_color_depth;
	iface->set_color_depth = rygel_external_media_item_proxy_dbus_proxy_set_color_depth;
	iface->get_thumbnail = rygel_external_media_item_proxy_dbus_proxy_get_thumbnail;
	iface->set_thumbnail = rygel_external_media_item_proxy_dbus_proxy_set_thumbnail;
	iface->get_album_art = rygel_external_media_item_proxy_dbus_proxy_get_album_art;
	iface->set_album_art = rygel_external_media_item_proxy_dbus_proxy_set_album_art;
}

static void
rygel_external_media_item_proxy_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_rygel_external_media_item_proxy_get_urls (RygelExternalMediaItemProxy* self)
{
	gchar** result;
	gint result_length1 = 0;
	GVariant* _reply;
	gchar** _tmp115_;
	GVariantBuilder _tmp116_;
	gint _tmp117_;
	result = rygel_external_media_item_proxy_get_urls (self, &result_length1);
	_tmp115_ = result;
	g_variant_builder_init (&_tmp116_, G_VARIANT_TYPE ("as"));
	for (_tmp117_ = 0; _tmp117_ < result_length1; _tmp117_++) {
		g_variant_builder_add_value (&_tmp116_, g_variant_new_string (*_tmp115_));
		_tmp115_++;
	}
	_reply = g_variant_builder_end (&_tmp116_);
	result = (_vala_array_free (result, result_length1, (GDestroyNotify) g_free), NULL);
	return _reply;
}

static GVariant*
_dbus_rygel_external_media_item_proxy_get_mime_type (RygelExternalMediaItemProxy* self)
{
	gchar* result;
	GVariant* _reply;
	result = rygel_external_media_item_proxy_get_mime_type (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}

static GVariant*
_dbus_rygel_external_media_item_proxy_get_size (RygelExternalMediaItemProxy* self)
{
	gint result;
	GVariant* _reply;
	result = rygel_external_media_item_proxy_get_size (self);
	_reply = g_variant_new_int32 (result);
	return _reply;
}

static GVariant*
_dbus_rygel_external_media_item_proxy_get_artist (RygelExternalMediaItemProxy* self)
{
	gchar* result;
	GVariant* _reply;
	result = rygel_external_media_item_proxy_get_artist (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}

static GVariant*
_dbus_rygel_external_media_item_proxy_get_album (RygelExternalMediaItemProxy* self)
{
	gchar* result;
	GVariant* _reply;
	result = rygel_external_media_item_proxy_get_album (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}

static GVariant*
_dbus_rygel_external_media_item_proxy_get_date (RygelExternalMediaItemProxy* self)
{
	gchar* result;
	GVariant* _reply;
	result = rygel_external_media_item_proxy_get_date (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}

static GVariant*
_dbus_rygel_external_media_item_proxy_get_genre (RygelExternalMediaItemProxy* self)
{
	gchar* result;
	GVariant* _reply;
	result = rygel_external_media_item_proxy_get_genre (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}

static GVariant*
_dbus_rygel_external_media_item_proxy_get_dlna_profile (RygelExternalMediaItemProxy* self)
{
	gchar* result;
	GVariant* _reply;
	result = rygel_external_media_item_proxy_get_dlna_profile (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}

static GVariant*
_dbus_rygel_external_media_item_proxy_get_duration (RygelExternalMediaItemProxy* self)
{
	gint result;
	GVariant* _reply;
	result = rygel_external_media_item_proxy_get_duration (self);
	_reply = g_variant_new_int32 (result);
	return _reply;
}

static GVariant*
_dbus_rygel_external_media_item_proxy_get_bitrate (RygelExternalMediaItemProxy* self)
{
	gint result;
	GVariant* _reply;
	result = rygel_external_media_item_proxy_get_bitrate (self);
	_reply = g_variant_new_int32 (result);
	return _reply;
}

static GVariant*
_dbus_rygel_external_media_item_proxy_get_sample_rate (RygelExternalMediaItemProxy* self)
{
	gint result;
	GVariant* _reply;
	result = rygel_external_media_item_proxy_get_sample_rate (self);
	_reply = g_variant_new_int32 (result);
	return _reply;
}

static GVariant*
_dbus_rygel_external_media_item_proxy_get_bits_per_sample (RygelExternalMediaItemProxy* self)
{
	gint result;
	GVariant* _reply;
	result = rygel_external_media_item_proxy_get_bits_per_sample (self);
	_reply = g_variant_new_int32 (result);
	return _reply;
}

static GVariant*
_dbus_rygel_external_media_item_proxy_get_width (RygelExternalMediaItemProxy* self)
{
	gint result;
	GVariant* _reply;
	result = rygel_external_media_item_proxy_get_width (self);
	_reply = g_variant_new_int32 (result);
	return _reply;
}

static GVariant*
_dbus_rygel_external_media_item_proxy_get_height (RygelExternalMediaItemProxy* self)
{
	gint result;
	GVariant* _reply;
	result = rygel_external_media_item_proxy_get_height (self);
	_reply = g_variant_new_int32 (result);
	return _reply;
}

static GVariant*
_dbus_rygel_external_media_item_proxy_get_color_depth (RygelExternalMediaItemProxy* self)
{
	gint result;
	GVariant* _reply;
	result = rygel_external_media_item_proxy_get_color_depth (self);
	_reply = g_variant_new_int32 (result);
	return _reply;
}

static GVariant*
_dbus_rygel_external_media_item_proxy_get_thumbnail (RygelExternalMediaItemProxy* self)
{
	char* result;
	GVariant* _reply;
	result = rygel_external_media_item_proxy_get_thumbnail (self);
	_reply = g_variant_new_object_path (result);
	_g_free0 (result);
	return _reply;
}

static GVariant*
_dbus_rygel_external_media_item_proxy_get_album_art (RygelExternalMediaItemProxy* self)
{
	char* result;
	GVariant* _reply;
	result = rygel_external_media_item_proxy_get_album_art (self);
	_reply = g_variant_new_object_path (result);
	_g_free0 (result);
	return _reply;
}

static GVariant*
rygel_external_media_item_proxy_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, "URLs") == 0) {
		return _dbus_rygel_external_media_item_proxy_get_urls (object);
	} else if (strcmp (property_name, "MimeType") == 0) {
		return _dbus_rygel_external_media_item_proxy_get_mime_type (object);
	} else if (strcmp (property_name, "Size") == 0) {
		return _dbus_rygel_external_media_item_proxy_get_size (object);
	} else if (strcmp (property_name, "Artist") == 0) {
		return _dbus_rygel_external_media_item_proxy_get_artist (object);
	} else if (strcmp (property_name, "Album") == 0) {
		return _dbus_rygel_external_media_item_proxy_get_album (object);
	} else if (strcmp (property_name, "Date") == 0) {
		return _dbus_rygel_external_media_item_proxy_get_date (object);
	} else if (strcmp (property_name, "Genre") == 0) {
		return _dbus_rygel_external_media_item_proxy_get_genre (object);
	} else if (strcmp (property_name, "DlnaProfile") == 0) {
		return _dbus_rygel_external_media_item_proxy_get_dlna_profile (object);
	} else if (strcmp (property_name, "Duration") == 0) {
		return _dbus_rygel_external_media_item_proxy_get_duration (object);
	} else if (strcmp (property_name, "Bitrate") == 0) {
		return _dbus_rygel_external_media_item_proxy_get_bitrate (object);
	} else if (strcmp (property_name, "SampleRate") == 0) {
		return _dbus_rygel_external_media_item_proxy_get_sample_rate (object);
	} else if (strcmp (property_name, "BitsPerSample") == 0) {
		return _dbus_rygel_external_media_item_proxy_get_bits_per_sample (object);
	} else if (strcmp (property_name, "Width") == 0) {
		return _dbus_rygel_external_media_item_proxy_get_width (object);
	} else if (strcmp (property_name, "Height") == 0) {
		return _dbus_rygel_external_media_item_proxy_get_height (object);
	} else if (strcmp (property_name, "ColorDepth") == 0) {
		return _dbus_rygel_external_media_item_proxy_get_color_depth (object);
	} else if (strcmp (property_name, "Thumbnail") == 0) {
		return _dbus_rygel_external_media_item_proxy_get_thumbnail (object);
	} else if (strcmp (property_name, "AlbumArt") == 0) {
		return _dbus_rygel_external_media_item_proxy_get_album_art (object);
	}
	return NULL;
}

static void
_dbus_rygel_external_media_item_proxy_set_urls (RygelExternalMediaItemProxy* self,
                                                GVariant* _value)
{
	gchar** value = NULL;
	gint value_length1;
	gchar** _tmp118_;
	gint _tmp118__length;
	gint _tmp118__size;
	gint _tmp118__length1;
	GVariantIter _tmp119_;
	GVariant* _tmp120_;
	_tmp118_ = g_new (gchar*, 5);
	_tmp118__length = 0;
	_tmp118__size = 4;
	_tmp118__length1 = 0;
	g_variant_iter_init (&_tmp119_, _value);
	for (; (_tmp120_ = g_variant_iter_next_value (&_tmp119_)) != NULL; _tmp118__length1++) {
		if (_tmp118__size == _tmp118__length) {
			_tmp118__size = 2 * _tmp118__size;
			_tmp118_ = g_renew (gchar*, _tmp118_, _tmp118__size + 1);
		}
		_tmp118_[_tmp118__length++] = g_variant_dup_string (_tmp120_, NULL);
		g_variant_unref (_tmp120_);
	}
	value_length1 = _tmp118__length1;
	_tmp118_[_tmp118__length] = NULL;
	value = _tmp118_;
	rygel_external_media_item_proxy_set_urls (self, value, value_length1);
	value = (_vala_array_free (value, value_length1, (GDestroyNotify) g_free), NULL);
}

static void
_dbus_rygel_external_media_item_proxy_set_mime_type (RygelExternalMediaItemProxy* self,
                                                     GVariant* _value)
{
	gchar* value = NULL;
	value = g_variant_dup_string (_value, NULL);
	rygel_external_media_item_proxy_set_mime_type (self, value);
	_g_free0 (value);
}

static void
_dbus_rygel_external_media_item_proxy_set_size (RygelExternalMediaItemProxy* self,
                                                GVariant* _value)
{
	gint value = 0;
	value = g_variant_get_int32 (_value);
	rygel_external_media_item_proxy_set_size (self, value);
}

static void
_dbus_rygel_external_media_item_proxy_set_artist (RygelExternalMediaItemProxy* self,
                                                  GVariant* _value)
{
	gchar* value = NULL;
	value = g_variant_dup_string (_value, NULL);
	rygel_external_media_item_proxy_set_artist (self, value);
	_g_free0 (value);
}

static void
_dbus_rygel_external_media_item_proxy_set_album (RygelExternalMediaItemProxy* self,
                                                 GVariant* _value)
{
	gchar* value = NULL;
	value = g_variant_dup_string (_value, NULL);
	rygel_external_media_item_proxy_set_album (self, value);
	_g_free0 (value);
}

static void
_dbus_rygel_external_media_item_proxy_set_date (RygelExternalMediaItemProxy* self,
                                                GVariant* _value)
{
	gchar* value = NULL;
	value = g_variant_dup_string (_value, NULL);
	rygel_external_media_item_proxy_set_date (self, value);
	_g_free0 (value);
}

static void
_dbus_rygel_external_media_item_proxy_set_genre (RygelExternalMediaItemProxy* self,
                                                 GVariant* _value)
{
	gchar* value = NULL;
	value = g_variant_dup_string (_value, NULL);
	rygel_external_media_item_proxy_set_genre (self, value);
	_g_free0 (value);
}

static void
_dbus_rygel_external_media_item_proxy_set_dlna_profile (RygelExternalMediaItemProxy* self,
                                                        GVariant* _value)
{
	gchar* value = NULL;
	value = g_variant_dup_string (_value, NULL);
	rygel_external_media_item_proxy_set_dlna_profile (self, value);
	_g_free0 (value);
}

static void
_dbus_rygel_external_media_item_proxy_set_duration (RygelExternalMediaItemProxy* self,
                                                    GVariant* _value)
{
	gint value = 0;
	value = g_variant_get_int32 (_value);
	rygel_external_media_item_proxy_set_duration (self, value);
}

static void
_dbus_rygel_external_media_item_proxy_set_bitrate (RygelExternalMediaItemProxy* self,
                                                   GVariant* _value)
{
	gint value = 0;
	value = g_variant_get_int32 (_value);
	rygel_external_media_item_proxy_set_bitrate (self, value);
}

static void
_dbus_rygel_external_media_item_proxy_set_sample_rate (RygelExternalMediaItemProxy* self,
                                                       GVariant* _value)
{
	gint value = 0;
	value = g_variant_get_int32 (_value);
	rygel_external_media_item_proxy_set_sample_rate (self, value);
}

static void
_dbus_rygel_external_media_item_proxy_set_bits_per_sample (RygelExternalMediaItemProxy* self,
                                                           GVariant* _value)
{
	gint value = 0;
	value = g_variant_get_int32 (_value);
	rygel_external_media_item_proxy_set_bits_per_sample (self, value);
}

static void
_dbus_rygel_external_media_item_proxy_set_width (RygelExternalMediaItemProxy* self,
                                                 GVariant* _value)
{
	gint value = 0;
	value = g_variant_get_int32 (_value);
	rygel_external_media_item_proxy_set_width (self, value);
}

static void
_dbus_rygel_external_media_item_proxy_set_height (RygelExternalMediaItemProxy* self,
                                                  GVariant* _value)
{
	gint value = 0;
	value = g_variant_get_int32 (_value);
	rygel_external_media_item_proxy_set_height (self, value);
}

static void
_dbus_rygel_external_media_item_proxy_set_color_depth (RygelExternalMediaItemProxy* self,
                                                       GVariant* _value)
{
	gint value = 0;
	value = g_variant_get_int32 (_value);
	rygel_external_media_item_proxy_set_color_depth (self, value);
}

static void
_dbus_rygel_external_media_item_proxy_set_thumbnail (RygelExternalMediaItemProxy* self,
                                                     GVariant* _value)
{
	char* value = NULL;
	value = g_variant_dup_string (_value, NULL);
	rygel_external_media_item_proxy_set_thumbnail (self, value);
	_g_free0 (value);
}

static void
_dbus_rygel_external_media_item_proxy_set_album_art (RygelExternalMediaItemProxy* self,
                                                     GVariant* _value)
{
	char* value = NULL;
	value = g_variant_dup_string (_value, NULL);
	rygel_external_media_item_proxy_set_album_art (self, value);
	_g_free0 (value);
}

static gboolean
rygel_external_media_item_proxy_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, "URLs") == 0) {
		_dbus_rygel_external_media_item_proxy_set_urls (object, value);
		return TRUE;
	} else if (strcmp (property_name, "MimeType") == 0) {
		_dbus_rygel_external_media_item_proxy_set_mime_type (object, value);
		return TRUE;
	} else if (strcmp (property_name, "Size") == 0) {
		_dbus_rygel_external_media_item_proxy_set_size (object, value);
		return TRUE;
	} else if (strcmp (property_name, "Artist") == 0) {
		_dbus_rygel_external_media_item_proxy_set_artist (object, value);
		return TRUE;
	} else if (strcmp (property_name, "Album") == 0) {
		_dbus_rygel_external_media_item_proxy_set_album (object, value);
		return TRUE;
	} else if (strcmp (property_name, "Date") == 0) {
		_dbus_rygel_external_media_item_proxy_set_date (object, value);
		return TRUE;
	} else if (strcmp (property_name, "Genre") == 0) {
		_dbus_rygel_external_media_item_proxy_set_genre (object, value);
		return TRUE;
	} else if (strcmp (property_name, "DlnaProfile") == 0) {
		_dbus_rygel_external_media_item_proxy_set_dlna_profile (object, value);
		return TRUE;
	} else if (strcmp (property_name, "Duration") == 0) {
		_dbus_rygel_external_media_item_proxy_set_duration (object, value);
		return TRUE;
	} else if (strcmp (property_name, "Bitrate") == 0) {
		_dbus_rygel_external_media_item_proxy_set_bitrate (object, value);
		return TRUE;
	} else if (strcmp (property_name, "SampleRate") == 0) {
		_dbus_rygel_external_media_item_proxy_set_sample_rate (object, value);
		return TRUE;
	} else if (strcmp (property_name, "BitsPerSample") == 0) {
		_dbus_rygel_external_media_item_proxy_set_bits_per_sample (object, value);
		return TRUE;
	} else if (strcmp (property_name, "Width") == 0) {
		_dbus_rygel_external_media_item_proxy_set_width (object, value);
		return TRUE;
	} else if (strcmp (property_name, "Height") == 0) {
		_dbus_rygel_external_media_item_proxy_set_height (object, value);
		return TRUE;
	} else if (strcmp (property_name, "ColorDepth") == 0) {
		_dbus_rygel_external_media_item_proxy_set_color_depth (object, value);
		return TRUE;
	} else if (strcmp (property_name, "Thumbnail") == 0) {
		_dbus_rygel_external_media_item_proxy_set_thumbnail (object, value);
		return TRUE;
	} else if (strcmp (property_name, "AlbumArt") == 0) {
		_dbus_rygel_external_media_item_proxy_set_album_art (object, value);
		return TRUE;
	}
	return FALSE;
}

guint
rygel_external_media_item_proxy_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 *) (&_rygel_external_media_item_proxy_dbus_interface_info), &_rygel_external_media_item_proxy_dbus_interface_vtable, data, _rygel_external_media_item_proxy_unregister_object, error);
	if (!result) {
		return 0;
	}
	return result;
}

static void
_rygel_external_media_item_proxy_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);
}

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

