/* rygel-external.h generated by valac 0.56.19, the Vala compiler, do not modify */

#ifndef __SRC_PLUGINS_EXTERNAL_RYGEL_EXTERNAL_H__
#define __SRC_PLUGINS_EXTERNAL_RYGEL_EXTERNAL_H__

#include "rygel-server.h"
#include <glib-object.h>
#include <gio/gio.h>
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include "rygel-core.h"

G_BEGIN_DECLS

#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif
#define RYGEL_EXTERNAL_PLUGIN_MODULE_NAME "External"
#define RYGEL_EXTERNAL_MEDIA_OBJECT_PROXY_IFACE "org.gnome.UPnP.MediaObject2"
#define RYGEL_EXTERNAL_MEDIA_CONTAINER_PROXY_IFACE "org.gnome.UPnP.MediaContainer2"
#define RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_IFACE "org.gnome.UPnP.MediaItem2"
#define RYGEL_EXTERNAL_MANDATORY_MISSING_MESSAGE N_ ("External provider %s did not provide mandatory property “%s”")

#define RYGEL_EXTERNAL_TYPE_CONTAINER (rygel_external_container_get_type ())
#define RYGEL_EXTERNAL_CONTAINER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RYGEL_EXTERNAL_TYPE_CONTAINER, RygelExternalContainer))
#define RYGEL_EXTERNAL_CONTAINER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), RYGEL_EXTERNAL_TYPE_CONTAINER, RygelExternalContainerClass))
#define RYGEL_EXTERNAL_IS_CONTAINER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RYGEL_EXTERNAL_TYPE_CONTAINER))
#define RYGEL_EXTERNAL_IS_CONTAINER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), RYGEL_EXTERNAL_TYPE_CONTAINER))
#define RYGEL_EXTERNAL_CONTAINER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), RYGEL_EXTERNAL_TYPE_CONTAINER, RygelExternalContainerClass))

typedef struct _RygelExternalContainer RygelExternalContainer;
typedef struct _RygelExternalContainerClass RygelExternalContainerClass;
typedef struct _RygelExternalContainerPrivate RygelExternalContainerPrivate;

#define RYGEL_EXTERNAL_TYPE_MEDIA_CONTAINER_PROXY (rygel_external_media_container_proxy_get_type ())
#define RYGEL_EXTERNAL_MEDIA_CONTAINER_PROXY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RYGEL_EXTERNAL_TYPE_MEDIA_CONTAINER_PROXY, RygelExternalMediaContainerProxy))
#define RYGEL_EXTERNAL_IS_MEDIA_CONTAINER_PROXY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RYGEL_EXTERNAL_TYPE_MEDIA_CONTAINER_PROXY))
#define RYGEL_EXTERNAL_MEDIA_CONTAINER_PROXY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), RYGEL_EXTERNAL_TYPE_MEDIA_CONTAINER_PROXY, RygelExternalMediaContainerProxyIface))

typedef struct _RygelExternalMediaContainerProxy RygelExternalMediaContainerProxy;
typedef struct _RygelExternalMediaContainerProxyIface RygelExternalMediaContainerProxyIface;

#define RYGEL_EXTERNAL_TYPE_MEDIA_OBJECT_PROXY (rygel_external_media_object_proxy_get_type ())
#define RYGEL_EXTERNAL_MEDIA_OBJECT_PROXY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RYGEL_EXTERNAL_TYPE_MEDIA_OBJECT_PROXY, RygelExternalMediaObjectProxy))
#define RYGEL_EXTERNAL_IS_MEDIA_OBJECT_PROXY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RYGEL_EXTERNAL_TYPE_MEDIA_OBJECT_PROXY))
#define RYGEL_EXTERNAL_MEDIA_OBJECT_PROXY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), RYGEL_EXTERNAL_TYPE_MEDIA_OBJECT_PROXY, RygelExternalMediaObjectProxyIface))

typedef struct _RygelExternalMediaObjectProxy RygelExternalMediaObjectProxy;
typedef struct _RygelExternalMediaObjectProxyIface RygelExternalMediaObjectProxyIface;

#define RYGEL_EXTERNAL_TYPE_MEDIA_OBJECT_PROXY_PROXY (rygel_external_media_object_proxy_proxy_get_type ())

#define RYGEL_EXTERNAL_TYPE_MEDIA_CONTAINER_PROXY_PROXY (rygel_external_media_container_proxy_proxy_get_type ())

#define RYGEL_EXTERNAL_TYPE_ITEM_FACTORY (rygel_external_item_factory_get_type ())
#define RYGEL_EXTERNAL_ITEM_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RYGEL_EXTERNAL_TYPE_ITEM_FACTORY, RygelExternalItemFactory))
#define RYGEL_EXTERNAL_ITEM_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), RYGEL_EXTERNAL_TYPE_ITEM_FACTORY, RygelExternalItemFactoryClass))
#define RYGEL_EXTERNAL_IS_ITEM_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RYGEL_EXTERNAL_TYPE_ITEM_FACTORY))
#define RYGEL_EXTERNAL_IS_ITEM_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), RYGEL_EXTERNAL_TYPE_ITEM_FACTORY))
#define RYGEL_EXTERNAL_ITEM_FACTORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), RYGEL_EXTERNAL_TYPE_ITEM_FACTORY, RygelExternalItemFactoryClass))

typedef struct _RygelExternalItemFactory RygelExternalItemFactory;
typedef struct _RygelExternalItemFactoryClass RygelExternalItemFactoryClass;
typedef struct _RygelExternalItemFactoryPrivate RygelExternalItemFactoryPrivate;

#define RYGEL_EXTERNAL_TYPE_ALBUM_ART_FACTORY (rygel_external_album_art_factory_get_type ())
#define RYGEL_EXTERNAL_ALBUM_ART_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RYGEL_EXTERNAL_TYPE_ALBUM_ART_FACTORY, RygelExternalAlbumArtFactory))
#define RYGEL_EXTERNAL_ALBUM_ART_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), RYGEL_EXTERNAL_TYPE_ALBUM_ART_FACTORY, RygelExternalAlbumArtFactoryClass))
#define RYGEL_EXTERNAL_IS_ALBUM_ART_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RYGEL_EXTERNAL_TYPE_ALBUM_ART_FACTORY))
#define RYGEL_EXTERNAL_IS_ALBUM_ART_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), RYGEL_EXTERNAL_TYPE_ALBUM_ART_FACTORY))
#define RYGEL_EXTERNAL_ALBUM_ART_FACTORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), RYGEL_EXTERNAL_TYPE_ALBUM_ART_FACTORY, RygelExternalAlbumArtFactoryClass))

typedef struct _RygelExternalAlbumArtFactory RygelExternalAlbumArtFactory;
typedef struct _RygelExternalAlbumArtFactoryClass RygelExternalAlbumArtFactoryClass;
typedef struct _RygelExternalAlbumArtFactoryPrivate RygelExternalAlbumArtFactoryPrivate;

#define RYGEL_EXTERNAL_TYPE_THUMBNAIL_FACTORY (rygel_external_thumbnail_factory_get_type ())
#define RYGEL_EXTERNAL_THUMBNAIL_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RYGEL_EXTERNAL_TYPE_THUMBNAIL_FACTORY, RygelExternalThumbnailFactory))
#define RYGEL_EXTERNAL_THUMBNAIL_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), RYGEL_EXTERNAL_TYPE_THUMBNAIL_FACTORY, RygelExternalThumbnailFactoryClass))
#define RYGEL_EXTERNAL_IS_THUMBNAIL_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RYGEL_EXTERNAL_TYPE_THUMBNAIL_FACTORY))
#define RYGEL_EXTERNAL_IS_THUMBNAIL_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), RYGEL_EXTERNAL_TYPE_THUMBNAIL_FACTORY))
#define RYGEL_EXTERNAL_THUMBNAIL_FACTORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), RYGEL_EXTERNAL_TYPE_THUMBNAIL_FACTORY, RygelExternalThumbnailFactoryClass))

typedef struct _RygelExternalThumbnailFactory RygelExternalThumbnailFactory;
typedef struct _RygelExternalThumbnailFactoryClass RygelExternalThumbnailFactoryClass;
typedef struct _RygelExternalThumbnailFactoryPrivate RygelExternalThumbnailFactoryPrivate;

#define RYGEL_EXTERNAL_TYPE_PLUGIN (rygel_external_plugin_get_type ())
#define RYGEL_EXTERNAL_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RYGEL_EXTERNAL_TYPE_PLUGIN, RygelExternalPlugin))
#define RYGEL_EXTERNAL_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), RYGEL_EXTERNAL_TYPE_PLUGIN, RygelExternalPluginClass))
#define RYGEL_EXTERNAL_IS_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RYGEL_EXTERNAL_TYPE_PLUGIN))
#define RYGEL_EXTERNAL_IS_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), RYGEL_EXTERNAL_TYPE_PLUGIN))
#define RYGEL_EXTERNAL_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), RYGEL_EXTERNAL_TYPE_PLUGIN, RygelExternalPluginClass))

typedef struct _RygelExternalPlugin RygelExternalPlugin;
typedef struct _RygelExternalPluginClass RygelExternalPluginClass;
typedef struct _RygelExternalPluginPrivate RygelExternalPluginPrivate;

#define RYGEL_EXTERNAL_TYPE_MEDIA_ITEM_PROXY (rygel_external_media_item_proxy_get_type ())
#define RYGEL_EXTERNAL_MEDIA_ITEM_PROXY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RYGEL_EXTERNAL_TYPE_MEDIA_ITEM_PROXY, RygelExternalMediaItemProxy))
#define RYGEL_EXTERNAL_IS_MEDIA_ITEM_PROXY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RYGEL_EXTERNAL_TYPE_MEDIA_ITEM_PROXY))
#define RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), RYGEL_EXTERNAL_TYPE_MEDIA_ITEM_PROXY, RygelExternalMediaItemProxyIface))

typedef struct _RygelExternalMediaItemProxy RygelExternalMediaItemProxy;
typedef struct _RygelExternalMediaItemProxyIface RygelExternalMediaItemProxyIface;

#define RYGEL_EXTERNAL_TYPE_MEDIA_ITEM_PROXY_PROXY (rygel_external_media_item_proxy_proxy_get_type ())

#define RYGEL_EXTERNAL_TYPE_PLUGIN_FACTORY (rygel_external_plugin_factory_get_type ())
#define RYGEL_EXTERNAL_PLUGIN_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RYGEL_EXTERNAL_TYPE_PLUGIN_FACTORY, RygelExternalPluginFactory))
#define RYGEL_EXTERNAL_PLUGIN_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), RYGEL_EXTERNAL_TYPE_PLUGIN_FACTORY, RygelExternalPluginFactoryClass))
#define RYGEL_EXTERNAL_IS_PLUGIN_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RYGEL_EXTERNAL_TYPE_PLUGIN_FACTORY))
#define RYGEL_EXTERNAL_IS_PLUGIN_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), RYGEL_EXTERNAL_TYPE_PLUGIN_FACTORY))
#define RYGEL_EXTERNAL_PLUGIN_FACTORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), RYGEL_EXTERNAL_TYPE_PLUGIN_FACTORY, RygelExternalPluginFactoryClass))

typedef struct _RygelExternalPluginFactory RygelExternalPluginFactory;
typedef struct _RygelExternalPluginFactoryClass RygelExternalPluginFactoryClass;
typedef struct _RygelExternalPluginFactoryPrivate RygelExternalPluginFactoryPrivate;

#define RYGEL_EXTERNAL_TYPE_ICON_FACTORY (rygel_external_icon_factory_get_type ())
#define RYGEL_EXTERNAL_ICON_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RYGEL_EXTERNAL_TYPE_ICON_FACTORY, RygelExternalIconFactory))
#define RYGEL_EXTERNAL_ICON_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), RYGEL_EXTERNAL_TYPE_ICON_FACTORY, RygelExternalIconFactoryClass))
#define RYGEL_EXTERNAL_IS_ICON_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RYGEL_EXTERNAL_TYPE_ICON_FACTORY))
#define RYGEL_EXTERNAL_IS_ICON_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), RYGEL_EXTERNAL_TYPE_ICON_FACTORY))
#define RYGEL_EXTERNAL_ICON_FACTORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), RYGEL_EXTERNAL_TYPE_ICON_FACTORY, RygelExternalIconFactoryClass))

typedef struct _RygelExternalIconFactory RygelExternalIconFactory;
typedef struct _RygelExternalIconFactoryClass RygelExternalIconFactoryClass;
typedef struct _RygelExternalIconFactoryPrivate RygelExternalIconFactoryPrivate;

struct _RygelExternalMediaObjectProxyIface {
	GTypeInterface parent_iface;
	char* (*get_parent) (RygelExternalMediaObjectProxy* self);
	void (*set_parent) (RygelExternalMediaObjectProxy* self, const char* value);
	gchar* (*get_display_name) (RygelExternalMediaObjectProxy* self);
	void (*set_display_name) (RygelExternalMediaObjectProxy* self, const gchar* value);
	gchar* (*get_object_type) (RygelExternalMediaObjectProxy* self);
	void (*set_object_type) (RygelExternalMediaObjectProxy* self, const gchar* value);
};

struct _RygelExternalMediaContainerProxyIface {
	GTypeInterface parent_iface;
	void (*list_children) (RygelExternalMediaContainerProxy* self, guint offset, guint max_count, gchar** filter, gint filter_length1, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GHashTable** (*list_children_finish) (RygelExternalMediaContainerProxy* self, GAsyncResult* _res_, gint* result_length1, GError** error);
	void (*list_containers) (RygelExternalMediaContainerProxy* self, guint offset, guint max_count, gchar** filter, gint filter_length1, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GHashTable** (*list_containers_finish) (RygelExternalMediaContainerProxy* self, GAsyncResult* _res_, gint* result_length1, GError** error);
	void (*list_items) (RygelExternalMediaContainerProxy* self, guint offset, guint max_count, gchar** filter, gint filter_length1, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GHashTable** (*list_items_finish) (RygelExternalMediaContainerProxy* self, GAsyncResult* _res_, gint* result_length1, GError** error);
	void (*search_objects) (RygelExternalMediaContainerProxy* self, const gchar* query, guint offset, guint max_count, gchar** filter, gint filter_length1, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GHashTable** (*search_objects_finish) (RygelExternalMediaContainerProxy* self, GAsyncResult* _res_, gint* result_length1, GError** error);
	guint (*get_child_count) (RygelExternalMediaContainerProxy* self);
	void (*set_child_count) (RygelExternalMediaContainerProxy* self, guint value);
	guint (*get_item_count) (RygelExternalMediaContainerProxy* self);
	void (*set_item_count) (RygelExternalMediaContainerProxy* self, guint value);
	guint (*get_container_count) (RygelExternalMediaContainerProxy* self);
	void (*set_container_count) (RygelExternalMediaContainerProxy* self, guint value);
	gboolean (*get_searchable) (RygelExternalMediaContainerProxy* self);
	void (*set_searchable) (RygelExternalMediaContainerProxy* self, gboolean value);
	char* (*get_icon) (RygelExternalMediaContainerProxy* self);
	void (*set_icon) (RygelExternalMediaContainerProxy* self, const char* value);
};

struct _RygelExternalContainer {
	RygelMediaContainer parent_instance;
	RygelExternalContainerPrivate * priv;
	RygelExternalMediaContainerProxy* actual_container;
	gchar* service_name;
};

struct _RygelExternalContainerClass {
	RygelMediaContainerClass parent_class;
};

struct _RygelExternalItemFactory {
	GTypeInstance parent_instance;
	volatile int ref_count;
	RygelExternalItemFactoryPrivate * priv;
};

struct _RygelExternalItemFactoryClass {
	GTypeClass parent_class;
	void (*finalize) (RygelExternalItemFactory *self);
};

struct _RygelExternalAlbumArtFactory {
	GTypeInstance parent_instance;
	volatile int ref_count;
	RygelExternalAlbumArtFactoryPrivate * priv;
};

struct _RygelExternalAlbumArtFactoryClass {
	GTypeClass parent_class;
	void (*finalize) (RygelExternalAlbumArtFactory *self);
};

struct _RygelExternalThumbnailFactory {
	GTypeInstance parent_instance;
	volatile int ref_count;
	RygelExternalThumbnailFactoryPrivate * priv;
};

struct _RygelExternalThumbnailFactoryClass {
	GTypeClass parent_class;
	void (*finalize) (RygelExternalThumbnailFactory *self);
};

struct _RygelExternalPlugin {
	RygelMediaServerPlugin parent_instance;
	RygelExternalPluginPrivate * priv;
};

struct _RygelExternalPluginClass {
	RygelMediaServerPluginClass parent_class;
};

struct _RygelExternalMediaItemProxyIface {
	GTypeInterface parent_iface;
	gchar** (*get_urls) (RygelExternalMediaItemProxy* self, gint* result_length1);
	void (*set_urls) (RygelExternalMediaItemProxy* self, gchar** value, gint value_length1);
	gchar* (*get_mime_type) (RygelExternalMediaItemProxy* self);
	void (*set_mime_type) (RygelExternalMediaItemProxy* self, const gchar* value);
	gint (*get_size) (RygelExternalMediaItemProxy* self);
	void (*set_size) (RygelExternalMediaItemProxy* self, gint value);
	gchar* (*get_artist) (RygelExternalMediaItemProxy* self);
	void (*set_artist) (RygelExternalMediaItemProxy* self, const gchar* value);
	gchar* (*get_album) (RygelExternalMediaItemProxy* self);
	void (*set_album) (RygelExternalMediaItemProxy* self, const gchar* value);
	gchar* (*get_date) (RygelExternalMediaItemProxy* self);
	void (*set_date) (RygelExternalMediaItemProxy* self, const gchar* value);
	gchar* (*get_genre) (RygelExternalMediaItemProxy* self);
	void (*set_genre) (RygelExternalMediaItemProxy* self, const gchar* value);
	gchar* (*get_dlna_profile) (RygelExternalMediaItemProxy* self);
	void (*set_dlna_profile) (RygelExternalMediaItemProxy* self, const gchar* value);
	gint (*get_duration) (RygelExternalMediaItemProxy* self);
	void (*set_duration) (RygelExternalMediaItemProxy* self, gint value);
	gint (*get_bitrate) (RygelExternalMediaItemProxy* self);
	void (*set_bitrate) (RygelExternalMediaItemProxy* self, gint value);
	gint (*get_sample_rate) (RygelExternalMediaItemProxy* self);
	void (*set_sample_rate) (RygelExternalMediaItemProxy* self, gint value);
	gint (*get_bits_per_sample) (RygelExternalMediaItemProxy* self);
	void (*set_bits_per_sample) (RygelExternalMediaItemProxy* self, gint value);
	gint (*get_width) (RygelExternalMediaItemProxy* self);
	void (*set_width) (RygelExternalMediaItemProxy* self, gint value);
	gint (*get_height) (RygelExternalMediaItemProxy* self);
	void (*set_height) (RygelExternalMediaItemProxy* self, gint value);
	gint (*get_color_depth) (RygelExternalMediaItemProxy* self);
	void (*set_color_depth) (RygelExternalMediaItemProxy* self, gint value);
	char* (*get_thumbnail) (RygelExternalMediaItemProxy* self);
	void (*set_thumbnail) (RygelExternalMediaItemProxy* self, const char* value);
	char* (*get_album_art) (RygelExternalMediaItemProxy* self);
	void (*set_album_art) (RygelExternalMediaItemProxy* self, const char* value);
};

struct _RygelExternalPluginFactory {
	GTypeInstance parent_instance;
	volatile int ref_count;
	RygelExternalPluginFactoryPrivate * priv;
};

struct _RygelExternalPluginFactoryClass {
	GTypeClass parent_class;
	void (*finalize) (RygelExternalPluginFactory *self);
};

struct _RygelExternalIconFactory {
	GTypeInstance parent_instance;
	volatile int ref_count;
	RygelExternalIconFactoryPrivate * priv;
};

struct _RygelExternalIconFactoryClass {
	GTypeClass parent_class;
	void (*finalize) (RygelExternalIconFactory *self);
};

VALA_EXTERN GType rygel_external_container_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (RygelExternalContainer, g_object_unref)
VALA_EXTERN GType rygel_external_media_object_proxy_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (RygelExternalMediaObjectProxy, g_object_unref)
VALA_EXTERN GType rygel_external_media_object_proxy_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint rygel_external_media_object_proxy_register_object (void* object,
                                                         GDBusConnection* connection,
                                                         const gchar* path,
                                                         GError** error);
VALA_EXTERN GType rygel_external_media_container_proxy_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint rygel_external_media_container_proxy_register_object (void* object,
                                                            GDBusConnection* connection,
                                                            const gchar* path,
                                                            GError** error);
VALA_EXTERN GType rygel_external_media_container_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN RygelExternalContainer* rygel_external_container_new (const gchar* id,
                                                      const gchar* title,
                                                      guint child_count,
                                                      gboolean searchable,
                                                      const gchar* service_name,
                                                      const gchar* path,
                                                      RygelExternalContainer* parent,
                                                      GError** error);
VALA_EXTERN RygelExternalContainer* rygel_external_container_construct (GType object_type,
                                                            const gchar* id,
                                                            const gchar* title,
                                                            guint child_count,
                                                            gboolean searchable,
                                                            const gchar* service_name,
                                                            const gchar* path,
                                                            RygelExternalContainer* parent,
                                                            GError** error);
VALA_EXTERN gchar* rygel_external_container_translate_property (RygelExternalContainer* self,
                                                    const gchar* property);
VALA_EXTERN gpointer rygel_external_item_factory_ref (gpointer instance);
VALA_EXTERN void rygel_external_item_factory_unref (gpointer instance);
VALA_EXTERN GParamSpec* rygel_external_param_spec_item_factory (const gchar* name,
                                                    const gchar* nick,
                                                    const gchar* blurb,
                                                    GType object_type,
                                                    GParamFlags flags);
VALA_EXTERN void rygel_external_value_set_item_factory (GValue* value,
                                            gpointer v_object);
VALA_EXTERN void rygel_external_value_take_item_factory (GValue* value,
                                             gpointer v_object);
VALA_EXTERN gpointer rygel_external_value_get_item_factory (const GValue* value);
VALA_EXTERN GType rygel_external_item_factory_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (RygelExternalItemFactory, rygel_external_item_factory_unref)
VALA_EXTERN void rygel_external_item_factory_create (RygelExternalItemFactory* self,
                                         const gchar* id,
                                         const gchar* type,
                                         const gchar* title,
                                         GHashTable* props,
                                         const gchar* service_name,
                                         RygelMediaContainer* parent,
                                         GAsyncReadyCallback _callback_,
                                         gpointer _user_data_);
VALA_EXTERN RygelMediaFileItem* rygel_external_item_factory_create_finish (RygelExternalItemFactory* self,
                                                               GAsyncResult* _res_,
                                                               GError** error);
VALA_EXTERN RygelExternalItemFactory* rygel_external_item_factory_new (void);
VALA_EXTERN RygelExternalItemFactory* rygel_external_item_factory_construct (GType object_type);
VALA_EXTERN gpointer rygel_external_album_art_factory_ref (gpointer instance);
VALA_EXTERN void rygel_external_album_art_factory_unref (gpointer instance);
VALA_EXTERN GParamSpec* rygel_external_param_spec_album_art_factory (const gchar* name,
                                                         const gchar* nick,
                                                         const gchar* blurb,
                                                         GType object_type,
                                                         GParamFlags flags);
VALA_EXTERN void rygel_external_value_set_album_art_factory (GValue* value,
                                                 gpointer v_object);
VALA_EXTERN void rygel_external_value_take_album_art_factory (GValue* value,
                                                  gpointer v_object);
VALA_EXTERN gpointer rygel_external_value_get_album_art_factory (const GValue* value);
VALA_EXTERN GType rygel_external_album_art_factory_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (RygelExternalAlbumArtFactory, rygel_external_album_art_factory_unref)
VALA_EXTERN void rygel_external_album_art_factory_create (RygelExternalAlbumArtFactory* self,
                                              const gchar* service_name,
                                              const gchar* object_path,
                                              GAsyncReadyCallback _callback_,
                                              gpointer _user_data_);
VALA_EXTERN RygelThumbnail* rygel_external_album_art_factory_create_finish (RygelExternalAlbumArtFactory* self,
                                                                GAsyncResult* _res_,
                                                                GError** error);
VALA_EXTERN RygelExternalAlbumArtFactory* rygel_external_album_art_factory_new (void);
VALA_EXTERN RygelExternalAlbumArtFactory* rygel_external_album_art_factory_construct (GType object_type);
VALA_EXTERN gpointer rygel_external_thumbnail_factory_ref (gpointer instance);
VALA_EXTERN void rygel_external_thumbnail_factory_unref (gpointer instance);
VALA_EXTERN GParamSpec* rygel_external_param_spec_thumbnail_factory (const gchar* name,
                                                         const gchar* nick,
                                                         const gchar* blurb,
                                                         GType object_type,
                                                         GParamFlags flags);
VALA_EXTERN void rygel_external_value_set_thumbnail_factory (GValue* value,
                                                 gpointer v_object);
VALA_EXTERN void rygel_external_value_take_thumbnail_factory (GValue* value,
                                                  gpointer v_object);
VALA_EXTERN gpointer rygel_external_value_get_thumbnail_factory (const GValue* value);
VALA_EXTERN GType rygel_external_thumbnail_factory_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (RygelExternalThumbnailFactory, rygel_external_thumbnail_factory_unref)
VALA_EXTERN void rygel_external_thumbnail_factory_create (RygelExternalThumbnailFactory* self,
                                              const gchar* service_name,
                                              const gchar* object_path,
                                              GAsyncReadyCallback _callback_,
                                              gpointer _user_data_);
VALA_EXTERN RygelThumbnail* rygel_external_thumbnail_factory_create_finish (RygelExternalThumbnailFactory* self,
                                                                GAsyncResult* _res_,
                                                                GError** error);
VALA_EXTERN RygelExternalThumbnailFactory* rygel_external_thumbnail_factory_new (void);
VALA_EXTERN RygelExternalThumbnailFactory* rygel_external_thumbnail_factory_construct (GType object_type);
VALA_EXTERN GType rygel_external_plugin_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (RygelExternalPlugin, g_object_unref)
VALA_EXTERN RygelExternalPlugin* rygel_external_plugin_new (const gchar* service_name,
                                                const gchar* title,
                                                guint child_count,
                                                gboolean searchable,
                                                const gchar* root_object,
                                                RygelIconInfo* icon,
                                                GError** error);
VALA_EXTERN RygelExternalPlugin* rygel_external_plugin_construct (GType object_type,
                                                      const gchar* service_name,
                                                      const gchar* title,
                                                      guint child_count,
                                                      gboolean searchable,
                                                      const gchar* root_object,
                                                      RygelIconInfo* icon,
                                                      GError** error);
VALA_EXTERN char* rygel_external_media_object_proxy_get_parent (RygelExternalMediaObjectProxy* self);
VALA_EXTERN void rygel_external_media_object_proxy_set_parent (RygelExternalMediaObjectProxy* self,
                                                   const char* value);
VALA_EXTERN gchar* rygel_external_media_object_proxy_get_display_name (RygelExternalMediaObjectProxy* self);
VALA_EXTERN void rygel_external_media_object_proxy_set_display_name (RygelExternalMediaObjectProxy* self,
                                                         const gchar* value);
VALA_EXTERN gchar* rygel_external_media_object_proxy_get_object_type (RygelExternalMediaObjectProxy* self);
VALA_EXTERN void rygel_external_media_object_proxy_set_object_type (RygelExternalMediaObjectProxy* self,
                                                        const gchar* value);
VALA_EXTERN 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_);
VALA_EXTERN GHashTable** rygel_external_media_container_proxy_list_children_finish (RygelExternalMediaContainerProxy* self,
                                                                        GAsyncResult* _res_,
                                                                        gint* result_length1,
                                                                        GError** error);
VALA_EXTERN 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_);
VALA_EXTERN GHashTable** rygel_external_media_container_proxy_list_containers_finish (RygelExternalMediaContainerProxy* self,
                                                                          GAsyncResult* _res_,
                                                                          gint* result_length1,
                                                                          GError** error);
VALA_EXTERN 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_);
VALA_EXTERN GHashTable** rygel_external_media_container_proxy_list_items_finish (RygelExternalMediaContainerProxy* self,
                                                                     GAsyncResult* _res_,
                                                                     gint* result_length1,
                                                                     GError** error);
VALA_EXTERN 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_);
VALA_EXTERN GHashTable** rygel_external_media_container_proxy_search_objects_finish (RygelExternalMediaContainerProxy* self,
                                                                         GAsyncResult* _res_,
                                                                         gint* result_length1,
                                                                         GError** error);
VALA_EXTERN guint rygel_external_media_container_proxy_get_child_count (RygelExternalMediaContainerProxy* self);
VALA_EXTERN void rygel_external_media_container_proxy_set_child_count (RygelExternalMediaContainerProxy* self,
                                                           guint value);
VALA_EXTERN guint rygel_external_media_container_proxy_get_item_count (RygelExternalMediaContainerProxy* self);
VALA_EXTERN void rygel_external_media_container_proxy_set_item_count (RygelExternalMediaContainerProxy* self,
                                                          guint value);
VALA_EXTERN guint rygel_external_media_container_proxy_get_container_count (RygelExternalMediaContainerProxy* self);
VALA_EXTERN void rygel_external_media_container_proxy_set_container_count (RygelExternalMediaContainerProxy* self,
                                                               guint value);
VALA_EXTERN gboolean rygel_external_media_container_proxy_get_searchable (RygelExternalMediaContainerProxy* self);
VALA_EXTERN void rygel_external_media_container_proxy_set_searchable (RygelExternalMediaContainerProxy* self,
                                                          gboolean value);
VALA_EXTERN char* rygel_external_media_container_proxy_get_icon (RygelExternalMediaContainerProxy* self);
VALA_EXTERN void rygel_external_media_container_proxy_set_icon (RygelExternalMediaContainerProxy* self,
                                                    const char* value);
VALA_EXTERN GType rygel_external_media_item_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType rygel_external_media_item_proxy_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint rygel_external_media_item_proxy_register_object (void* object,
                                                       GDBusConnection* connection,
                                                       const gchar* path,
                                                       GError** error);
VALA_EXTERN gchar** rygel_external_media_item_proxy_get_urls (RygelExternalMediaItemProxy* self,
                                                  gint* result_length1);
VALA_EXTERN void rygel_external_media_item_proxy_set_urls (RygelExternalMediaItemProxy* self,
                                               gchar** value,
                                               gint value_length1);
VALA_EXTERN gchar* rygel_external_media_item_proxy_get_mime_type (RygelExternalMediaItemProxy* self);
VALA_EXTERN void rygel_external_media_item_proxy_set_mime_type (RygelExternalMediaItemProxy* self,
                                                    const gchar* value);
VALA_EXTERN gint rygel_external_media_item_proxy_get_size (RygelExternalMediaItemProxy* self);
VALA_EXTERN void rygel_external_media_item_proxy_set_size (RygelExternalMediaItemProxy* self,
                                               gint value);
VALA_EXTERN gchar* rygel_external_media_item_proxy_get_artist (RygelExternalMediaItemProxy* self);
VALA_EXTERN void rygel_external_media_item_proxy_set_artist (RygelExternalMediaItemProxy* self,
                                                 const gchar* value);
VALA_EXTERN gchar* rygel_external_media_item_proxy_get_album (RygelExternalMediaItemProxy* self);
VALA_EXTERN void rygel_external_media_item_proxy_set_album (RygelExternalMediaItemProxy* self,
                                                const gchar* value);
VALA_EXTERN gchar* rygel_external_media_item_proxy_get_date (RygelExternalMediaItemProxy* self);
VALA_EXTERN void rygel_external_media_item_proxy_set_date (RygelExternalMediaItemProxy* self,
                                               const gchar* value);
VALA_EXTERN gchar* rygel_external_media_item_proxy_get_genre (RygelExternalMediaItemProxy* self);
VALA_EXTERN void rygel_external_media_item_proxy_set_genre (RygelExternalMediaItemProxy* self,
                                                const gchar* value);
VALA_EXTERN gchar* rygel_external_media_item_proxy_get_dlna_profile (RygelExternalMediaItemProxy* self);
VALA_EXTERN void rygel_external_media_item_proxy_set_dlna_profile (RygelExternalMediaItemProxy* self,
                                                       const gchar* value);
VALA_EXTERN gint rygel_external_media_item_proxy_get_duration (RygelExternalMediaItemProxy* self);
VALA_EXTERN void rygel_external_media_item_proxy_set_duration (RygelExternalMediaItemProxy* self,
                                                   gint value);
VALA_EXTERN gint rygel_external_media_item_proxy_get_bitrate (RygelExternalMediaItemProxy* self);
VALA_EXTERN void rygel_external_media_item_proxy_set_bitrate (RygelExternalMediaItemProxy* self,
                                                  gint value);
VALA_EXTERN gint rygel_external_media_item_proxy_get_sample_rate (RygelExternalMediaItemProxy* self);
VALA_EXTERN void rygel_external_media_item_proxy_set_sample_rate (RygelExternalMediaItemProxy* self,
                                                      gint value);
VALA_EXTERN gint rygel_external_media_item_proxy_get_bits_per_sample (RygelExternalMediaItemProxy* self);
VALA_EXTERN void rygel_external_media_item_proxy_set_bits_per_sample (RygelExternalMediaItemProxy* self,
                                                          gint value);
VALA_EXTERN gint rygel_external_media_item_proxy_get_width (RygelExternalMediaItemProxy* self);
VALA_EXTERN void rygel_external_media_item_proxy_set_width (RygelExternalMediaItemProxy* self,
                                                gint value);
VALA_EXTERN gint rygel_external_media_item_proxy_get_height (RygelExternalMediaItemProxy* self);
VALA_EXTERN void rygel_external_media_item_proxy_set_height (RygelExternalMediaItemProxy* self,
                                                 gint value);
VALA_EXTERN gint rygel_external_media_item_proxy_get_color_depth (RygelExternalMediaItemProxy* self);
VALA_EXTERN void rygel_external_media_item_proxy_set_color_depth (RygelExternalMediaItemProxy* self,
                                                      gint value);
VALA_EXTERN char* rygel_external_media_item_proxy_get_thumbnail (RygelExternalMediaItemProxy* self);
VALA_EXTERN void rygel_external_media_item_proxy_set_thumbnail (RygelExternalMediaItemProxy* self,
                                                    const char* value);
VALA_EXTERN char* rygel_external_media_item_proxy_get_album_art (RygelExternalMediaItemProxy* self);
VALA_EXTERN void rygel_external_media_item_proxy_set_album_art (RygelExternalMediaItemProxy* self,
                                                    const char* value);
VALA_EXTERN void module_init (RygelPluginLoader* loader);
VALA_EXTERN gpointer rygel_external_plugin_factory_ref (gpointer instance);
VALA_EXTERN void rygel_external_plugin_factory_unref (gpointer instance);
VALA_EXTERN GParamSpec* rygel_external_param_spec_plugin_factory (const gchar* name,
                                                      const gchar* nick,
                                                      const gchar* blurb,
                                                      GType object_type,
                                                      GParamFlags flags);
VALA_EXTERN void rygel_external_value_set_plugin_factory (GValue* value,
                                              gpointer v_object);
VALA_EXTERN void rygel_external_value_take_plugin_factory (GValue* value,
                                               gpointer v_object);
VALA_EXTERN gpointer rygel_external_value_get_plugin_factory (const GValue* value);
VALA_EXTERN GType rygel_external_plugin_factory_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (RygelExternalPluginFactory, rygel_external_plugin_factory_unref)
VALA_EXTERN RygelExternalPluginFactory* rygel_external_plugin_factory_new (RygelPluginLoader* loader,
                                                               GError** error);
VALA_EXTERN RygelExternalPluginFactory* rygel_external_plugin_factory_construct (GType object_type,
                                                                     RygelPluginLoader* loader,
                                                                     GError** error);
VALA_EXTERN gpointer rygel_external_icon_factory_ref (gpointer instance);
VALA_EXTERN void rygel_external_icon_factory_unref (gpointer instance);
VALA_EXTERN GParamSpec* rygel_external_param_spec_icon_factory (const gchar* name,
                                                    const gchar* nick,
                                                    const gchar* blurb,
                                                    GType object_type,
                                                    GParamFlags flags);
VALA_EXTERN void rygel_external_value_set_icon_factory (GValue* value,
                                            gpointer v_object);
VALA_EXTERN void rygel_external_value_take_icon_factory (GValue* value,
                                             gpointer v_object);
VALA_EXTERN gpointer rygel_external_value_get_icon_factory (const GValue* value);
VALA_EXTERN GType rygel_external_icon_factory_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (RygelExternalIconFactory, rygel_external_icon_factory_unref)
VALA_EXTERN void rygel_external_icon_factory_create (RygelExternalIconFactory* self,
                                         const gchar* service_name,
                                         GHashTable* container_props,
                                         GAsyncReadyCallback _callback_,
                                         gpointer _user_data_);
VALA_EXTERN RygelIconInfo* rygel_external_icon_factory_create_finish (RygelExternalIconFactory* self,
                                                          GAsyncResult* _res_,
                                                          GError** error);
VALA_EXTERN RygelExternalIconFactory* rygel_external_icon_factory_new (void);
VALA_EXTERN RygelExternalIconFactory* rygel_external_icon_factory_construct (GType object_type);
VALA_EXTERN GVariant* rygel_external_get_mandatory (GHashTable* props,
                                        const gchar* key,
                                        const gchar* service_name);
VALA_EXTERN gchar* rygel_external_get_mandatory_string_value (GHashTable* props,
                                                  const gchar* key,
                                                  const gchar* _default_,
                                                  const gchar* service_name);
VALA_EXTERN gchar** rygel_external_get_mandatory_string_list_value (GHashTable* props,
                                                        const gchar* key,
                                                        gchar** _default_,
                                                        gint _default__length1,
                                                        const gchar* service_name,
                                                        gint* result_length1);

VALA_EXTERN const gchar* RYGEL_EXTERNAL_MEDIA_OBJECT_PROXY_PROPERTIES[4];
VALA_EXTERN const gchar* RYGEL_EXTERNAL_MEDIA_CONTAINER_PROXY_PROPERTIES[2];
VALA_EXTERN const gchar* RYGEL_EXTERNAL_MEDIA_ITEM_PROXY_PROPERTIES[19];

G_END_DECLS

#endif
