mirror of
https://gitlab.freedesktop.org/upower/upower.git
synced 2026-05-05 06:28:00 +02:00
daemon: make UpDevice a subclass of UpExportedDeviceSkeleton
Removes proxying of properties from one object to the other.
This commit is contained in:
parent
c108a8e8a4
commit
8ad64459be
2 changed files with 131 additions and 450 deletions
574
src/up-device.c
574
src/up-device.c
|
|
@ -36,54 +36,16 @@
|
|||
#include "up-history-item.h"
|
||||
#include "up-stats-item.h"
|
||||
#include "up-marshal.h"
|
||||
#include "up-device-generated.h"
|
||||
|
||||
struct UpDevicePrivate
|
||||
{
|
||||
gchar *object_path;
|
||||
UpExportedDevice *skeleton;
|
||||
UpDaemon *daemon;
|
||||
UpHistory *history;
|
||||
GObject *native;
|
||||
gboolean has_ever_refresh;
|
||||
};
|
||||
|
||||
static gboolean up_device_register_device (UpDevice *device);
|
||||
|
||||
enum {
|
||||
PROP_0,
|
||||
PROP_NATIVE_PATH,
|
||||
PROP_VENDOR,
|
||||
PROP_MODEL,
|
||||
PROP_SERIAL,
|
||||
PROP_UPDATE_TIME,
|
||||
PROP_TYPE,
|
||||
PROP_ONLINE,
|
||||
PROP_POWER_SUPPLY,
|
||||
PROP_CAPACITY,
|
||||
PROP_IS_PRESENT,
|
||||
PROP_IS_RECHARGEABLE,
|
||||
PROP_HAS_HISTORY,
|
||||
PROP_HAS_STATISTICS,
|
||||
PROP_STATE,
|
||||
PROP_ENERGY,
|
||||
PROP_ENERGY_EMPTY,
|
||||
PROP_ENERGY_FULL,
|
||||
PROP_ENERGY_FULL_DESIGN,
|
||||
PROP_ENERGY_RATE,
|
||||
PROP_VOLTAGE,
|
||||
PROP_LUMINOSITY,
|
||||
PROP_TIME_TO_EMPTY,
|
||||
PROP_TIME_TO_FULL,
|
||||
PROP_PERCENTAGE,
|
||||
PROP_TEMPERATURE,
|
||||
PROP_TECHNOLOGY,
|
||||
PROP_WARNING_LEVEL,
|
||||
PROP_ICON_NAME,
|
||||
PROP_LAST
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE (UpDevice, up_device, G_TYPE_OBJECT)
|
||||
G_DEFINE_TYPE (UpDevice, up_device, UP_TYPE_EXPORTED_DEVICE_SKELETON)
|
||||
#define UP_DEVICE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), UP_TYPE_DEVICE, UpDevicePrivate))
|
||||
|
||||
#define UP_DEVICES_DBUS_PATH "/org/freedesktop/UPower/devices"
|
||||
|
|
@ -100,20 +62,20 @@ static void
|
|||
update_warning_level (UpDevice *device)
|
||||
{
|
||||
UpDeviceLevel warning_level;
|
||||
UpExportedDevice *skeleton = UP_EXPORTED_DEVICE (device);
|
||||
|
||||
/* Not finished setting up the object? */
|
||||
if (device->priv->daemon == NULL)
|
||||
return;
|
||||
|
||||
warning_level = up_daemon_compute_warning_level (device->priv->daemon,
|
||||
up_exported_device_get_state (device->priv->skeleton),
|
||||
up_exported_device_get_type_ (device->priv->skeleton),
|
||||
up_exported_device_get_power_supply (device->priv->skeleton),
|
||||
up_exported_device_get_percentage (device->priv->skeleton),
|
||||
up_exported_device_get_time_to_empty (device->priv->skeleton));
|
||||
up_exported_device_get_state (skeleton),
|
||||
up_exported_device_get_type_ (skeleton),
|
||||
up_exported_device_get_power_supply (skeleton),
|
||||
up_exported_device_get_percentage (skeleton),
|
||||
up_exported_device_get_time_to_empty (skeleton));
|
||||
|
||||
up_exported_device_set_warning_level (device->priv->skeleton, warning_level);
|
||||
g_object_notify (G_OBJECT (device), "warning-level");
|
||||
up_exported_device_set_warning_level (skeleton, warning_level);
|
||||
}
|
||||
|
||||
static const gchar *
|
||||
|
|
@ -139,17 +101,18 @@ static void
|
|||
update_icon_name (UpDevice *device)
|
||||
{
|
||||
const gchar *icon_name = NULL;
|
||||
UpExportedDevice *skeleton = UP_EXPORTED_DEVICE (device);
|
||||
|
||||
/* get the icon from some simple rules */
|
||||
if (up_exported_device_get_type_ (device->priv->skeleton) == UP_DEVICE_KIND_LINE_POWER) {
|
||||
if (up_exported_device_get_type_ (skeleton) == UP_DEVICE_KIND_LINE_POWER) {
|
||||
icon_name = "ac-adapter-symbolic";
|
||||
} else {
|
||||
|
||||
if (!up_exported_device_get_is_present (device->priv->skeleton)) {
|
||||
if (!up_exported_device_get_is_present (skeleton)) {
|
||||
icon_name = "battery-missing-symbolic";
|
||||
|
||||
} else {
|
||||
switch (up_exported_device_get_state (device->priv->skeleton)) {
|
||||
switch (up_exported_device_get_state (skeleton)) {
|
||||
case UP_DEVICE_STATE_EMPTY:
|
||||
icon_name = "battery-empty-symbolic";
|
||||
break;
|
||||
|
|
@ -158,11 +121,11 @@ update_icon_name (UpDevice *device)
|
|||
break;
|
||||
case UP_DEVICE_STATE_CHARGING:
|
||||
case UP_DEVICE_STATE_PENDING_CHARGE:
|
||||
icon_name = get_device_charge_icon (up_exported_device_get_percentage (device->priv->skeleton), TRUE);
|
||||
icon_name = get_device_charge_icon (up_exported_device_get_percentage (skeleton), TRUE);
|
||||
break;
|
||||
case UP_DEVICE_STATE_DISCHARGING:
|
||||
case UP_DEVICE_STATE_PENDING_DISCHARGE:
|
||||
icon_name = get_device_charge_icon (up_exported_device_get_percentage (device->priv->skeleton), FALSE);
|
||||
icon_name = get_device_charge_icon (up_exported_device_get_percentage (skeleton), FALSE);
|
||||
break;
|
||||
default:
|
||||
icon_name = "battery-missing-symbolic";
|
||||
|
|
@ -170,52 +133,44 @@ update_icon_name (UpDevice *device)
|
|||
}
|
||||
}
|
||||
|
||||
up_exported_device_set_icon_name (device->priv->skeleton, icon_name);
|
||||
g_object_notify (G_OBJECT (device), "icon-name");
|
||||
up_exported_device_set_icon_name (skeleton, icon_name);
|
||||
}
|
||||
|
||||
static void
|
||||
update_history (UpDevice *device)
|
||||
{
|
||||
UpExportedDevice *skeleton = UP_EXPORTED_DEVICE (device);
|
||||
|
||||
/* save new history */
|
||||
up_history_set_state (device->priv->history, up_exported_device_get_state (skeleton));
|
||||
up_history_set_charge_data (device->priv->history, up_exported_device_get_percentage (skeleton));
|
||||
up_history_set_rate_data (device->priv->history, up_exported_device_get_energy_rate (skeleton));
|
||||
up_history_set_time_full_data (device->priv->history, up_exported_device_get_time_to_full (skeleton));
|
||||
up_history_set_time_empty_data (device->priv->history, up_exported_device_get_time_to_empty (skeleton));
|
||||
}
|
||||
|
||||
/**
|
||||
* up_device_get_property:
|
||||
* up_device_notify:
|
||||
**/
|
||||
static void
|
||||
up_device_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
|
||||
{
|
||||
UpDevice *device = UP_DEVICE (object);
|
||||
g_object_get_property (G_OBJECT (device->priv->skeleton), pspec->name, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* up_device_set_property:
|
||||
**/
|
||||
static void
|
||||
up_device_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
|
||||
up_device_notify (GObject *object, GParamSpec *pspec)
|
||||
{
|
||||
UpDevice *device = UP_DEVICE (object);
|
||||
|
||||
g_object_set_property (G_OBJECT (device->priv->skeleton), pspec->name, value);
|
||||
G_OBJECT_CLASS (up_device_parent_class)->notify (object, pspec);
|
||||
|
||||
switch (prop_id) {
|
||||
case PROP_TYPE:
|
||||
if (g_strcmp0 (pspec->name, "type") == 0 ||
|
||||
g_strcmp0 (pspec->name, "is-present") == 0) {
|
||||
update_icon_name (device);
|
||||
break;
|
||||
case PROP_POWER_SUPPLY:
|
||||
} else if (g_strcmp0 (pspec->name, "power-supply") == 0 ||
|
||||
g_strcmp0 (pspec->name, "time-to-empty") == 0) {
|
||||
update_warning_level (device);
|
||||
case PROP_IS_PRESENT:
|
||||
update_icon_name (device);
|
||||
break;
|
||||
case PROP_STATE:
|
||||
} else if (g_strcmp0 (pspec->name, "state") == 0 ||
|
||||
g_strcmp0 (pspec->name, "percentage") == 0) {
|
||||
update_warning_level (device);
|
||||
update_icon_name (device);
|
||||
break;
|
||||
case PROP_TIME_TO_EMPTY:
|
||||
update_warning_level (device);
|
||||
break;
|
||||
case PROP_PERCENTAGE:
|
||||
update_warning_level (device);
|
||||
update_icon_name (device);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
} else if (g_strcmp0 (pspec->name, "update-time") == 0) {
|
||||
update_history (device);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -265,26 +220,22 @@ up_device_get_id (UpDevice *device)
|
|||
{
|
||||
GString *string;
|
||||
gchar *id = NULL;
|
||||
gdouble energy_full_design;
|
||||
const char *model;
|
||||
const char *serial;
|
||||
const char *vendor;
|
||||
UpDeviceKind type;
|
||||
UpExportedDevice *skeleton;
|
||||
|
||||
type = up_exported_device_get_type_ (device->priv->skeleton);
|
||||
energy_full_design = up_exported_device_get_energy_full_design (device->priv->skeleton);
|
||||
model = up_exported_device_get_model (device->priv->skeleton);
|
||||
serial = up_exported_device_get_serial (device->priv->skeleton);
|
||||
vendor = up_exported_device_get_vendor (device->priv->skeleton);
|
||||
skeleton = UP_EXPORTED_DEVICE (device);
|
||||
model = up_exported_device_get_model (skeleton);
|
||||
serial = up_exported_device_get_serial (skeleton);
|
||||
|
||||
/* line power */
|
||||
if (type == UP_DEVICE_KIND_LINE_POWER) {
|
||||
if (up_exported_device_get_type_ (skeleton) == UP_DEVICE_KIND_LINE_POWER) {
|
||||
goto out;
|
||||
|
||||
/* batteries */
|
||||
} else if (type == UP_DEVICE_KIND_BATTERY) {
|
||||
} else if (up_exported_device_get_type_ (skeleton) == UP_DEVICE_KIND_BATTERY) {
|
||||
/* we don't have an ID if we are not present */
|
||||
if (!up_exported_device_get_is_present (device->priv->skeleton))
|
||||
if (!up_exported_device_get_is_present (skeleton))
|
||||
goto out;
|
||||
|
||||
string = g_string_new ("");
|
||||
|
|
@ -294,9 +245,9 @@ up_device_get_id (UpDevice *device)
|
|||
g_string_append (string, model);
|
||||
g_string_append_c (string, '-');
|
||||
}
|
||||
if (energy_full_design > 0) {
|
||||
if (up_exported_device_get_energy_full_design (skeleton) > 0) {
|
||||
/* FIXME: this may not be stable if we are using voltage_now */
|
||||
g_string_append_printf (string, "%i", (guint) energy_full_design);
|
||||
g_string_append_printf (string, "%i", (guint) up_exported_device_get_energy_full_design (skeleton));
|
||||
g_string_append_c (string, '-');
|
||||
}
|
||||
if (serial != NULL && strlen (serial) > 2) {
|
||||
|
|
@ -319,8 +270,8 @@ up_device_get_id (UpDevice *device)
|
|||
} else {
|
||||
/* generic fallback, get what data we can */
|
||||
string = g_string_new ("");
|
||||
if (vendor != NULL) {
|
||||
g_string_append (string, vendor);
|
||||
if (up_exported_device_get_vendor (skeleton) != NULL) {
|
||||
g_string_append (string, up_exported_device_get_vendor (skeleton));
|
||||
g_string_append_c (string, '-');
|
||||
}
|
||||
if (model != NULL) {
|
||||
|
|
@ -364,6 +315,72 @@ up_device_get_daemon (UpDevice *device)
|
|||
return g_object_ref (device->priv->daemon);
|
||||
}
|
||||
|
||||
static void
|
||||
up_device_export_skeleton (UpDevice *device,
|
||||
const gchar *object_path)
|
||||
{
|
||||
GError *error = NULL;
|
||||
|
||||
g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (device),
|
||||
up_daemon_get_dbus_connection (device->priv->daemon),
|
||||
object_path,
|
||||
&error);
|
||||
|
||||
if (error != NULL) {
|
||||
g_critical ("error registering device on system bus: %s", error->message);
|
||||
g_error_free (error);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* up_device_compute_object_path:
|
||||
**/
|
||||
static gchar *
|
||||
up_device_compute_object_path (UpDevice *device)
|
||||
{
|
||||
gchar *basename;
|
||||
gchar *id;
|
||||
gchar *object_path;
|
||||
const gchar *native_path;
|
||||
const gchar *type;
|
||||
guint i;
|
||||
|
||||
type = up_device_kind_to_string (up_exported_device_get_type_ (UP_EXPORTED_DEVICE (device)));
|
||||
native_path = up_exported_device_get_native_path (UP_EXPORTED_DEVICE (device));
|
||||
basename = g_path_get_basename (native_path);
|
||||
id = g_strjoin ("_", type, basename, NULL);
|
||||
|
||||
/* make DBUS valid path */
|
||||
for (i=0; id[i] != '\0'; i++) {
|
||||
if (id[i] == '-')
|
||||
id[i] = '_';
|
||||
if (id[i] == '.')
|
||||
id[i] = 'x';
|
||||
if (id[i] == ':')
|
||||
id[i] = 'o';
|
||||
}
|
||||
object_path = g_build_filename (UP_DEVICES_DBUS_PATH, id, NULL);
|
||||
|
||||
g_free (basename);
|
||||
g_free (id);
|
||||
|
||||
return object_path;
|
||||
}
|
||||
|
||||
/**
|
||||
* up_device_register_device:
|
||||
**/
|
||||
static gboolean
|
||||
up_device_register_device (UpDevice *device)
|
||||
{
|
||||
char *object_path = up_device_compute_object_path (device);
|
||||
g_debug ("object path = %s", object_path);
|
||||
up_device_export_skeleton (device, object_path);
|
||||
g_free (object_path);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* up_device_coldplug:
|
||||
*
|
||||
|
|
@ -384,8 +401,7 @@ up_device_coldplug (UpDevice *device, UpDaemon *daemon, GObject *native)
|
|||
device->priv->daemon = g_object_ref (daemon);
|
||||
|
||||
native_path = up_native_get_native_path (native);
|
||||
up_exported_device_set_native_path (device->priv->skeleton, native_path);
|
||||
g_object_notify (G_OBJECT (device), "native-path");
|
||||
up_exported_device_set_native_path (UP_EXPORTED_DEVICE (device), native_path);
|
||||
|
||||
/* coldplug source */
|
||||
if (klass->coldplug != NULL) {
|
||||
|
|
@ -581,22 +597,6 @@ up_device_refresh (UpExportedDevice *skeleton,
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
up_device_export_skeleton (UpDevice *device)
|
||||
{
|
||||
GError *error = NULL;
|
||||
|
||||
g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (device->priv->skeleton),
|
||||
up_daemon_get_dbus_connection (device->priv->daemon),
|
||||
device->priv->object_path,
|
||||
&error);
|
||||
|
||||
if (error != NULL) {
|
||||
g_critical ("error registering device on system bus: %s", error->message);
|
||||
g_error_free (error);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* up_device_register_display_device:
|
||||
**/
|
||||
|
|
@ -604,11 +604,14 @@ gboolean
|
|||
up_device_register_display_device (UpDevice *device,
|
||||
UpDaemon *daemon)
|
||||
{
|
||||
char *object_path;
|
||||
|
||||
g_return_val_if_fail (UP_IS_DEVICE (device), FALSE);
|
||||
|
||||
device->priv->daemon = g_object_ref (daemon);
|
||||
device->priv->object_path = g_build_filename (UP_DEVICES_DBUS_PATH, "DisplayDevice", NULL);
|
||||
up_device_export_skeleton (device);
|
||||
object_path = g_build_filename (UP_DEVICES_DBUS_PATH, "DisplayDevice", NULL);
|
||||
up_device_export_skeleton (device, object_path);
|
||||
g_free (object_path);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
|
@ -639,7 +642,7 @@ up_device_refresh_internal (UpDevice *device)
|
|||
|
||||
/* the first time, print all properties */
|
||||
if (!device->priv->has_ever_refresh) {
|
||||
g_debug ("added native-path: %s\n", up_exported_device_get_native_path (device->priv->skeleton));
|
||||
g_debug ("added native-path: %s\n", up_exported_device_get_native_path (UP_EXPORTED_DEVICE (device)));
|
||||
device->priv->has_ever_refresh = TRUE;
|
||||
goto out;
|
||||
}
|
||||
|
|
@ -654,7 +657,7 @@ const gchar *
|
|||
up_device_get_object_path (UpDevice *device)
|
||||
{
|
||||
g_return_val_if_fail (UP_IS_DEVICE (device), NULL);
|
||||
return device->priv->object_path;
|
||||
return g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (device));
|
||||
}
|
||||
|
||||
GObject *
|
||||
|
|
@ -664,70 +667,6 @@ up_device_get_native (UpDevice *device)
|
|||
return device->priv->native;
|
||||
}
|
||||
|
||||
/**
|
||||
* up_device_compute_object_path:
|
||||
**/
|
||||
static gchar *
|
||||
up_device_compute_object_path (UpDevice *device)
|
||||
{
|
||||
gchar *basename;
|
||||
gchar *id;
|
||||
gchar *object_path;
|
||||
const gchar *native_path;
|
||||
const gchar *type;
|
||||
guint i;
|
||||
|
||||
type = up_device_kind_to_string (up_exported_device_get_type_ (device->priv->skeleton));
|
||||
native_path = up_exported_device_get_native_path (device->priv->skeleton);
|
||||
basename = g_path_get_basename (native_path);
|
||||
id = g_strjoin ("_", type, basename, NULL);
|
||||
|
||||
/* make DBUS valid path */
|
||||
for (i=0; id[i] != '\0'; i++) {
|
||||
if (id[i] == '-')
|
||||
id[i] = '_';
|
||||
if (id[i] == '.')
|
||||
id[i] = 'x';
|
||||
if (id[i] == ':')
|
||||
id[i] = 'o';
|
||||
}
|
||||
object_path = g_build_filename (UP_DEVICES_DBUS_PATH, id, NULL);
|
||||
|
||||
g_free (basename);
|
||||
g_free (id);
|
||||
|
||||
return object_path;
|
||||
}
|
||||
|
||||
/**
|
||||
* up_device_register_device:
|
||||
**/
|
||||
static gboolean
|
||||
up_device_register_device (UpDevice *device)
|
||||
{
|
||||
device->priv->object_path = up_device_compute_object_path (device);
|
||||
g_debug ("object path = %s", device->priv->object_path);
|
||||
up_device_export_skeleton (device);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* up_device_perhaps_changed_cb:
|
||||
**/
|
||||
static void
|
||||
up_device_perhaps_changed_cb (GObject *object, GParamSpec *pspec, UpDevice *device)
|
||||
{
|
||||
g_return_if_fail (UP_IS_DEVICE (device));
|
||||
|
||||
/* save new history */
|
||||
up_history_set_state (device->priv->history, up_exported_device_get_state (device->priv->skeleton));
|
||||
up_history_set_charge_data (device->priv->history, up_exported_device_get_percentage (device->priv->skeleton));
|
||||
up_history_set_rate_data (device->priv->history, up_exported_device_get_energy_rate (device->priv->skeleton));
|
||||
up_history_set_time_full_data (device->priv->history, up_exported_device_get_time_to_full (device->priv->skeleton));
|
||||
up_history_set_time_empty_data (device->priv->history, up_exported_device_get_time_to_empty (device->priv->skeleton));
|
||||
}
|
||||
|
||||
/**
|
||||
* up_device_init:
|
||||
**/
|
||||
|
|
@ -737,15 +676,11 @@ up_device_init (UpDevice *device)
|
|||
device->priv = UP_DEVICE_GET_PRIVATE (device);
|
||||
device->priv->history = up_history_new ();
|
||||
|
||||
g_signal_connect (device, "notify::update-time", G_CALLBACK (up_device_perhaps_changed_cb), device);
|
||||
|
||||
device->priv->skeleton = up_exported_device_skeleton_new ();
|
||||
|
||||
g_signal_connect (device->priv->skeleton, "handle-get-history",
|
||||
g_signal_connect (device, "handle-get-history",
|
||||
G_CALLBACK (up_device_get_history), device);
|
||||
g_signal_connect (device->priv->skeleton, "handle-get-statistics",
|
||||
g_signal_connect (device, "handle-get-statistics",
|
||||
G_CALLBACK (up_device_get_statistics), device);
|
||||
g_signal_connect (device->priv->skeleton, "handle-refresh",
|
||||
g_signal_connect (device, "handle-refresh",
|
||||
G_CALLBACK (up_device_refresh), device);
|
||||
}
|
||||
|
||||
|
|
@ -767,8 +702,6 @@ up_device_finalize (GObject *object)
|
|||
if (device->priv->daemon != NULL)
|
||||
g_object_unref (device->priv->daemon);
|
||||
g_object_unref (device->priv->history);
|
||||
g_object_unref (device->priv->skeleton);
|
||||
g_free (device->priv->object_path);
|
||||
|
||||
G_OBJECT_CLASS (up_device_parent_class)->finalize (object);
|
||||
}
|
||||
|
|
@ -780,261 +713,10 @@ static void
|
|||
up_device_class_init (UpDeviceClass *klass)
|
||||
{
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
object_class->get_property = up_device_get_property;
|
||||
object_class->set_property = up_device_set_property;
|
||||
object_class->notify = up_device_notify;
|
||||
object_class->finalize = up_device_finalize;
|
||||
|
||||
g_type_class_add_private (klass, sizeof (UpDevicePrivate));
|
||||
|
||||
/**
|
||||
* UpDevice:update-time:
|
||||
*/
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_UPDATE_TIME,
|
||||
g_param_spec_uint64 ("update-time",
|
||||
NULL, NULL,
|
||||
0, G_MAXUINT64, 0,
|
||||
G_PARAM_READWRITE));
|
||||
/**
|
||||
* UpDevice:vendor:
|
||||
*/
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_VENDOR,
|
||||
g_param_spec_string ("vendor",
|
||||
NULL, NULL,
|
||||
NULL,
|
||||
G_PARAM_READWRITE));
|
||||
/**
|
||||
* UpDevice:model:
|
||||
*/
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_MODEL,
|
||||
g_param_spec_string ("model",
|
||||
NULL, NULL,
|
||||
NULL,
|
||||
G_PARAM_READWRITE));
|
||||
/**
|
||||
* UpDevice:serial:
|
||||
*/
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_SERIAL,
|
||||
g_param_spec_string ("serial",
|
||||
NULL, NULL,
|
||||
NULL,
|
||||
G_PARAM_READWRITE));
|
||||
/**
|
||||
* UpDevice:native-path:
|
||||
*/
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_NATIVE_PATH,
|
||||
g_param_spec_string ("native-path",
|
||||
NULL, NULL,
|
||||
NULL,
|
||||
G_PARAM_READWRITE));
|
||||
/**
|
||||
* UpDevice:power-supply:
|
||||
*/
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_POWER_SUPPLY,
|
||||
g_param_spec_boolean ("power-supply",
|
||||
NULL, NULL,
|
||||
FALSE,
|
||||
G_PARAM_READWRITE));
|
||||
/**
|
||||
* UpDevice:online:
|
||||
*/
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_ONLINE,
|
||||
g_param_spec_boolean ("online",
|
||||
NULL, NULL,
|
||||
FALSE,
|
||||
G_PARAM_READWRITE));
|
||||
/**
|
||||
* UpDevice:is-present:
|
||||
*/
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_IS_PRESENT,
|
||||
g_param_spec_boolean ("is-present",
|
||||
NULL, NULL,
|
||||
FALSE,
|
||||
G_PARAM_READWRITE));
|
||||
/**
|
||||
* UpDevice:is-rechargeable:
|
||||
*/
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_IS_RECHARGEABLE,
|
||||
g_param_spec_boolean ("is-rechargeable",
|
||||
NULL, NULL,
|
||||
FALSE,
|
||||
G_PARAM_READWRITE));
|
||||
/**
|
||||
* UpDevice:has-history:
|
||||
*/
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_HAS_HISTORY,
|
||||
g_param_spec_boolean ("has-history",
|
||||
NULL, NULL,
|
||||
FALSE,
|
||||
G_PARAM_READWRITE));
|
||||
/**
|
||||
* UpDevice:has-statistics:
|
||||
*/
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_HAS_STATISTICS,
|
||||
g_param_spec_boolean ("has-statistics",
|
||||
NULL, NULL,
|
||||
FALSE,
|
||||
G_PARAM_READWRITE));
|
||||
/**
|
||||
* UpDevice:type:
|
||||
*/
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_TYPE,
|
||||
g_param_spec_uint ("type",
|
||||
NULL, NULL,
|
||||
UP_DEVICE_KIND_UNKNOWN,
|
||||
UP_DEVICE_KIND_LAST,
|
||||
UP_DEVICE_KIND_UNKNOWN,
|
||||
G_PARAM_READWRITE));
|
||||
/**
|
||||
* UpDevice:state:
|
||||
*/
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_STATE,
|
||||
g_param_spec_uint ("state",
|
||||
NULL, NULL,
|
||||
UP_DEVICE_STATE_UNKNOWN,
|
||||
UP_DEVICE_STATE_LAST,
|
||||
UP_DEVICE_STATE_UNKNOWN,
|
||||
G_PARAM_READWRITE));
|
||||
/**
|
||||
* UpDevice:technology:
|
||||
*/
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_TECHNOLOGY,
|
||||
g_param_spec_uint ("technology",
|
||||
NULL, NULL,
|
||||
UP_DEVICE_TECHNOLOGY_UNKNOWN,
|
||||
UP_DEVICE_TECHNOLOGY_LAST,
|
||||
UP_DEVICE_TECHNOLOGY_UNKNOWN,
|
||||
G_PARAM_READWRITE));
|
||||
/**
|
||||
* UpDevice:capacity:
|
||||
*/
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_CAPACITY,
|
||||
g_param_spec_double ("capacity", NULL, NULL,
|
||||
0.0, 100.f, 100.0,
|
||||
G_PARAM_READWRITE));
|
||||
/**
|
||||
* UpDevice:energy:
|
||||
*/
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_ENERGY,
|
||||
g_param_spec_double ("energy", NULL, NULL,
|
||||
0.0, G_MAXDOUBLE, 0.0,
|
||||
G_PARAM_READWRITE));
|
||||
/**
|
||||
* UpDevice:energy-empty:
|
||||
*/
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_ENERGY_EMPTY,
|
||||
g_param_spec_double ("energy-empty", NULL, NULL,
|
||||
0.0, G_MAXDOUBLE, 0.0,
|
||||
G_PARAM_READWRITE));
|
||||
/**
|
||||
* UpDevice:energy-full:
|
||||
*/
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_ENERGY_FULL,
|
||||
g_param_spec_double ("energy-full", NULL, NULL,
|
||||
0.0, G_MAXDOUBLE, 0.0,
|
||||
G_PARAM_READWRITE));
|
||||
/**
|
||||
* UpDevice:energy-full-design:
|
||||
*/
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_ENERGY_FULL_DESIGN,
|
||||
g_param_spec_double ("energy-full-design", NULL, NULL,
|
||||
0.0, G_MAXDOUBLE, 0.0,
|
||||
G_PARAM_READWRITE));
|
||||
/**
|
||||
* UpDevice:energy-rate:
|
||||
*/
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_ENERGY_RATE,
|
||||
g_param_spec_double ("energy-rate", NULL, NULL,
|
||||
0.0, G_MAXDOUBLE, 0.0,
|
||||
G_PARAM_READWRITE));
|
||||
/**
|
||||
* UpDevice:voltage:
|
||||
*/
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_VOLTAGE,
|
||||
g_param_spec_double ("voltage", NULL, NULL,
|
||||
0.0, G_MAXDOUBLE, 0.0,
|
||||
G_PARAM_READWRITE));
|
||||
/**
|
||||
* UpDevice:luminosity:
|
||||
*/
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_LUMINOSITY,
|
||||
g_param_spec_double ("luminosity", NULL, NULL,
|
||||
0.0, G_MAXDOUBLE, 0.0,
|
||||
G_PARAM_READWRITE));
|
||||
/**
|
||||
* UpDevice:time-to-empty:
|
||||
*/
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_TIME_TO_EMPTY,
|
||||
g_param_spec_int64 ("time-to-empty", NULL, NULL,
|
||||
0, G_MAXINT64, 0,
|
||||
G_PARAM_READWRITE));
|
||||
/**
|
||||
* UpDevice:time-to-full:
|
||||
*/
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_TIME_TO_FULL,
|
||||
g_param_spec_int64 ("time-to-full", NULL, NULL,
|
||||
0, G_MAXINT64, 0,
|
||||
G_PARAM_READWRITE));
|
||||
/**
|
||||
* UpDevice:percentage:
|
||||
*/
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_PERCENTAGE,
|
||||
g_param_spec_double ("percentage", NULL, NULL,
|
||||
0.0, 100.f, 100.0,
|
||||
G_PARAM_READWRITE));
|
||||
/**
|
||||
* UpDevice:temperature:
|
||||
*/
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_TEMPERATURE,
|
||||
g_param_spec_double ("temperature", NULL, NULL,
|
||||
0.0, G_MAXDOUBLE, 0.0,
|
||||
G_PARAM_READWRITE));
|
||||
|
||||
/**
|
||||
* UpDevice:warning-level:
|
||||
*/
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_WARNING_LEVEL,
|
||||
g_param_spec_uint ("warning-level",
|
||||
NULL, NULL,
|
||||
UP_DEVICE_LEVEL_UNKNOWN,
|
||||
UP_DEVICE_LEVEL_LAST,
|
||||
UP_DEVICE_LEVEL_UNKNOWN,
|
||||
G_PARAM_READWRITE));
|
||||
|
||||
/**
|
||||
* UpDevice:icon:
|
||||
*/
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_ICON_NAME,
|
||||
g_param_spec_string ("icon-name",
|
||||
NULL, NULL, NULL,
|
||||
G_PARAM_READABLE));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -22,8 +22,7 @@
|
|||
#ifndef __UP_DEVICE_H__
|
||||
#define __UP_DEVICE_H__
|
||||
|
||||
#include <glib-object.h>
|
||||
|
||||
#include <dbus/up-device-generated.h>
|
||||
#include "up-daemon.h"
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
|
@ -39,13 +38,13 @@ typedef struct UpDevicePrivate UpDevicePrivate;
|
|||
|
||||
typedef struct
|
||||
{
|
||||
GObject parent;
|
||||
UpExportedDeviceSkeleton parent;
|
||||
UpDevicePrivate *priv;
|
||||
} UpDevice;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
GObjectClass parent_class;
|
||||
UpExportedDeviceSkeletonClass parent_class;
|
||||
|
||||
/* vtable */
|
||||
gboolean (*coldplug) (UpDevice *device);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue