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

#include <gio/gio.h>

G_BEGIN_DECLS


/* ------------------------------------------------------------------------ */
/* Declarations for org.freedesktop.UPower.Device */

#define CS_TYPE_UPOWER_DEVICE (cs_upower_device_get_type ())
#define CS_UPOWER_DEVICE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), CS_TYPE_UPOWER_DEVICE, CsUPowerDevice))
#define CS_IS_UPOWER_DEVICE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), CS_TYPE_UPOWER_DEVICE))
#define CS_UPOWER_DEVICE_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), CS_TYPE_UPOWER_DEVICE, CsUPowerDeviceIface))

struct _CsUPowerDevice;
typedef struct _CsUPowerDevice CsUPowerDevice;
typedef struct _CsUPowerDeviceIface CsUPowerDeviceIface;

struct _CsUPowerDeviceIface
{
  GTypeInterface parent_iface;

  const gchar * (*get_icon_name) (CsUPowerDevice *object);

  gboolean  (*get_online) (CsUPowerDevice *object);

  gdouble  (*get_percentage) (CsUPowerDevice *object);

  guint  (*get_state) (CsUPowerDevice *object);

  guint  (*get_type_) (CsUPowerDevice *object);

  guint  (*get_warning_level) (CsUPowerDevice *object);

};

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

GType cs_upower_device_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *cs_upower_device_interface_info (void);
guint cs_upower_device_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus property accessors: */
guint cs_upower_device_get_type_ (CsUPowerDevice *object);
void cs_upower_device_set_type_ (CsUPowerDevice *object, guint value);

gdouble cs_upower_device_get_percentage (CsUPowerDevice *object);
void cs_upower_device_set_percentage (CsUPowerDevice *object, gdouble value);

gboolean cs_upower_device_get_online (CsUPowerDevice *object);
void cs_upower_device_set_online (CsUPowerDevice *object, gboolean value);

guint cs_upower_device_get_state (CsUPowerDevice *object);
void cs_upower_device_set_state (CsUPowerDevice *object, guint value);

guint cs_upower_device_get_warning_level (CsUPowerDevice *object);
void cs_upower_device_set_warning_level (CsUPowerDevice *object, guint value);

const gchar *cs_upower_device_get_icon_name (CsUPowerDevice *object);
gchar *cs_upower_device_dup_icon_name (CsUPowerDevice *object);
void cs_upower_device_set_icon_name (CsUPowerDevice *object, const gchar *value);


/* ---- */

#define CS_TYPE_UPOWER_DEVICE_PROXY (cs_upower_device_proxy_get_type ())
#define CS_UPOWER_DEVICE_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), CS_TYPE_UPOWER_DEVICE_PROXY, CsUPowerDeviceProxy))
#define CS_UPOWER_DEVICE_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), CS_TYPE_UPOWER_DEVICE_PROXY, CsUPowerDeviceProxyClass))
#define CS_UPOWER_DEVICE_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), CS_TYPE_UPOWER_DEVICE_PROXY, CsUPowerDeviceProxyClass))
#define CS_IS_UPOWER_DEVICE_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), CS_TYPE_UPOWER_DEVICE_PROXY))
#define CS_IS_UPOWER_DEVICE_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), CS_TYPE_UPOWER_DEVICE_PROXY))

typedef struct _CsUPowerDeviceProxy CsUPowerDeviceProxy;
typedef struct _CsUPowerDeviceProxyClass CsUPowerDeviceProxyClass;
typedef struct _CsUPowerDeviceProxyPrivate CsUPowerDeviceProxyPrivate;

struct _CsUPowerDeviceProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  CsUPowerDeviceProxyPrivate *priv;
};

struct _CsUPowerDeviceProxyClass
{
  GDBusProxyClass parent_class;
};

GType cs_upower_device_proxy_get_type (void) G_GNUC_CONST;

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

void cs_upower_device_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
CsUPowerDevice *cs_upower_device_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
CsUPowerDevice *cs_upower_device_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void cs_upower_device_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
CsUPowerDevice *cs_upower_device_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
CsUPowerDevice *cs_upower_device_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define CS_TYPE_UPOWER_DEVICE_SKELETON (cs_upower_device_skeleton_get_type ())
#define CS_UPOWER_DEVICE_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), CS_TYPE_UPOWER_DEVICE_SKELETON, CsUPowerDeviceSkeleton))
#define CS_UPOWER_DEVICE_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), CS_TYPE_UPOWER_DEVICE_SKELETON, CsUPowerDeviceSkeletonClass))
#define CS_UPOWER_DEVICE_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), CS_TYPE_UPOWER_DEVICE_SKELETON, CsUPowerDeviceSkeletonClass))
#define CS_IS_UPOWER_DEVICE_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), CS_TYPE_UPOWER_DEVICE_SKELETON))
#define CS_IS_UPOWER_DEVICE_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), CS_TYPE_UPOWER_DEVICE_SKELETON))

typedef struct _CsUPowerDeviceSkeleton CsUPowerDeviceSkeleton;
typedef struct _CsUPowerDeviceSkeletonClass CsUPowerDeviceSkeletonClass;
typedef struct _CsUPowerDeviceSkeletonPrivate CsUPowerDeviceSkeletonPrivate;

struct _CsUPowerDeviceSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  CsUPowerDeviceSkeletonPrivate *priv;
};

struct _CsUPowerDeviceSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType cs_upower_device_skeleton_get_type (void) G_GNUC_CONST;

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

CsUPowerDevice *cs_upower_device_skeleton_new (void);


G_END_DECLS

#endif /* __CS_UPOWER_DEVICE_PROXY_H__ */
