18c2aff776a775d34a4c9893a4c72e0434d68e36artem/***************************************************************************
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * CVSID: $Id$
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * device.c : HalDevice methods
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * Copyright (C) 2003 David Zeuthen, <david@fubar.dk>
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * Copyright (C) 2004 Novell, Inc.
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * Licensed under the Academic Free License version 2.1
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * This program is free software; you can redistribute it and/or modify
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * it under the terms of the GNU General Public License as published by
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * the Free Software Foundation; either version 2 of the License, or
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * (at your option) any later version.
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * This program is distributed in the hope that it will be useful,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * but WITHOUT ANY WARRANTY; without even the implied warranty of
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * GNU General Public License for more details.
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * You should have received a copy of the GNU General Public License
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * along with this program; if not, write to the Free Software
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18c2aff776a775d34a4c9893a4c72e0434d68e36artem **************************************************************************/
18c2aff776a775d34a4c9893a4c72e0434d68e36artem /* signals */
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *key,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *capability);
18c2aff776a775d34a4c9893a4c72e0434d68e36artem#define HAL_DEVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
18c2aff776a775d34a4c9893a4c72e0434d68e36artem#define HAL_DEVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), \
18c2aff776a775d34a4c9893a4c72e0434d68e36artem#define HAL_IS_DEVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
18c2aff776a775d34a4c9893a4c72e0434d68e36artem#define HAL_IS_DEVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), \
18c2aff776a775d34a4c9893a4c72e0434d68e36artemtypedef void (*HalDeviceAsyncCallback) (HalDevice *device,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem/* Return value of FALSE means that the foreach should be short-circuited */
18c2aff776a775d34a4c9893a4c72e0434d68e36artemtypedef gboolean (*HalDevicePropertyForeachFn) (HalDevice *device,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *namespace);
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *udi);
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *capability);
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *capability);
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *key);
18c2aff776a775d34a4c9893a4c72e0434d68e36artemHalProperty *hal_device_property_find (HalDevice *device,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *key);
18c2aff776a775d34a4c9893a4c72e0434d68e36artemchar * hal_device_property_to_string (HalDevice *device,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *key);
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *key);
18c2aff776a775d34a4c9893a4c72e0434d68e36artemconst char *hal_device_property_get_as_string (HalDevice *device,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *key,
18c2aff776a775d34a4c9893a4c72e0434d68e36artemconst char *hal_device_property_get_string (HalDevice *device,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *key);
18c2aff776a775d34a4c9893a4c72e0434d68e36artemdbus_int32_t hal_device_property_get_int (HalDevice *device,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *key);
18c2aff776a775d34a4c9893a4c72e0434d68e36artemdbus_uint64_t hal_device_property_get_uint64 (HalDevice *device,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *key);
18c2aff776a775d34a4c9893a4c72e0434d68e36artemdbus_bool_t hal_device_property_get_bool (HalDevice *device,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *key);
18c2aff776a775d34a4c9893a4c72e0434d68e36artemdouble hal_device_property_get_double (HalDevice *device,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *key);
18c2aff776a775d34a4c9893a4c72e0434d68e36artemGSList *hal_device_property_get_strlist (HalDevice *device,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *key);
18c2aff776a775d34a4c9893a4c72e0434d68e36artemconst char *hal_device_property_get_strlist_elem (HalDevice *device,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *key,
18c2aff776a775d34a4c9893a4c72e0434d68e36artemgboolean hal_device_property_set_string (HalDevice *device,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *key,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *value);
18c2aff776a775d34a4c9893a4c72e0434d68e36artemgboolean hal_device_property_set_int (HalDevice *device,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *key,
18c2aff776a775d34a4c9893a4c72e0434d68e36artemgboolean hal_device_property_set_uint64 (HalDevice *device,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *key,
18c2aff776a775d34a4c9893a4c72e0434d68e36artemgboolean hal_device_property_set_bool (HalDevice *device,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *key,
18c2aff776a775d34a4c9893a4c72e0434d68e36artemgboolean hal_device_property_set_double (HalDevice *device,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *key,
18c2aff776a775d34a4c9893a4c72e0434d68e36artemgboolean hal_device_property_strlist_append (HalDevice *device,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *key,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *value);
18c2aff776a775d34a4c9893a4c72e0434d68e36artemgboolean hal_device_property_strlist_prepend (HalDevice *device,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *key,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *value);
18c2aff776a775d34a4c9893a4c72e0434d68e36artemgboolean hal_device_property_strlist_remove_elem (HalDevice *device,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *key,
18c2aff776a775d34a4c9893a4c72e0434d68e36artemgboolean hal_device_property_strlist_clear (HalDevice *device,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *key);
18c2aff776a775d34a4c9893a4c72e0434d68e36artemgboolean hal_device_property_strlist_add (HalDevice *device,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *key,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *value);
18c2aff776a775d34a4c9893a4c72e0434d68e36artemgboolean hal_device_property_strlist_remove (HalDevice *device,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *key,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *value);
18c2aff776a775d34a4c9893a4c72e0434d68e36artemgboolean hal_device_property_strlist_is_empty (HalDevice *device,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *key);
18c2aff776a775d34a4c9893a4c72e0434d68e36artemgboolean hal_device_property_remove (HalDevice *device,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *key);
18c2aff776a775d34a4c9893a4c72e0434d68e36artemgboolean hal_device_copy_property (HalDevice *from_device,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *from,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *to);
18c2aff776a775d34a4c9893a4c72e0434d68e36artemvoid hal_device_async_wait_property (HalDevice *device,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *key,
18c2aff776a775d34a4c9893a4c72e0434d68e36artemgboolean hal_device_property_set_attribute (HalDevice *device,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem const char *key,
18c2aff776a775d34a4c9893a4c72e0434d68e36artemgboolean hal_device_inc_num_ready_addons (HalDevice *device);
18c2aff776a775d34a4c9893a4c72e0434d68e36artemgboolean hal_device_are_all_addons_ready (HalDevice *device);
18c2aff776a775d34a4c9893a4c72e0434d68e36artem#endif /* DEVICE_H */