Re: [PATCH] service: Add __connman_service_ipconfig_indicate_states function

2015-07-09 Thread Patrik Flykt
On Thu, 2015-07-09 at 16:37 +0300, Slava Monich wrote:
 Calling __connman_service_ipconfig_indicate_state for both IPv4 and IPv6 is
 a fairly common pattern on connman. It makes sense to combine these two calls
 into one function.

NACK. Since __connman_service_ipconfig_indicate_state() is still needed
it does not really help anybody to now have two exported functions that
do the same. The other point is that it should be made obvious that IPv4
and IPv6 do work independently of each other and connectivity can be
provided with either.


Patrik


___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman


[PATCH] service: Add __connman_service_ipconfig_indicate_states function

2015-07-09 Thread Slava Monich
Calling __connman_service_ipconfig_indicate_state for both IPv4 and IPv6 is
a fairly common pattern on connman. It makes sense to combine these two calls
into one function.
---
 src/connman.h |  2 ++
 src/network.c | 17 -
 src/service.c | 34 +++---
 3 files changed, 21 insertions(+), 32 deletions(-)

diff --git a/src/connman.h b/src/connman.h
index aac6a0b..c5a94c9 100644
--- a/src/connman.h
+++ b/src/connman.h
@@ -703,6 +703,8 @@ int __connman_service_online_check_failed(struct 
connman_service *service,
 int __connman_service_ipconfig_indicate_state(struct connman_service *service,
enum connman_service_state new_state,
enum connman_ipconfig_type type);
+void __connman_service_ipconfig_indicate_states(struct connman_service 
*service,
+   enum connman_service_state new_state);
 enum connman_service_state __connman_service_ipconfig_get_state(
struct connman_service *service,
enum connman_ipconfig_type type);
diff --git a/src/network.c b/src/network.c
index badb770..cd66c4e 100644
--- a/src/network.c
+++ b/src/network.c
@@ -697,13 +697,8 @@ static void set_disconnected(struct connman_network 
*network)
}
}
 
-   __connman_service_ipconfig_indicate_state(service,
-   CONNMAN_SERVICE_STATE_IDLE,
-   CONNMAN_IPCONFIG_TYPE_IPV4);
-
-   __connman_service_ipconfig_indicate_state(service,
-   CONNMAN_SERVICE_STATE_IDLE,
-   CONNMAN_IPCONFIG_TYPE_IPV6);
+   __connman_service_ipconfig_indicate_states(service,
+   CONNMAN_SERVICE_STATE_IDLE);
 
network-connecting = false;
network-connected = false;
@@ -1214,12 +1209,8 @@ int connman_network_set_associating(struct 
connman_network *network,
struct connman_service *service;
 
service = connman_service_lookup_from_network(network);
-   __connman_service_ipconfig_indicate_state(service,
-   CONNMAN_SERVICE_STATE_ASSOCIATION,
-   CONNMAN_IPCONFIG_TYPE_IPV4);
-   __connman_service_ipconfig_indicate_state(service,
-   CONNMAN_SERVICE_STATE_ASSOCIATION,
-   CONNMAN_IPCONFIG_TYPE_IPV6);
+   __connman_service_ipconfig_indicate_states(service,
+   CONNMAN_SERVICE_STATE_ASSOCIATION);
}
 
return 0;
diff --git a/src/service.c b/src/service.c
index 2d8245e..00385ac 100644
--- a/src/service.c
+++ b/src/service.c
@@ -3927,12 +3927,8 @@ static gboolean connect_timeout(gpointer user_data)
} else
autoconnect = true;
 
-   __connman_service_ipconfig_indicate_state(service,
-   CONNMAN_SERVICE_STATE_FAILURE,
-   CONNMAN_IPCONFIG_TYPE_IPV4);
-   __connman_service_ipconfig_indicate_state(service,
-   CONNMAN_SERVICE_STATE_FAILURE,
-   CONNMAN_IPCONFIG_TYPE_IPV6);
+   __connman_service_ipconfig_indicate_states(service,
+   CONNMAN_SERVICE_STATE_FAILURE);
 
if (autoconnect 
service-connect_reason !=
@@ -5452,12 +5448,8 @@ int __connman_service_indicate_error(struct 
connman_service *service,
 
set_error(service, error);
 
-   __connman_service_ipconfig_indicate_state(service,
-   CONNMAN_SERVICE_STATE_FAILURE,
-   CONNMAN_IPCONFIG_TYPE_IPV4);
-   __connman_service_ipconfig_indicate_state(service,
-   CONNMAN_SERVICE_STATE_FAILURE,
-   CONNMAN_IPCONFIG_TYPE_IPV6);
+   __connman_service_ipconfig_indicate_states(service,
+   CONNMAN_SERVICE_STATE_FAILURE);
return 0;
 }
 
@@ -5478,13 +5470,8 @@ int __connman_service_clear_error(struct connman_service 
*service)
provider_pending = service-provider_pending;
service-provider_pending = NULL;
 
-   __connman_service_ipconfig_indicate_state(service,
-   CONNMAN_SERVICE_STATE_IDLE,
-   CONNMAN_IPCONFIG_TYPE_IPV6);
-
-   __connman_service_ipconfig_indicate_state(service,
-   CONNMAN_SERVICE_STATE_IDLE,
-