return -EINVAL;
if (powered == TRUE) {
- if (driver->enable)
+ if (driver->enable) {
err = driver->enable(device);
- else
+ __connman_notifier_device_type_increase(device->type);
+ } else
err = -EINVAL;
} else {
g_hash_table_remove_all(device->networks);
- if (driver->disable)
+ if (driver->disable) {
err = driver->disable(device);
- else
+ __connman_notifier_device_type_decrease(device->type);
+ } else
err = -EINVAL;
}
if (device->powered == TRUE)
return;
- if (device->driver->enable)
+ if (device->driver->enable) {
device->driver->enable(device);
+ __connman_notifier_device_type_increase(device->type);
+ }
}
static void device_disable(struct connman_device *device)
g_hash_table_remove_all(device->networks);
- if (device->driver->disable)
+ if (device->driver->disable) {
device->driver->disable(device);
+ __connman_notifier_device_type_decrease(device->type);
+ }
}
static int setup_device(struct connman_device *device)
__connman_element_foreach(NULL, CONNMAN_ELEMENT_TYPE_DEVICE,
set_offlinemode, GUINT_TO_POINTER(offlinemode));
+ __connman_notifier_offline_mode(offlinemode);
+
return 0;
}