xref: /titanic_51/usr/src/cmd/hal/hald/hald_dbus.h (revision 18c2aff776a775d34a4c9893a4c72e0434d68e36)
1*18c2aff7Sartem /***************************************************************************
2*18c2aff7Sartem  * CVSID: $Id$
3*18c2aff7Sartem  *
4*18c2aff7Sartem  * hal_dbus.h : D-BUS interface of HAL daemon
5*18c2aff7Sartem  *
6*18c2aff7Sartem  * Copyright (C) 2003 David Zeuthen, <david@fubar.dk>
7*18c2aff7Sartem  *
8*18c2aff7Sartem  * Licensed under the Academic Free License version 2.1
9*18c2aff7Sartem  *
10*18c2aff7Sartem  * This program is free software; you can redistribute it and/or modify
11*18c2aff7Sartem  * it under the terms of the GNU General Public License as published by
12*18c2aff7Sartem  * the Free Software Foundation; either version 2 of the License, or
13*18c2aff7Sartem  * (at your option) any later version.
14*18c2aff7Sartem  *
15*18c2aff7Sartem  * This program is distributed in the hope that it will be useful,
16*18c2aff7Sartem  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17*18c2aff7Sartem  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18*18c2aff7Sartem  * GNU General Public License for more details.
19*18c2aff7Sartem  *
20*18c2aff7Sartem  * You should have received a copy of the GNU General Public License
21*18c2aff7Sartem  * along with this program; if not, write to the Free Software
22*18c2aff7Sartem  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
23*18c2aff7Sartem  *
24*18c2aff7Sartem  **************************************************************************/
25*18c2aff7Sartem 
26*18c2aff7Sartem #ifndef HAL_DBUS_H
27*18c2aff7Sartem #define HAL_DBUS_H
28*18c2aff7Sartem 
29*18c2aff7Sartem #include <dbus/dbus.h>
30*18c2aff7Sartem 
31*18c2aff7Sartem #include "device.h"
32*18c2aff7Sartem 
33*18c2aff7Sartem DBusHandlerResult manager_get_all_devices           (DBusConnection *conn,
34*18c2aff7Sartem 						     DBusMessage    *msg);
35*18c2aff7Sartem DBusHandlerResult manager_find_device_string_match  (DBusConnection *conn,
36*18c2aff7Sartem 						     DBusMessage    *msg);
37*18c2aff7Sartem DBusHandlerResult manager_find_device_by_capability (DBusConnection *conn,
38*18c2aff7Sartem 						     DBusMessage    *msg);
39*18c2aff7Sartem DBusHandlerResult manager_device_exists             (DBusConnection *conn,
40*18c2aff7Sartem 						     DBusMessage    *msg);
41*18c2aff7Sartem DBusHandlerResult device_get_all_properties         (DBusConnection *conn,
42*18c2aff7Sartem 						     DBusMessage    *msg);
43*18c2aff7Sartem DBusHandlerResult device_get_property               (DBusConnection *conn,
44*18c2aff7Sartem 						     DBusMessage    *msg);
45*18c2aff7Sartem DBusHandlerResult device_get_property_type          (DBusConnection *conn,
46*18c2aff7Sartem 						     DBusMessage    *msg);
47*18c2aff7Sartem DBusHandlerResult device_set_property               (DBusConnection *conn,
48*18c2aff7Sartem 						     DBusMessage    *msg, dbus_bool_t local_interface);
49*18c2aff7Sartem DBusHandlerResult device_add_capability             (DBusConnection *conn,
50*18c2aff7Sartem 						     DBusMessage    *msg, dbus_bool_t local_interface);
51*18c2aff7Sartem DBusHandlerResult device_remove_capability          (DBusConnection *conn,
52*18c2aff7Sartem 						     DBusMessage    *msg, dbus_bool_t local_interface);
53*18c2aff7Sartem DBusHandlerResult device_remove_property            (DBusConnection *conn,
54*18c2aff7Sartem 						     DBusMessage    *msg, dbus_bool_t local_interface);
55*18c2aff7Sartem DBusHandlerResult device_property_exists            (DBusConnection *conn,
56*18c2aff7Sartem 						     DBusMessage    *msg);
57*18c2aff7Sartem DBusHandlerResult device_query_capability           (DBusConnection *conn,
58*18c2aff7Sartem 						     DBusMessage    *msg);
59*18c2aff7Sartem DBusHandlerResult device_lock                       (DBusConnection *conn,
60*18c2aff7Sartem 						     DBusMessage    *msg);
61*18c2aff7Sartem DBusHandlerResult device_unlock                     (DBusConnection *conn,
62*18c2aff7Sartem 						     DBusMessage    *msg);
63*18c2aff7Sartem DBusHandlerResult manager_new_device          (DBusConnection *conn,
64*18c2aff7Sartem 					       DBusMessage    *msg, dbus_bool_t local_interface);
65*18c2aff7Sartem DBusHandlerResult manager_commit_to_gdl       (DBusConnection *conn,
66*18c2aff7Sartem 					       DBusMessage    *msg, dbus_bool_t local_interface);
67*18c2aff7Sartem DBusHandlerResult manager_remove              (DBusConnection *conn,
68*18c2aff7Sartem 					       DBusMessage    *msg, dbus_bool_t local_interface);
69*18c2aff7Sartem DBusHandlerResult merge_properties            (DBusConnection *conn,
70*18c2aff7Sartem 					       DBusMessage    *msg);
71*18c2aff7Sartem DBusHandlerResult device_matches              (DBusConnection *conn,
72*18c2aff7Sartem 					       DBusMessage    *msg);
73*18c2aff7Sartem 
74*18c2aff7Sartem void manager_send_signal_device_added   (HalDevice *device);
75*18c2aff7Sartem void manager_send_signal_device_removed (HalDevice *device);
76*18c2aff7Sartem void manager_send_signal_new_capability (HalDevice *device,
77*18c2aff7Sartem 					 const char *capability);
78*18c2aff7Sartem 
79*18c2aff7Sartem void device_send_signal_property_modified (HalDevice *device,
80*18c2aff7Sartem 					   const char *key,
81*18c2aff7Sartem 					   dbus_bool_t removed,
82*18c2aff7Sartem 					   dbus_bool_t added);
83*18c2aff7Sartem void device_send_signal_condition (HalDevice *device,
84*18c2aff7Sartem 				   const char *condition_name,
85*18c2aff7Sartem 				   const char *condition_details);
86*18c2aff7Sartem 
87*18c2aff7Sartem void device_property_atomic_update_begin (void);
88*18c2aff7Sartem void device_property_atomic_update_end   (void);
89*18c2aff7Sartem 
90*18c2aff7Sartem gboolean hald_dbus_init (void);
91*18c2aff7Sartem 
92*18c2aff7Sartem gboolean hald_dbus_local_server_init (void);
93*18c2aff7Sartem 
94*18c2aff7Sartem DBusHandlerResult hald_dbus_filter_function (DBusConnection * connection, DBusMessage * message, void *user_data);
95*18c2aff7Sartem 
96*18c2aff7Sartem char *hald_dbus_local_server_addr (void);
97*18c2aff7Sartem 
98*18c2aff7Sartem gboolean device_is_executing_method (HalDevice *d, const char *interface_name, const char *method_name);
99*18c2aff7Sartem 
100*18c2aff7Sartem #endif /* HAL_DBUS_H */
101