extern void connman_element_unregister_children(struct connman_element *element);
extern void connman_element_update(struct connman_element *element);
+extern int connman_element_set_enabled(struct connman_element *element,
+ gboolean enabled);
+
static inline void *connman_element_get_data(struct connman_element *element)
{
return element->driver_data;
int __connman_security_check_privileges(DBusMessage *message);
#include <connman/driver.h>
+
+void __connman_driver_rescan(struct connman_driver *driver);
+
#include <connman/element.h>
int __connman_element_init(DBusConnection *conn, const char *device);
int __connman_element_load(struct connman_element *element);
int __connman_element_store(struct connman_element *element);
+#include <connman/device.h>
+
+int __connman_device_init(void);
+void __connman_device_cleanup(void);
+
#include <connman/rtnl.h>
int __connman_rtnl_init(void);
return FALSE;
}
+void __connman_driver_rescan(struct connman_driver *driver)
+{
+ DBG("driver %p name %s", driver, driver->name);
+
+ if (!driver->probe)
+ return;
+
+ g_static_rw_lock_writer_lock(&element_lock);
+
+ if (element_root != NULL)
+ g_node_traverse(element_root, G_PRE_ORDER,
+ G_TRAVERSE_ALL, -1, probe_driver, driver);
+
+ g_static_rw_lock_writer_unlock(&element_lock);
+}
+
/**
* connman_driver_register:
* @driver: driver definition
g_static_rw_lock_reader_unlock(&element_lock);
}
+int connman_element_set_enabled(struct connman_element *element,
+ gboolean enabled)
+{
+ if (element->enabled == enabled)
+ return 0;
+
+ element->enabled = enabled;
+
+ connman_element_update(element);
+
+ return 0;
+}
+
static void register_element(gpointer data, gpointer user_data)
{
struct connman_element *element = data;