service: Create service_complete helper function
authorPatrik Flykt <patrik.flykt@nokia.com>
Thu, 2 Dec 2010 14:09:13 +0000 (16:09 +0200)
committerSamuel Ortiz <sameo@linux.intel.com>
Thu, 2 Dec 2010 15:48:11 +0000 (16:48 +0100)
The service_complete helper function factors out reply sending to clients,
running autoconnect and updating service modification time.

src/service.c

index b1842d6..1c29d88 100644 (file)
@@ -2931,6 +2931,17 @@ void __connman_service_set_string(struct connman_service *service,
        }
 }
 
+static void service_complete(struct connman_service *service)
+{
+       reply_pending(service, EIO);
+
+       if (service->userconnect == FALSE)
+               __connman_service_auto_connect();
+
+       g_get_current_time(&service->modified);
+       __connman_storage_save_service(service);
+}
+
 int __connman_service_indicate_state(struct connman_service *service,
                                        enum connman_service_state state)
 {
@@ -3027,13 +3038,7 @@ int __connman_service_indicate_state(struct connman_service *service,
        }
 
        if (state == CONNMAN_SERVICE_STATE_FAILURE) {
-               reply_pending(service, EIO);
-
-               if (service->userconnect == FALSE)
-                       __connman_service_auto_connect();
-
-               g_get_current_time(&service->modified);
-               __connman_storage_save_service(service);
+               service_complete(service);
        } else
                service->error = CONNMAN_SERVICE_ERROR_UNKNOWN;