int __connman_device_disable_persistent(struct connman_device *device);
int __connman_device_disconnect(struct connman_device *device);
+connman_bool_t __connman_device_scanning(struct connman_device *device);
+
connman_bool_t __connman_device_has_driver(struct connman_device *device);
void __connman_device_set_reconnect(struct connman_device *device,
remove_unavailable_network, NULL);
}
+connman_bool_t __connman_device_scanning(struct connman_device *device)
+{
+ return device->scanning;
+}
+
/**
* connman_device_set_scanning:
* @device: device structure
struct connman_service * __connman_service_create_from_network(struct connman_network *network)
{
struct connman_service *service;
+ struct connman_device *device;
const char *ident, *group;
char *name;
int index;
service_register(service);
- if (service->favorite == TRUE)
- __connman_service_auto_connect();
+ if (service->favorite == TRUE) {
+ device = connman_network_get_device(service->network);
+ if (device && __connman_device_scanning(device) == FALSE)
+ __connman_service_auto_connect();
+ }
return service;
}