aboutsummaryrefslogtreecommitdiff
path: root/src/dbus-listener.h
blob: e4d006bd37a154ff0b8ea6c538bc119019574e50 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
/*

Listens for Power changes from org.gnome.SettingsDaemon.Power on Dbus

Copyright 2012 Canonical Ltd.

Authors:
    Javier Jardon <javier.jardon@codethink.co.uk>
    Charles Kerr <charles.kerr@canonical.com>

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
version 3.0 as published by the Free Software Foundation.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License version 3.0 for more details.

You should have received a copy of the GNU General Public
License along with this library. If not, see
<http://www.gnu.org/licenses/>.
*/

#ifndef __INDICATOR_POWER_DBUS_LISTENER_H__
#define __INDICATOR_POWER_DBUS_LISTENER_H__

#include <glib-object.h>
#include <libupower-glib/upower.h>

G_BEGIN_DECLS

#define INDICATOR_POWER_DBUS_LISTENER_TYPE            (indicator_power_dbus_listener_get_type ())
#define INDICATOR_POWER_DBUS_LISTENER(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), INDICATOR_POWER_DBUS_LISTENER_TYPE, IndicatorPowerDbusListener))
#define INDICATOR_POWER_DBUS_LISTENER_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass),  INDICATOR_POWER_DBUS_LISTENER_TYPE, IndicatorPowerDbusListenerClass))
#define INDICATOR_IS_POWER_DBUS_LISTENER(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), INDICATOR_POWER_DBUS_LISTENER_TYPE))
#define INDICATOR_IS_POWER_DBUS_LISTENER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass),  INDICATOR_POWER_DBUS_LISTENER_TYPE))
#define INDICATOR_POWER_DBUS_LISTENER_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj),  INDICATOR_POWER_DBUS_LISTENER_TYPE, IndicatorPowerDbusListenerClass))

typedef struct _IndicatorPowerDbusListener IndicatorPowerDbusListener;
typedef struct _IndicatorPowerDbusListenerClass IndicatorPowerDbusListenerClass;
typedef struct _IndicatorPowerDbusListenerPrivate IndicatorPowerDbusListenerPrivate;

#define GSD_SERVICE               "org.gnome.SettingsDaemon"
#define GSD_PATH                  "/org/gnome/SettingsDaemon"
#define GSD_POWER_DBUS_INTERFACE  GSD_SERVICE ".Power"
#define GSD_POWER_DBUS_PATH       GSD_PATH "/Power"

/* signals */
#define INDICATOR_POWER_DBUS_LISTENER_DEVICES_ENUMERATED  "devices-enumerated"

/**
 * IndicatorPowerDbusListenerClass:
 * @parent_class: #GObjectClass
 */
struct _IndicatorPowerDbusListenerClass
{
  GObjectClass parent_class;

  void (* devices_enumerated) (IndicatorPowerDbusListener*, GSList * devices);
};

/**
 * IndicatorPowerDbusListener:
 * @parent: #GObject
 * @priv: A cached reference to the private data for the instance.
*/
struct _IndicatorPowerDbusListener
{
  GObject parent;
  IndicatorPowerDbusListenerPrivate * priv;
};

/***
****
***/

GType indicator_power_dbus_listener_get_type (void);

G_END_DECLS

#endif