/*
 * 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_MEDIADEVICE_H__
#define __GRL_DLEYNA_PROXY_MEDIADEVICE_H__

#include <gio/gio.h>

G_BEGIN_DECLS


/* ------------------------------------------------------------------------ */
/* Declarations for com.intel.dLeynaServer.MediaDevice */

#define GRL_DLEYNA_TYPE_MEDIA_DEVICE (grl_dleyna_media_device_get_type ())
#define GRL_DLEYNA_MEDIA_DEVICE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GRL_DLEYNA_TYPE_MEDIA_DEVICE, GrlDleynaMediaDevice))
#define GRL_DLEYNA_IS_MEDIA_DEVICE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GRL_DLEYNA_TYPE_MEDIA_DEVICE))
#define GRL_DLEYNA_MEDIA_DEVICE_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), GRL_DLEYNA_TYPE_MEDIA_DEVICE, GrlDleynaMediaDeviceIface))

struct _GrlDleynaMediaDevice;
typedef struct _GrlDleynaMediaDevice GrlDleynaMediaDevice;
typedef struct _GrlDleynaMediaDeviceIface GrlDleynaMediaDeviceIface;

struct _GrlDleynaMediaDeviceIface
{
  GTypeInterface parent_iface;



  gboolean (*handle_browse_objects) (
    GrlDleynaMediaDevice *object,
    GDBusMethodInvocation *invocation,
    const gchar *const *arg_Objects,
    const gchar *const *arg_Filter);

  gboolean (*handle_cancel) (
    GrlDleynaMediaDevice *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_cancel_upload) (
    GrlDleynaMediaDevice *object,
    GDBusMethodInvocation *invocation,
    guint arg_UploadId);

  gboolean (*handle_create_container_in_any_container) (
    GrlDleynaMediaDevice *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_DisplayName,
    const gchar *arg_Type,
    const gchar *const *arg_ChildTypes);

  gboolean (*handle_create_playlist_in_any_container) (
    GrlDleynaMediaDevice *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_upload_ids) (
    GrlDleynaMediaDevice *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_get_upload_status) (
    GrlDleynaMediaDevice *object,
    GDBusMethodInvocation *invocation,
    guint arg_UploadId);

  gboolean (*handle_upload_to_any_container) (
    GrlDleynaMediaDevice *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_DisplayName,
    const gchar *arg_FilePath);

  const gchar * (*get_device_type) (GrlDleynaMediaDevice *object);

  GVariant * (*get_dlnacaps) (GrlDleynaMediaDevice *object);

  GVariant * (*get_feature_list) (GrlDleynaMediaDevice *object);

  const gchar * (*get_friendly_name) (GrlDleynaMediaDevice *object);

  const gchar * (*get_icon_url) (GrlDleynaMediaDevice *object);

  const gchar * (*get_location) (GrlDleynaMediaDevice *object);

  const gchar * (*get_manufacturer) (GrlDleynaMediaDevice *object);

  const gchar * (*get_manufacturer_url) (GrlDleynaMediaDevice *object);

  const gchar * (*get_model_description) (GrlDleynaMediaDevice *object);

  const gchar * (*get_model_name) (GrlDleynaMediaDevice *object);

  const gchar * (*get_model_number) (GrlDleynaMediaDevice *object);

  const gchar * (*get_model_url) (GrlDleynaMediaDevice *object);

  const gchar * (*get_presentation_url) (GrlDleynaMediaDevice *object);

  const gchar *const * (*get_search_caps) (GrlDleynaMediaDevice *object);

  const gchar * (*get_serial_number) (GrlDleynaMediaDevice *object);

  const gchar * (*get_service_reset_token) (GrlDleynaMediaDevice *object);

  const gchar *const * (*get_sort_caps) (GrlDleynaMediaDevice *object);

  const gchar *const * (*get_sort_ext_caps) (GrlDleynaMediaDevice *object);

  guint  (*get_system_update_id) (GrlDleynaMediaDevice *object);

  const gchar * (*get_udn) (GrlDleynaMediaDevice *object);

  void (*changed) (
    GrlDleynaMediaDevice *object,
    GVariant *arg_ChangedObjects);

  void (*container_update_ids) (
    GrlDleynaMediaDevice *object,
    GVariant *arg_ContainerPathsIDs);

  void (*last_change) (
    GrlDleynaMediaDevice *object,
    GVariant *arg_StateEvent);

  void (*upload_update) (
    GrlDleynaMediaDevice *object,
    guint arg_UploadId,
    const gchar *arg_UploadStatus,
    guint64 arg_Length,
    guint64 arg_Total);

};

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

GType grl_dleyna_media_device_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *grl_dleyna_media_device_interface_info (void);
guint grl_dleyna_media_device_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void grl_dleyna_media_device_complete_upload_to_any_container (
    GrlDleynaMediaDevice *object,
    GDBusMethodInvocation *invocation,
    guint UploadId,
    const gchar *Path);

void grl_dleyna_media_device_complete_get_upload_status (
    GrlDleynaMediaDevice *object,
    GDBusMethodInvocation *invocation,
    const gchar *UploadStatus,
    guint64 Length,
    guint64 Total);

void grl_dleyna_media_device_complete_get_upload_ids (
    GrlDleynaMediaDevice *object,
    GDBusMethodInvocation *invocation,
    GVariant *Total);

void grl_dleyna_media_device_complete_cancel_upload (
    GrlDleynaMediaDevice *object,
    GDBusMethodInvocation *invocation);

void grl_dleyna_media_device_complete_create_container_in_any_container (
    GrlDleynaMediaDevice *object,
    GDBusMethodInvocation *invocation,
    const gchar *Path);

void grl_dleyna_media_device_complete_cancel (
    GrlDleynaMediaDevice *object,
    GDBusMethodInvocation *invocation);

void grl_dleyna_media_device_complete_create_playlist_in_any_container (
    GrlDleynaMediaDevice *object,
    GDBusMethodInvocation *invocation,
    guint UploadId,
    const gchar *Path);

void grl_dleyna_media_device_complete_browse_objects (
    GrlDleynaMediaDevice *object,
    GDBusMethodInvocation *invocation,
    GVariant *Children);



/* D-Bus signal emissions functions: */
void grl_dleyna_media_device_emit_container_update_ids (
    GrlDleynaMediaDevice *object,
    GVariant *arg_ContainerPathsIDs);

void grl_dleyna_media_device_emit_last_change (
    GrlDleynaMediaDevice *object,
    GVariant *arg_StateEvent);

void grl_dleyna_media_device_emit_changed (
    GrlDleynaMediaDevice *object,
    GVariant *arg_ChangedObjects);

void grl_dleyna_media_device_emit_upload_update (
    GrlDleynaMediaDevice *object,
    guint arg_UploadId,
    const gchar *arg_UploadStatus,
    guint64 arg_Length,
    guint64 arg_Total);



/* D-Bus method calls: */
void grl_dleyna_media_device_call_upload_to_any_container (
    GrlDleynaMediaDevice *proxy,
    const gchar *arg_DisplayName,
    const gchar *arg_FilePath,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean grl_dleyna_media_device_call_upload_to_any_container_finish (
    GrlDleynaMediaDevice *proxy,
    guint *out_UploadId,
    gchar **out_Path,
    GAsyncResult *res,
    GError **error);

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

void grl_dleyna_media_device_call_get_upload_status (
    GrlDleynaMediaDevice *proxy,
    guint arg_UploadId,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean grl_dleyna_media_device_call_get_upload_status_finish (
    GrlDleynaMediaDevice *proxy,
    gchar **out_UploadStatus,
    guint64 *out_Length,
    guint64 *out_Total,
    GAsyncResult *res,
    GError **error);

gboolean grl_dleyna_media_device_call_get_upload_status_sync (
    GrlDleynaMediaDevice *proxy,
    guint arg_UploadId,
    gchar **out_UploadStatus,
    guint64 *out_Length,
    guint64 *out_Total,
    GCancellable *cancellable,
    GError **error);

void grl_dleyna_media_device_call_get_upload_ids (
    GrlDleynaMediaDevice *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean grl_dleyna_media_device_call_get_upload_ids_finish (
    GrlDleynaMediaDevice *proxy,
    GVariant **out_Total,
    GAsyncResult *res,
    GError **error);

gboolean grl_dleyna_media_device_call_get_upload_ids_sync (
    GrlDleynaMediaDevice *proxy,
    GVariant **out_Total,
    GCancellable *cancellable,
    GError **error);

void grl_dleyna_media_device_call_cancel_upload (
    GrlDleynaMediaDevice *proxy,
    guint arg_UploadId,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean grl_dleyna_media_device_call_cancel_upload_finish (
    GrlDleynaMediaDevice *proxy,
    GAsyncResult *res,
    GError **error);

gboolean grl_dleyna_media_device_call_cancel_upload_sync (
    GrlDleynaMediaDevice *proxy,
    guint arg_UploadId,
    GCancellable *cancellable,
    GError **error);

void grl_dleyna_media_device_call_create_container_in_any_container (
    GrlDleynaMediaDevice *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_device_call_create_container_in_any_container_finish (
    GrlDleynaMediaDevice *proxy,
    gchar **out_Path,
    GAsyncResult *res,
    GError **error);

gboolean grl_dleyna_media_device_call_create_container_in_any_container_sync (
    GrlDleynaMediaDevice *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_device_call_cancel (
    GrlDleynaMediaDevice *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean grl_dleyna_media_device_call_cancel_finish (
    GrlDleynaMediaDevice *proxy,
    GAsyncResult *res,
    GError **error);

gboolean grl_dleyna_media_device_call_cancel_sync (
    GrlDleynaMediaDevice *proxy,
    GCancellable *cancellable,
    GError **error);

void grl_dleyna_media_device_call_create_playlist_in_any_container (
    GrlDleynaMediaDevice *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_device_call_create_playlist_in_any_container_finish (
    GrlDleynaMediaDevice *proxy,
    guint *out_UploadId,
    gchar **out_Path,
    GAsyncResult *res,
    GError **error);

gboolean grl_dleyna_media_device_call_create_playlist_in_any_container_sync (
    GrlDleynaMediaDevice *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_device_call_browse_objects (
    GrlDleynaMediaDevice *proxy,
    const gchar *const *arg_Objects,
    const gchar *const *arg_Filter,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean grl_dleyna_media_device_call_browse_objects_finish (
    GrlDleynaMediaDevice *proxy,
    GVariant **out_Children,
    GAsyncResult *res,
    GError **error);

gboolean grl_dleyna_media_device_call_browse_objects_sync (
    GrlDleynaMediaDevice *proxy,
    const gchar *const *arg_Objects,
    const gchar *const *arg_Filter,
    GVariant **out_Children,
    GCancellable *cancellable,
    GError **error);



/* D-Bus property accessors: */
const gchar *grl_dleyna_media_device_get_location (GrlDleynaMediaDevice *object);
gchar *grl_dleyna_media_device_dup_location (GrlDleynaMediaDevice *object);
void grl_dleyna_media_device_set_location (GrlDleynaMediaDevice *object, const gchar *value);

const gchar *grl_dleyna_media_device_get_udn (GrlDleynaMediaDevice *object);
gchar *grl_dleyna_media_device_dup_udn (GrlDleynaMediaDevice *object);
void grl_dleyna_media_device_set_udn (GrlDleynaMediaDevice *object, const gchar *value);

const gchar *grl_dleyna_media_device_get_device_type (GrlDleynaMediaDevice *object);
gchar *grl_dleyna_media_device_dup_device_type (GrlDleynaMediaDevice *object);
void grl_dleyna_media_device_set_device_type (GrlDleynaMediaDevice *object, const gchar *value);

const gchar *grl_dleyna_media_device_get_friendly_name (GrlDleynaMediaDevice *object);
gchar *grl_dleyna_media_device_dup_friendly_name (GrlDleynaMediaDevice *object);
void grl_dleyna_media_device_set_friendly_name (GrlDleynaMediaDevice *object, const gchar *value);

const gchar *grl_dleyna_media_device_get_manufacturer (GrlDleynaMediaDevice *object);
gchar *grl_dleyna_media_device_dup_manufacturer (GrlDleynaMediaDevice *object);
void grl_dleyna_media_device_set_manufacturer (GrlDleynaMediaDevice *object, const gchar *value);

const gchar *grl_dleyna_media_device_get_manufacturer_url (GrlDleynaMediaDevice *object);
gchar *grl_dleyna_media_device_dup_manufacturer_url (GrlDleynaMediaDevice *object);
void grl_dleyna_media_device_set_manufacturer_url (GrlDleynaMediaDevice *object, const gchar *value);

const gchar *grl_dleyna_media_device_get_model_description (GrlDleynaMediaDevice *object);
gchar *grl_dleyna_media_device_dup_model_description (GrlDleynaMediaDevice *object);
void grl_dleyna_media_device_set_model_description (GrlDleynaMediaDevice *object, const gchar *value);

const gchar *grl_dleyna_media_device_get_model_name (GrlDleynaMediaDevice *object);
gchar *grl_dleyna_media_device_dup_model_name (GrlDleynaMediaDevice *object);
void grl_dleyna_media_device_set_model_name (GrlDleynaMediaDevice *object, const gchar *value);

const gchar *grl_dleyna_media_device_get_model_number (GrlDleynaMediaDevice *object);
gchar *grl_dleyna_media_device_dup_model_number (GrlDleynaMediaDevice *object);
void grl_dleyna_media_device_set_model_number (GrlDleynaMediaDevice *object, const gchar *value);

const gchar *grl_dleyna_media_device_get_model_url (GrlDleynaMediaDevice *object);
gchar *grl_dleyna_media_device_dup_model_url (GrlDleynaMediaDevice *object);
void grl_dleyna_media_device_set_model_url (GrlDleynaMediaDevice *object, const gchar *value);

const gchar *grl_dleyna_media_device_get_serial_number (GrlDleynaMediaDevice *object);
gchar *grl_dleyna_media_device_dup_serial_number (GrlDleynaMediaDevice *object);
void grl_dleyna_media_device_set_serial_number (GrlDleynaMediaDevice *object, const gchar *value);

const gchar *grl_dleyna_media_device_get_presentation_url (GrlDleynaMediaDevice *object);
gchar *grl_dleyna_media_device_dup_presentation_url (GrlDleynaMediaDevice *object);
void grl_dleyna_media_device_set_presentation_url (GrlDleynaMediaDevice *object, const gchar *value);

const gchar *grl_dleyna_media_device_get_icon_url (GrlDleynaMediaDevice *object);
gchar *grl_dleyna_media_device_dup_icon_url (GrlDleynaMediaDevice *object);
void grl_dleyna_media_device_set_icon_url (GrlDleynaMediaDevice *object, const gchar *value);

GVariant *grl_dleyna_media_device_get_dlnacaps (GrlDleynaMediaDevice *object);
GVariant *grl_dleyna_media_device_dup_dlnacaps (GrlDleynaMediaDevice *object);
void grl_dleyna_media_device_set_dlnacaps (GrlDleynaMediaDevice *object, GVariant *value);

const gchar *const *grl_dleyna_media_device_get_search_caps (GrlDleynaMediaDevice *object);
gchar **grl_dleyna_media_device_dup_search_caps (GrlDleynaMediaDevice *object);
void grl_dleyna_media_device_set_search_caps (GrlDleynaMediaDevice *object, const gchar *const *value);

const gchar *const *grl_dleyna_media_device_get_sort_caps (GrlDleynaMediaDevice *object);
gchar **grl_dleyna_media_device_dup_sort_caps (GrlDleynaMediaDevice *object);
void grl_dleyna_media_device_set_sort_caps (GrlDleynaMediaDevice *object, const gchar *const *value);

const gchar *const *grl_dleyna_media_device_get_sort_ext_caps (GrlDleynaMediaDevice *object);
gchar **grl_dleyna_media_device_dup_sort_ext_caps (GrlDleynaMediaDevice *object);
void grl_dleyna_media_device_set_sort_ext_caps (GrlDleynaMediaDevice *object, const gchar *const *value);

GVariant *grl_dleyna_media_device_get_feature_list (GrlDleynaMediaDevice *object);
GVariant *grl_dleyna_media_device_dup_feature_list (GrlDleynaMediaDevice *object);
void grl_dleyna_media_device_set_feature_list (GrlDleynaMediaDevice *object, GVariant *value);

guint grl_dleyna_media_device_get_system_update_id (GrlDleynaMediaDevice *object);
void grl_dleyna_media_device_set_system_update_id (GrlDleynaMediaDevice *object, guint value);

const gchar *grl_dleyna_media_device_get_service_reset_token (GrlDleynaMediaDevice *object);
gchar *grl_dleyna_media_device_dup_service_reset_token (GrlDleynaMediaDevice *object);
void grl_dleyna_media_device_set_service_reset_token (GrlDleynaMediaDevice *object, const gchar *value);


/* ---- */

#define GRL_DLEYNA_TYPE_MEDIA_DEVICE_PROXY (grl_dleyna_media_device_proxy_get_type ())
#define GRL_DLEYNA_MEDIA_DEVICE_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GRL_DLEYNA_TYPE_MEDIA_DEVICE_PROXY, GrlDleynaMediaDeviceProxy))
#define GRL_DLEYNA_MEDIA_DEVICE_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GRL_DLEYNA_TYPE_MEDIA_DEVICE_PROXY, GrlDleynaMediaDeviceProxyClass))
#define GRL_DLEYNA_MEDIA_DEVICE_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GRL_DLEYNA_TYPE_MEDIA_DEVICE_PROXY, GrlDleynaMediaDeviceProxyClass))
#define GRL_DLEYNA_IS_MEDIA_DEVICE_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GRL_DLEYNA_TYPE_MEDIA_DEVICE_PROXY))
#define GRL_DLEYNA_IS_MEDIA_DEVICE_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GRL_DLEYNA_TYPE_MEDIA_DEVICE_PROXY))

typedef struct _GrlDleynaMediaDeviceProxy GrlDleynaMediaDeviceProxy;
typedef struct _GrlDleynaMediaDeviceProxyClass GrlDleynaMediaDeviceProxyClass;
typedef struct _GrlDleynaMediaDeviceProxyPrivate GrlDleynaMediaDeviceProxyPrivate;

struct _GrlDleynaMediaDeviceProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  GrlDleynaMediaDeviceProxyPrivate *priv;
};

struct _GrlDleynaMediaDeviceProxyClass
{
  GDBusProxyClass parent_class;
};

GType grl_dleyna_media_device_proxy_get_type (void) G_GNUC_CONST;

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

void grl_dleyna_media_device_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GrlDleynaMediaDevice *grl_dleyna_media_device_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
GrlDleynaMediaDevice *grl_dleyna_media_device_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void grl_dleyna_media_device_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GrlDleynaMediaDevice *grl_dleyna_media_device_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
GrlDleynaMediaDevice *grl_dleyna_media_device_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_DEVICE_SKELETON (grl_dleyna_media_device_skeleton_get_type ())
#define GRL_DLEYNA_MEDIA_DEVICE_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GRL_DLEYNA_TYPE_MEDIA_DEVICE_SKELETON, GrlDleynaMediaDeviceSkeleton))
#define GRL_DLEYNA_MEDIA_DEVICE_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GRL_DLEYNA_TYPE_MEDIA_DEVICE_SKELETON, GrlDleynaMediaDeviceSkeletonClass))
#define GRL_DLEYNA_MEDIA_DEVICE_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GRL_DLEYNA_TYPE_MEDIA_DEVICE_SKELETON, GrlDleynaMediaDeviceSkeletonClass))
#define GRL_DLEYNA_IS_MEDIA_DEVICE_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GRL_DLEYNA_TYPE_MEDIA_DEVICE_SKELETON))
#define GRL_DLEYNA_IS_MEDIA_DEVICE_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GRL_DLEYNA_TYPE_MEDIA_DEVICE_SKELETON))

typedef struct _GrlDleynaMediaDeviceSkeleton GrlDleynaMediaDeviceSkeleton;
typedef struct _GrlDleynaMediaDeviceSkeletonClass GrlDleynaMediaDeviceSkeletonClass;
typedef struct _GrlDleynaMediaDeviceSkeletonPrivate GrlDleynaMediaDeviceSkeletonPrivate;

struct _GrlDleynaMediaDeviceSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  GrlDleynaMediaDeviceSkeletonPrivate *priv;
};

struct _GrlDleynaMediaDeviceSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType grl_dleyna_media_device_skeleton_get_type (void) G_GNUC_CONST;

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

GrlDleynaMediaDevice *grl_dleyna_media_device_skeleton_new (void);


G_END_DECLS

#endif /* __GRL_DLEYNA_PROXY_MEDIADEVICE_H__ */
