char *__connman_udev_get_devtype(const char *ifname);
char *__connman_udev_get_mbm_devnode(const char *ifname);
void __connman_udev_rfkill(const char *sysname, connman_bool_t blocked);
+void __connman_udev_enable_rfkill_processing(void);
#include <connman/device.h>
__connman_connection_init();
__connman_ipv4_init();
- __connman_rfkill_init();
+
+ if (__connman_rfkill_init() < 0)
+ __connman_udev_enable_rfkill_processing();
}
void __connman_element_stop(void)
DBG("");
__connman_rfkill_cleanup();
+
__connman_ipv4_cleanup();
__connman_connection_cleanup();
}
}
#endif
+static gboolean rfkill_processing = FALSE;
+
static GSList *device_list = NULL;
static struct connman_device *find_device(int index)
const char *value, *type = NULL;
int state = -1;
+ if (rfkill_processing == FALSE)
+ return;
+
entry = udev_device_get_properties_list_entry(device);
while (entry) {
const char *name = udev_list_entry_get_name(entry);
static struct udev_monitor *udev_mon;
static guint udev_watch = 0;
+void __connman_udev_enable_rfkill_processing(void)
+{
+ rfkill_processing = TRUE;
+
+ enumerate_devices(udev_ctx);
+}
+
char *__connman_udev_get_devtype(const char *ifname)
{
struct udev_device *device;