-int __connman_service_set_carrier(struct connman_service *service,
- connman_bool_t carrier)
-{
- DBG("service %p carrier %d", service, carrier);
-
- if (service == NULL)
- return -EINVAL;
-
- switch (service->type) {
- case CONNMAN_SERVICE_TYPE_UNKNOWN:
- case CONNMAN_SERVICE_TYPE_WIFI:
- case CONNMAN_SERVICE_TYPE_WIMAX:
- case CONNMAN_SERVICE_TYPE_BLUETOOTH:
- case CONNMAN_SERVICE_TYPE_CELLULAR:
- return -EINVAL;
- case CONNMAN_SERVICE_TYPE_ETHERNET:
- break;
- }
-
- if (carrier == FALSE) {
- service->state = CONNMAN_SERVICE_STATE_DISCONNECT;
- state_changed(service);
-
- service->state = CONNMAN_SERVICE_STATE_IDLE;
- state_changed(service);
- } else {
- service->state = CONNMAN_SERVICE_STATE_CARRIER;
- state_changed(service);
- }
-
- return connman_service_set_favorite(service, carrier);
-}
-