3 * Copyright (C) 2007-2009 Jürg Billeter
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 * Jürg Billeter <j@bitron.ch>
23 [CCode (cheader_filename = "libhal.h", cprefix = "LibHal")]
25 [CCode (has_target = false)]
26 public delegate void DeviceAdded (Context ctx, string udi);
27 [CCode (has_target = false)]
28 public delegate void DeviceRemoved (Context ctx, string udi);
30 [CCode (free_function = "libhal_ctx_free", cprefix = "libhal_ctx_")]
32 public class Context {
34 public bool init (ref DBus.RawError error);
35 public bool set_dbus_connection (DBus.RawConnection conn);
36 public bool set_user_data (void* user_data);
37 public void* get_user_data ();
38 public bool set_device_added (DeviceAdded _callback);
39 public bool set_device_removed (DeviceRemoved _callback);
40 [CCode (cname = "libhal_find_device_by_capability")]
41 [CCode (array_length_pos = 1.9)]
42 public string[] find_device_by_capability (string capability, ref DBus.RawError error);
44 [CCode (cname = "libhal_device_get_property_string")]
45 public string device_get_property_string (string udi, string key, ref DBus.RawError error);
46 [CCode (cname = "libhal_device_get_property_int")]
47 public int device_get_property_int (string udi, string key, ref DBus.RawError error);
48 [CCode (cname = "libhal_device_get_property_uint64")]
49 public uint64 device_get_property_uint64 (string udi, string key, ref DBus.RawError error);
50 [CCode (cname = "libhal_device_get_property_double")]
51 public double device_get_property_double (string udi, string key, ref DBus.RawError error);
52 [CCode (cname = "libhal_device_get_property_bool")]
53 public bool device_get_property_bool (string udi, string key, ref DBus.RawError error);
54 [CCode (cname = "libhal_device_query_capability")]
55 public bool device_query_capability (string udi, string capability, ref DBus.RawError error);