/*
 * This file is generated by gdbus-codegen, do not modify it.
 *
 * The license of this code is the same as for the D-Bus interface description
 * it was derived from. Note that it links to GLib, so must comply with the
 * LGPL linking clauses.
 */

#ifndef __GRL_DLEYNA_PROXY_MEDIASERVER2_H__
#define __GRL_DLEYNA_PROXY_MEDIASERVER2_H__

#include <gio/gio.h>

G_BEGIN_DECLS


/* ------------------------------------------------------------------------ */
/* Declarations for org.gnome.UPnP.MediaObject2 */

#define GRL_DLEYNA_TYPE_MEDIA_OBJECT2 (grl_dleyna_media_object2_get_type ())
#define GRL_DLEYNA_MEDIA_OBJECT2(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GRL_DLEYNA_TYPE_MEDIA_OBJECT2, GrlDleynaMediaObject2))
#define GRL_DLEYNA_IS_MEDIA_OBJECT2(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GRL_DLEYNA_TYPE_MEDIA_OBJECT2))
#define GRL_DLEYNA_MEDIA_OBJECT2_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), GRL_DLEYNA_TYPE_MEDIA_OBJECT2, GrlDleynaMediaObject2Iface))

struct _GrlDleynaMediaObject2;
typedef struct _GrlDleynaMediaObject2 GrlDleynaMediaObject2;
typedef struct _GrlDleynaMediaObject2Iface GrlDleynaMediaObject2Iface;

struct _GrlDleynaMediaObject2Iface
{
  GTypeInterface parent_iface;


  gboolean (*handle_delete) (
    GrlDleynaMediaObject2 *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_get_meta_data) (
    GrlDleynaMediaObject2 *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_update) (
    GrlDleynaMediaObject2 *object,
    GDBusMethodInvocation *invocation,
    GVariant *arg_ToAddUpdate,
    const gchar *const *arg_ToDelete);

  const gchar * (*get_creator) (GrlDleynaMediaObject2 *object);

  const gchar * (*get_display_name) (GrlDleynaMediaObject2 *object);

  GVariant * (*get_dlnamanaged) (GrlDleynaMediaObject2 *object);

  guint  (*get_object_update_id) (GrlDleynaMediaObject2 *object);

  const gchar * (*get_parent) (GrlDleynaMediaObject2 *object);

  const gchar * (*get_path) (GrlDleynaMediaObject2 *object);

  gboolean  (*get_restricted) (GrlDleynaMediaObject2 *object);

  const gchar * (*get_type_) (GrlDleynaMediaObject2 *object);

};

#if GLIB_CHECK_VERSION(2, 44, 0)
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GrlDleynaMediaObject2, g_object_unref)
#endif

GType grl_dleyna_media_object2_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *grl_dleyna_media_object2_interface_info (void);
guint grl_dleyna_media_object2_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void grl_dleyna_media_object2_complete_delete (
    GrlDleynaMediaObject2 *object,
    GDBusMethodInvocation *invocation);

void grl_dleyna_media_object2_complete_update (
    GrlDleynaMediaObject2 *object,
    GDBusMethodInvocation *invocation);

void grl_dleyna_media_object2_complete_get_meta_data (
    GrlDleynaMediaObject2 *object,
    GDBusMethodInvocation *invocation,
    const gchar *MetaData);



/* D-Bus method calls: */
void grl_dleyna_media_object2_call_delete (
    GrlDleynaMediaObject2 *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean grl_dleyna_media_object2_call_delete_finish (
    GrlDleynaMediaObject2 *proxy,
    GAsyncResult *res,
    GError **error);

gboolean grl_dleyna_media_object2_call_delete_sync (
    GrlDleynaMediaObject2 *proxy,
    GCancellable *cancellable,
    GError **error);

void grl_dleyna_media_object2_call_update (
    GrlDleynaMediaObject2 *proxy,
    GVariant *arg_ToAddUpdate,
    const gchar *const *arg_ToDelete,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean grl_dleyna_media_object2_call_update_finish (
    GrlDleynaMediaObject2 *proxy,
    GAsyncResult *res,
    GError **error);

gboolean grl_dleyna_media_object2_call_update_sync (
    GrlDleynaMediaObject2 *proxy,
    GVariant *arg_ToAddUpdate,
    const gchar *const *arg_ToDelete,
    GCancellable *cancellable,
    GError **error);

void grl_dleyna_media_object2_call_get_meta_data (
    GrlDleynaMediaObject2 *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean grl_dleyna_media_object2_call_get_meta_data_finish (
    GrlDleynaMediaObject2 *proxy,
    gchar **out_MetaData,
    GAsyncResult *res,
    GError **error);

gboolean grl_dleyna_media_object2_call_get_meta_data_sync (
    GrlDleynaMediaObject2 *proxy,
    gchar **out_MetaData,
    GCancellable *cancellable,
    GError **error);



/* D-Bus property accessors: */
const gchar *grl_dleyna_media_object2_get_parent (GrlDleynaMediaObject2 *object);
gchar *grl_dleyna_media_object2_dup_parent (GrlDleynaMediaObject2 *object);
void grl_dleyna_media_object2_set_parent (GrlDleynaMediaObject2 *object, const gchar *value);

const gchar *grl_dleyna_media_object2_get_type_ (GrlDleynaMediaObject2 *object);
gchar *grl_dleyna_media_object2_dup_type_ (GrlDleynaMediaObject2 *object);
void grl_dleyna_media_object2_set_type_ (GrlDleynaMediaObject2 *object, const gchar *value);

const gchar *grl_dleyna_media_object2_get_path (GrlDleynaMediaObject2 *object);
gchar *grl_dleyna_media_object2_dup_path (GrlDleynaMediaObject2 *object);
void grl_dleyna_media_object2_set_path (GrlDleynaMediaObject2 *object, const gchar *value);

const gchar *grl_dleyna_media_object2_get_display_name (GrlDleynaMediaObject2 *object);
gchar *grl_dleyna_media_object2_dup_display_name (GrlDleynaMediaObject2 *object);
void grl_dleyna_media_object2_set_display_name (GrlDleynaMediaObject2 *object, const gchar *value);

const gchar *grl_dleyna_media_object2_get_creator (GrlDleynaMediaObject2 *object);
gchar *grl_dleyna_media_object2_dup_creator (GrlDleynaMediaObject2 *object);
void grl_dleyna_media_object2_set_creator (GrlDleynaMediaObject2 *object, const gchar *value);

gboolean grl_dleyna_media_object2_get_restricted (GrlDleynaMediaObject2 *object);
void grl_dleyna_media_object2_set_restricted (GrlDleynaMediaObject2 *object, gboolean value);

GVariant *grl_dleyna_media_object2_get_dlnamanaged (GrlDleynaMediaObject2 *object);
GVariant *grl_dleyna_media_object2_dup_dlnamanaged (GrlDleynaMediaObject2 *object);
void grl_dleyna_media_object2_set_dlnamanaged (GrlDleynaMediaObject2 *object, GVariant *value);

guint grl_dleyna_media_object2_get_object_update_id (GrlDleynaMediaObject2 *object);
void grl_dleyna_media_object2_set_object_update_id (GrlDleynaMediaObject2 *object, guint value);


/* ---- */

#define GRL_DLEYNA_TYPE_MEDIA_OBJECT2_PROXY (grl_dleyna_media_object2_proxy_get_type ())
#define GRL_DLEYNA_MEDIA_OBJECT2_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GRL_DLEYNA_TYPE_MEDIA_OBJECT2_PROXY, GrlDleynaMediaObject2Proxy))
#define GRL_DLEYNA_MEDIA_OBJECT2_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GRL_DLEYNA_TYPE_MEDIA_OBJECT2_PROXY, GrlDleynaMediaObject2ProxyClass))
#define GRL_DLEYNA_MEDIA_OBJECT2_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GRL_DLEYNA_TYPE_MEDIA_OBJECT2_PROXY, GrlDleynaMediaObject2ProxyClass))
#define GRL_DLEYNA_IS_MEDIA_OBJECT2_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GRL_DLEYNA_TYPE_MEDIA_OBJECT2_PROXY))
#define GRL_DLEYNA_IS_MEDIA_OBJECT2_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GRL_DLEYNA_TYPE_MEDIA_OBJECT2_PROXY))

typedef struct _GrlDleynaMediaObject2Proxy GrlDleynaMediaObject2Proxy;
typedef struct _GrlDleynaMediaObject2ProxyClass GrlDleynaMediaObject2ProxyClass;
typedef struct _GrlDleynaMediaObject2ProxyPrivate GrlDleynaMediaObject2ProxyPrivate;

struct _GrlDleynaMediaObject2Proxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  GrlDleynaMediaObject2ProxyPrivate *priv;
};

struct _GrlDleynaMediaObject2ProxyClass
{
  GDBusProxyClass parent_class;
};

GType grl_dleyna_media_object2_proxy_get_type (void) G_GNUC_CONST;

#if GLIB_CHECK_VERSION(2, 44, 0)
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GrlDleynaMediaObject2Proxy, g_object_unref)
#endif

void grl_dleyna_media_object2_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GrlDleynaMediaObject2 *grl_dleyna_media_object2_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
GrlDleynaMediaObject2 *grl_dleyna_media_object2_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void grl_dleyna_media_object2_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GrlDleynaMediaObject2 *grl_dleyna_media_object2_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
GrlDleynaMediaObject2 *grl_dleyna_media_object2_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define GRL_DLEYNA_TYPE_MEDIA_OBJECT2_SKELETON (grl_dleyna_media_object2_skeleton_get_type ())
#define GRL_DLEYNA_MEDIA_OBJECT2_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GRL_DLEYNA_TYPE_MEDIA_OBJECT2_SKELETON, GrlDleynaMediaObject2Skeleton))
#define GRL_DLEYNA_MEDIA_OBJECT2_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GRL_DLEYNA_TYPE_MEDIA_OBJECT2_SKELETON, GrlDleynaMediaObject2SkeletonClass))
#define GRL_DLEYNA_MEDIA_OBJECT2_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GRL_DLEYNA_TYPE_MEDIA_OBJECT2_SKELETON, GrlDleynaMediaObject2SkeletonClass))
#define GRL_DLEYNA_IS_MEDIA_OBJECT2_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GRL_DLEYNA_TYPE_MEDIA_OBJECT2_SKELETON))
#define GRL_DLEYNA_IS_MEDIA_OBJECT2_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GRL_DLEYNA_TYPE_MEDIA_OBJECT2_SKELETON))

typedef struct _GrlDleynaMediaObject2Skeleton GrlDleynaMediaObject2Skeleton;
typedef struct _GrlDleynaMediaObject2SkeletonClass GrlDleynaMediaObject2SkeletonClass;
typedef struct _GrlDleynaMediaObject2SkeletonPrivate GrlDleynaMediaObject2SkeletonPrivate;

struct _GrlDleynaMediaObject2Skeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  GrlDleynaMediaObject2SkeletonPrivate *priv;
};

struct _GrlDleynaMediaObject2SkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType grl_dleyna_media_object2_skeleton_get_type (void) G_GNUC_CONST;

#if GLIB_CHECK_VERSION(2, 44, 0)
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GrlDleynaMediaObject2Skeleton, g_object_unref)
#endif

GrlDleynaMediaObject2 *grl_dleyna_media_object2_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for org.gnome.UPnP.MediaContainer2 */

#define GRL_DLEYNA_TYPE_MEDIA_CONTAINER2 (grl_dleyna_media_container2_get_type ())
#define GRL_DLEYNA_MEDIA_CONTAINER2(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GRL_DLEYNA_TYPE_MEDIA_CONTAINER2, GrlDleynaMediaContainer2))
#define GRL_DLEYNA_IS_MEDIA_CONTAINER2(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GRL_DLEYNA_TYPE_MEDIA_CONTAINER2))
#define GRL_DLEYNA_MEDIA_CONTAINER2_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), GRL_DLEYNA_TYPE_MEDIA_CONTAINER2, GrlDleynaMediaContainer2Iface))

struct _GrlDleynaMediaContainer2;
typedef struct _GrlDleynaMediaContainer2 GrlDleynaMediaContainer2;
typedef struct _GrlDleynaMediaContainer2Iface GrlDleynaMediaContainer2Iface;

struct _GrlDleynaMediaContainer2Iface
{
  GTypeInterface parent_iface;


  gboolean (*handle_create_container) (
    GrlDleynaMediaContainer2 *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_DisplayName,
    const gchar *arg_Type,
    const gchar *const *arg_ChildTypes);

  gboolean (*handle_create_playlist) (
    GrlDleynaMediaContainer2 *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_Title,
    const gchar *arg_Creator,
    const gchar *arg_Genre,
    const gchar *arg_Description,
    const gchar *const *arg_PlaylistItems);

  gboolean (*handle_get_compatible_resource) (
    GrlDleynaMediaContainer2 *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_ProtocolInfo,
    const gchar *const *arg_Filter);

  gboolean (*handle_list_children) (
    GrlDleynaMediaContainer2 *object,
    GDBusMethodInvocation *invocation,
    guint arg_Offset,
    guint arg_Max,
    const gchar *const *arg_Filter);

  gboolean (*handle_list_children_ex) (
    GrlDleynaMediaContainer2 *object,
    GDBusMethodInvocation *invocation,
    guint arg_Offset,
    guint arg_Max,
    const gchar *const *arg_Filter,
    const gchar *arg_SortBy);

  gboolean (*handle_list_containers) (
    GrlDleynaMediaContainer2 *object,
    GDBusMethodInvocation *invocation,
    guint arg_Offset,
    guint arg_Max,
    const gchar *const *arg_Filter);

  gboolean (*handle_list_containers_ex) (
    GrlDleynaMediaContainer2 *object,
    GDBusMethodInvocation *invocation,
    guint arg_Offset,
    guint arg_Max,
    const gchar *const *arg_Filter,
    const gchar *arg_SortBy);

  gboolean (*handle_list_items) (
    GrlDleynaMediaContainer2 *object,
    GDBusMethodInvocation *invocation,
    guint arg_Offset,
    guint arg_Max,
    const gchar *const *arg_Filter);

  gboolean (*handle_list_items_ex) (
    GrlDleynaMediaContainer2 *object,
    GDBusMethodInvocation *invocation,
    guint arg_Offset,
    guint arg_Max,
    const gchar *const *arg_Filter,
    const gchar *arg_SortBy);

  gboolean (*handle_search_objects) (
    GrlDleynaMediaContainer2 *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_Query,
    guint arg_Offset,
    guint arg_Max,
    const gchar *const *arg_Filter);

  gboolean (*handle_search_objects_ex) (
    GrlDleynaMediaContainer2 *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_Query,
    guint arg_Offset,
    guint arg_Max,
    const gchar *const *arg_Filter,
    const gchar *arg_SortBy);

  gboolean (*handle_upload) (
    GrlDleynaMediaContainer2 *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_DisplayName,
    const gchar *arg_FilePath);

  guint  (*get_child_count) (GrlDleynaMediaContainer2 *object);

  guint  (*get_container_update_id) (GrlDleynaMediaContainer2 *object);

  GVariant * (*get_create_classes) (GrlDleynaMediaContainer2 *object);

  GVariant * (*get_dlnaconversion) (GrlDleynaMediaContainer2 *object);

  GVariant * (*get_dlnaflags) (GrlDleynaMediaContainer2 *object);

  GVariant * (*get_dlnaoperation) (GrlDleynaMediaContainer2 *object);

  const gchar * (*get_dlnaprofile) (GrlDleynaMediaContainer2 *object);

  const gchar * (*get_mimetype) (GrlDleynaMediaContainer2 *object);

  GVariant * (*get_resources) (GrlDleynaMediaContainer2 *object);

  gboolean  (*get_searchable) (GrlDleynaMediaContainer2 *object);

  gint64  (*get_size) (GrlDleynaMediaContainer2 *object);

  guint  (*get_total_deleted_child_count) (GrlDleynaMediaContainer2 *object);

  const gchar *const * (*get_urls) (GrlDleynaMediaContainer2 *object);

};

#if GLIB_CHECK_VERSION(2, 44, 0)
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GrlDleynaMediaContainer2, g_object_unref)
#endif

GType grl_dleyna_media_container2_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *grl_dleyna_media_container2_interface_info (void);
guint grl_dleyna_media_container2_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void grl_dleyna_media_container2_complete_list_children (
    GrlDleynaMediaContainer2 *object,
    GDBusMethodInvocation *invocation,
    GVariant *Children);

void grl_dleyna_media_container2_complete_list_children_ex (
    GrlDleynaMediaContainer2 *object,
    GDBusMethodInvocation *invocation,
    GVariant *Children);

void grl_dleyna_media_container2_complete_list_containers (
    GrlDleynaMediaContainer2 *object,
    GDBusMethodInvocation *invocation,
    GVariant *Children);

void grl_dleyna_media_container2_complete_list_containers_ex (
    GrlDleynaMediaContainer2 *object,
    GDBusMethodInvocation *invocation,
    GVariant *Children);

void grl_dleyna_media_container2_complete_list_items (
    GrlDleynaMediaContainer2 *object,
    GDBusMethodInvocation *invocation,
    GVariant *Children);

void grl_dleyna_media_container2_complete_list_items_ex (
    GrlDleynaMediaContainer2 *object,
    GDBusMethodInvocation *invocation,
    GVariant *Children);

void grl_dleyna_media_container2_complete_search_objects (
    GrlDleynaMediaContainer2 *object,
    GDBusMethodInvocation *invocation,
    GVariant *Children);

void grl_dleyna_media_container2_complete_search_objects_ex (
    GrlDleynaMediaContainer2 *object,
    GDBusMethodInvocation *invocation,
    GVariant *Children,
    guint TotalItems);

void grl_dleyna_media_container2_complete_upload (
    GrlDleynaMediaContainer2 *object,
    GDBusMethodInvocation *invocation,
    guint UploadId,
    const gchar *Path);

void grl_dleyna_media_container2_complete_create_container (
    GrlDleynaMediaContainer2 *object,
    GDBusMethodInvocation *invocation,
    const gchar *Path);

void grl_dleyna_media_container2_complete_create_playlist (
    GrlDleynaMediaContainer2 *object,
    GDBusMethodInvocation *invocation,
    guint UploadId,
    const gchar *Path);

void grl_dleyna_media_container2_complete_get_compatible_resource (
    GrlDleynaMediaContainer2 *object,
    GDBusMethodInvocation *invocation,
    GVariant *Properties);



/* D-Bus method calls: */
void grl_dleyna_media_container2_call_list_children (
    GrlDleynaMediaContainer2 *proxy,
    guint arg_Offset,
    guint arg_Max,
    const gchar *const *arg_Filter,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean grl_dleyna_media_container2_call_list_children_finish (
    GrlDleynaMediaContainer2 *proxy,
    GVariant **out_Children,
    GAsyncResult *res,
    GError **error);

gboolean grl_dleyna_media_container2_call_list_children_sync (
    GrlDleynaMediaContainer2 *proxy,
    guint arg_Offset,
    guint arg_Max,
    const gchar *const *arg_Filter,
    GVariant **out_Children,
    GCancellable *cancellable,
    GError **error);

void grl_dleyna_media_container2_call_list_children_ex (
    GrlDleynaMediaContainer2 *proxy,
    guint arg_Offset,
    guint arg_Max,
    const gchar *const *arg_Filter,
    const gchar *arg_SortBy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean grl_dleyna_media_container2_call_list_children_ex_finish (
    GrlDleynaMediaContainer2 *proxy,
    GVariant **out_Children,
    GAsyncResult *res,
    GError **error);

gboolean grl_dleyna_media_container2_call_list_children_ex_sync (
    GrlDleynaMediaContainer2 *proxy,
    guint arg_Offset,
    guint arg_Max,
    const gchar *const *arg_Filter,
    const gchar *arg_SortBy,
    GVariant **out_Children,
    GCancellable *cancellable,
    GError **error);

void grl_dleyna_media_container2_call_list_containers (
    GrlDleynaMediaContainer2 *proxy,
    guint arg_Offset,
    guint arg_Max,
    const gchar *const *arg_Filter,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean grl_dleyna_media_container2_call_list_containers_finish (
    GrlDleynaMediaContainer2 *proxy,
    GVariant **out_Children,
    GAsyncResult *res,
    GError **error);

gboolean grl_dleyna_media_container2_call_list_containers_sync (
    GrlDleynaMediaContainer2 *proxy,
    guint arg_Offset,
    guint arg_Max,
    const gchar *const *arg_Filter,
    GVariant **out_Children,
    GCancellable *cancellable,
    GError **error);

void grl_dleyna_media_container2_call_list_containers_ex (
    GrlDleynaMediaContainer2 *proxy,
    guint arg_Offset,
    guint arg_Max,
    const gchar *const *arg_Filter,
    const gchar *arg_SortBy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean grl_dleyna_media_container2_call_list_containers_ex_finish (
    GrlDleynaMediaContainer2 *proxy,
    GVariant **out_Children,
    GAsyncResult *res,
    GError **error);

gboolean grl_dleyna_media_container2_call_list_containers_ex_sync (
    GrlDleynaMediaContainer2 *proxy,
    guint arg_Offset,
    guint arg_Max,
    const gchar *const *arg_Filter,
    const gchar *arg_SortBy,
    GVariant **out_Children,
    GCancellable *cancellable,
    GError **error);

void grl_dleyna_media_container2_call_list_items (
    GrlDleynaMediaContainer2 *proxy,
    guint arg_Offset,
    guint arg_Max,
    const gchar *const *arg_Filter,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean grl_dleyna_media_container2_call_list_items_finish (
    GrlDleynaMediaContainer2 *proxy,
    GVariant **out_Children,
    GAsyncResult *res,
    GError **error);

gboolean grl_dleyna_media_container2_call_list_items_sync (
    GrlDleynaMediaContainer2 *proxy,
    guint arg_Offset,
    guint arg_Max,
    const gchar *const *arg_Filter,
    GVariant **out_Children,
    GCancellable *cancellable,
    GError **error);

void grl_dleyna_media_container2_call_list_items_ex (
    GrlDleynaMediaContainer2 *proxy,
    guint arg_Offset,
    guint arg_Max,
    const gchar *const *arg_Filter,
    const gchar *arg_SortBy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean grl_dleyna_media_container2_call_list_items_ex_finish (
    GrlDleynaMediaContainer2 *proxy,
    GVariant **out_Children,
    GAsyncResult *res,
    GError **error);

gboolean grl_dleyna_media_container2_call_list_items_ex_sync (
    GrlDleynaMediaContainer2 *proxy,
    guint arg_Offset,
    guint arg_Max,
    const gchar *const *arg_Filter,
    const gchar *arg_SortBy,
    GVariant **out_Children,
    GCancellable *cancellable,
    GError **error);

void grl_dleyna_media_container2_call_search_objects (
    GrlDleynaMediaContainer2 *proxy,
    const gchar *arg_Query,
    guint arg_Offset,
    guint arg_Max,
    const gchar *const *arg_Filter,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean grl_dleyna_media_container2_call_search_objects_finish (
    GrlDleynaMediaContainer2 *proxy,
    GVariant **out_Children,
    GAsyncResult *res,
    GError **error);

gboolean grl_dleyna_media_container2_call_search_objects_sync (
    GrlDleynaMediaContainer2 *proxy,
    const gchar *arg_Query,
    guint arg_Offset,
    guint arg_Max,
    const gchar *const *arg_Filter,
    GVariant **out_Children,
    GCancellable *cancellable,
    GError **error);

void grl_dleyna_media_container2_call_search_objects_ex (
    GrlDleynaMediaContainer2 *proxy,
    const gchar *arg_Query,
    guint arg_Offset,
    guint arg_Max,
    const gchar *const *arg_Filter,
    const gchar *arg_SortBy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean grl_dleyna_media_container2_call_search_objects_ex_finish (
    GrlDleynaMediaContainer2 *proxy,
    GVariant **out_Children,
    guint *out_TotalItems,
    GAsyncResult *res,
    GError **error);

gboolean grl_dleyna_media_container2_call_search_objects_ex_sync (
    GrlDleynaMediaContainer2 *proxy,
    const gchar *arg_Query,
    guint arg_Offset,
    guint arg_Max,
    const gchar *const *arg_Filter,
    const gchar *arg_SortBy,
    GVariant **out_Children,
    guint *out_TotalItems,
    GCancellable *cancellable,
    GError **error);

void grl_dleyna_media_container2_call_upload (
    GrlDleynaMediaContainer2 *proxy,
    const gchar *arg_DisplayName,
    const gchar *arg_FilePath,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean grl_dleyna_media_container2_call_upload_finish (
    GrlDleynaMediaContainer2 *proxy,
    guint *out_UploadId,
    gchar **out_Path,
    GAsyncResult *res,
    GError **error);

gboolean grl_dleyna_media_container2_call_upload_sync (
    GrlDleynaMediaContainer2 *proxy,
    const gchar *arg_DisplayName,
    const gchar *arg_FilePath,
    guint *out_UploadId,
    gchar **out_Path,
    GCancellable *cancellable,
    GError **error);

void grl_dleyna_media_container2_call_create_container (
    GrlDleynaMediaContainer2 *proxy,
    const gchar *arg_DisplayName,
    const gchar *arg_Type,
    const gchar *const *arg_ChildTypes,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean grl_dleyna_media_container2_call_create_container_finish (
    GrlDleynaMediaContainer2 *proxy,
    gchar **out_Path,
    GAsyncResult *res,
    GError **error);

gboolean grl_dleyna_media_container2_call_create_container_sync (
    GrlDleynaMediaContainer2 *proxy,
    const gchar *arg_DisplayName,
    const gchar *arg_Type,
    const gchar *const *arg_ChildTypes,
    gchar **out_Path,
    GCancellable *cancellable,
    GError **error);

void grl_dleyna_media_container2_call_create_playlist (
    GrlDleynaMediaContainer2 *proxy,
    const gchar *arg_Title,
    const gchar *arg_Creator,
    const gchar *arg_Genre,
    const gchar *arg_Description,
    const gchar *const *arg_PlaylistItems,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean grl_dleyna_media_container2_call_create_playlist_finish (
    GrlDleynaMediaContainer2 *proxy,
    guint *out_UploadId,
    gchar **out_Path,
    GAsyncResult *res,
    GError **error);

gboolean grl_dleyna_media_container2_call_create_playlist_sync (
    GrlDleynaMediaContainer2 *proxy,
    const gchar *arg_Title,
    const gchar *arg_Creator,
    const gchar *arg_Genre,
    const gchar *arg_Description,
    const gchar *const *arg_PlaylistItems,
    guint *out_UploadId,
    gchar **out_Path,
    GCancellable *cancellable,
    GError **error);

void grl_dleyna_media_container2_call_get_compatible_resource (
    GrlDleynaMediaContainer2 *proxy,
    const gchar *arg_ProtocolInfo,
    const gchar *const *arg_Filter,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean grl_dleyna_media_container2_call_get_compatible_resource_finish (
    GrlDleynaMediaContainer2 *proxy,
    GVariant **out_Properties,
    GAsyncResult *res,
    GError **error);

gboolean grl_dleyna_media_container2_call_get_compatible_resource_sync (
    GrlDleynaMediaContainer2 *proxy,
    const gchar *arg_ProtocolInfo,
    const gchar *const *arg_Filter,
    GVariant **out_Properties,
    GCancellable *cancellable,
    GError **error);



/* D-Bus property accessors: */
guint grl_dleyna_media_container2_get_child_count (GrlDleynaMediaContainer2 *object);
void grl_dleyna_media_container2_set_child_count (GrlDleynaMediaContainer2 *object, guint value);

gboolean grl_dleyna_media_container2_get_searchable (GrlDleynaMediaContainer2 *object);
void grl_dleyna_media_container2_set_searchable (GrlDleynaMediaContainer2 *object, gboolean value);

GVariant *grl_dleyna_media_container2_get_create_classes (GrlDleynaMediaContainer2 *object);
GVariant *grl_dleyna_media_container2_dup_create_classes (GrlDleynaMediaContainer2 *object);
void grl_dleyna_media_container2_set_create_classes (GrlDleynaMediaContainer2 *object, GVariant *value);

guint grl_dleyna_media_container2_get_container_update_id (GrlDleynaMediaContainer2 *object);
void grl_dleyna_media_container2_set_container_update_id (GrlDleynaMediaContainer2 *object, guint value);

guint grl_dleyna_media_container2_get_total_deleted_child_count (GrlDleynaMediaContainer2 *object);
void grl_dleyna_media_container2_set_total_deleted_child_count (GrlDleynaMediaContainer2 *object, guint value);

GVariant *grl_dleyna_media_container2_get_resources (GrlDleynaMediaContainer2 *object);
GVariant *grl_dleyna_media_container2_dup_resources (GrlDleynaMediaContainer2 *object);
void grl_dleyna_media_container2_set_resources (GrlDleynaMediaContainer2 *object, GVariant *value);

const gchar *const *grl_dleyna_media_container2_get_urls (GrlDleynaMediaContainer2 *object);
gchar **grl_dleyna_media_container2_dup_urls (GrlDleynaMediaContainer2 *object);
void grl_dleyna_media_container2_set_urls (GrlDleynaMediaContainer2 *object, const gchar *const *value);

const gchar *grl_dleyna_media_container2_get_mimetype (GrlDleynaMediaContainer2 *object);
gchar *grl_dleyna_media_container2_dup_mimetype (GrlDleynaMediaContainer2 *object);
void grl_dleyna_media_container2_set_mimetype (GrlDleynaMediaContainer2 *object, const gchar *value);

const gchar *grl_dleyna_media_container2_get_dlnaprofile (GrlDleynaMediaContainer2 *object);
gchar *grl_dleyna_media_container2_dup_dlnaprofile (GrlDleynaMediaContainer2 *object);
void grl_dleyna_media_container2_set_dlnaprofile (GrlDleynaMediaContainer2 *object, const gchar *value);

GVariant *grl_dleyna_media_container2_get_dlnaconversion (GrlDleynaMediaContainer2 *object);
GVariant *grl_dleyna_media_container2_dup_dlnaconversion (GrlDleynaMediaContainer2 *object);
void grl_dleyna_media_container2_set_dlnaconversion (GrlDleynaMediaContainer2 *object, GVariant *value);

GVariant *grl_dleyna_media_container2_get_dlnaoperation (GrlDleynaMediaContainer2 *object);
GVariant *grl_dleyna_media_container2_dup_dlnaoperation (GrlDleynaMediaContainer2 *object);
void grl_dleyna_media_container2_set_dlnaoperation (GrlDleynaMediaContainer2 *object, GVariant *value);

GVariant *grl_dleyna_media_container2_get_dlnaflags (GrlDleynaMediaContainer2 *object);
GVariant *grl_dleyna_media_container2_dup_dlnaflags (GrlDleynaMediaContainer2 *object);
void grl_dleyna_media_container2_set_dlnaflags (GrlDleynaMediaContainer2 *object, GVariant *value);

gint64 grl_dleyna_media_container2_get_size (GrlDleynaMediaContainer2 *object);
void grl_dleyna_media_container2_set_size (GrlDleynaMediaContainer2 *object, gint64 value);


/* ---- */

#define GRL_DLEYNA_TYPE_MEDIA_CONTAINER2_PROXY (grl_dleyna_media_container2_proxy_get_type ())
#define GRL_DLEYNA_MEDIA_CONTAINER2_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GRL_DLEYNA_TYPE_MEDIA_CONTAINER2_PROXY, GrlDleynaMediaContainer2Proxy))
#define GRL_DLEYNA_MEDIA_CONTAINER2_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GRL_DLEYNA_TYPE_MEDIA_CONTAINER2_PROXY, GrlDleynaMediaContainer2ProxyClass))
#define GRL_DLEYNA_MEDIA_CONTAINER2_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GRL_DLEYNA_TYPE_MEDIA_CONTAINER2_PROXY, GrlDleynaMediaContainer2ProxyClass))
#define GRL_DLEYNA_IS_MEDIA_CONTAINER2_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GRL_DLEYNA_TYPE_MEDIA_CONTAINER2_PROXY))
#define GRL_DLEYNA_IS_MEDIA_CONTAINER2_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GRL_DLEYNA_TYPE_MEDIA_CONTAINER2_PROXY))

typedef struct _GrlDleynaMediaContainer2Proxy GrlDleynaMediaContainer2Proxy;
typedef struct _GrlDleynaMediaContainer2ProxyClass GrlDleynaMediaContainer2ProxyClass;
typedef struct _GrlDleynaMediaContainer2ProxyPrivate GrlDleynaMediaContainer2ProxyPrivate;

struct _GrlDleynaMediaContainer2Proxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  GrlDleynaMediaContainer2ProxyPrivate *priv;
};

struct _GrlDleynaMediaContainer2ProxyClass
{
  GDBusProxyClass parent_class;
};

GType grl_dleyna_media_container2_proxy_get_type (void) G_GNUC_CONST;

#if GLIB_CHECK_VERSION(2, 44, 0)
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GrlDleynaMediaContainer2Proxy, g_object_unref)
#endif

void grl_dleyna_media_container2_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GrlDleynaMediaContainer2 *grl_dleyna_media_container2_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
GrlDleynaMediaContainer2 *grl_dleyna_media_container2_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void grl_dleyna_media_container2_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GrlDleynaMediaContainer2 *grl_dleyna_media_container2_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
GrlDleynaMediaContainer2 *grl_dleyna_media_container2_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define GRL_DLEYNA_TYPE_MEDIA_CONTAINER2_SKELETON (grl_dleyna_media_container2_skeleton_get_type ())
#define GRL_DLEYNA_MEDIA_CONTAINER2_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GRL_DLEYNA_TYPE_MEDIA_CONTAINER2_SKELETON, GrlDleynaMediaContainer2Skeleton))
#define GRL_DLEYNA_MEDIA_CONTAINER2_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GRL_DLEYNA_TYPE_MEDIA_CONTAINER2_SKELETON, GrlDleynaMediaContainer2SkeletonClass))
#define GRL_DLEYNA_MEDIA_CONTAINER2_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GRL_DLEYNA_TYPE_MEDIA_CONTAINER2_SKELETON, GrlDleynaMediaContainer2SkeletonClass))
#define GRL_DLEYNA_IS_MEDIA_CONTAINER2_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GRL_DLEYNA_TYPE_MEDIA_CONTAINER2_SKELETON))
#define GRL_DLEYNA_IS_MEDIA_CONTAINER2_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GRL_DLEYNA_TYPE_MEDIA_CONTAINER2_SKELETON))

typedef struct _GrlDleynaMediaContainer2Skeleton GrlDleynaMediaContainer2Skeleton;
typedef struct _GrlDleynaMediaContainer2SkeletonClass GrlDleynaMediaContainer2SkeletonClass;
typedef struct _GrlDleynaMediaContainer2SkeletonPrivate GrlDleynaMediaContainer2SkeletonPrivate;

struct _GrlDleynaMediaContainer2Skeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  GrlDleynaMediaContainer2SkeletonPrivate *priv;
};

struct _GrlDleynaMediaContainer2SkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType grl_dleyna_media_container2_skeleton_get_type (void) G_GNUC_CONST;

#if GLIB_CHECK_VERSION(2, 44, 0)
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GrlDleynaMediaContainer2Skeleton, g_object_unref)
#endif

GrlDleynaMediaContainer2 *grl_dleyna_media_container2_skeleton_new (void);


G_END_DECLS

#endif /* __GRL_DLEYNA_PROXY_MEDIASERVER2_H__ */
