X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=plugins%2Fiwmx.c;h=e79c1af91dcd25f92d262f1524034a37fa9ce4e4;hb=04589cdd53183bc2e3102bae95cb558dc29078ee;hp=ccbd1d217b8c3e056c92642b9353428db12d90a8;hpb=00d98e92bf5976a721caa68fc100fcc19068410b;p=framework%2Fconnectivity%2Fconnman.git diff --git a/plugins/iwmx.c b/plugins/iwmx.c index ccbd1d2..e79c1af 100644 --- a/plugins/iwmx.c +++ b/plugins/iwmx.c @@ -2,7 +2,7 @@ * * Connection Manager * - * Copyright (C) 2007-2009 Intel Corporation. All rights reserved. + * Copyright (C) 2007-2010 Intel Corporation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -119,7 +119,6 @@ static struct connman_network_driver iwmx_cm_network_driver = { */ struct connman_network *__iwmx_cm_network_available( struct wmxsdk *wmxsdk, const char *station_name, - const char *station_type, const void *sdk_nspname, size_t sdk_nspname_size, int strength) { @@ -133,8 +132,8 @@ struct connman_network *__iwmx_cm_network_available( DBG("new network %s", station_name); nw = connman_network_create(station_name, CONNMAN_NETWORK_TYPE_WIMAX); + connman_network_register(nw); connman_network_set_index(nw, connman_device_get_index(dev)); - connman_network_set_protocol(nw, CONNMAN_NETWORK_PROTOCOL_IP); connman_network_set_name(nw, station_name); connman_network_set_blob(nw, "WiMAX.NSP.name", sdk_nspname, sdk_nspname_size); @@ -150,6 +149,7 @@ struct connman_network *__iwmx_cm_network_available( group[3 * cnt + 1] = 0; connman_network_set_group(nw, station_name); if (connman_device_add_network(dev, nw) < 0) { + connman_network_unregister(nw); connman_network_unref(nw); goto error_add; } @@ -157,7 +157,6 @@ struct connman_network *__iwmx_cm_network_available( DBG("updating network %s nw %p\n", station_name, nw); connman_network_set_available(nw, TRUE); connman_network_set_strength(nw, strength); - connman_network_set_string(nw, "WiMAX Network Type", station_type); error_add: return nw; } @@ -169,14 +168,13 @@ error_add: */ struct connman_network *iwmx_cm_network_available( struct wmxsdk *wmxsdk, const char *station_name, - const char *station_type, const void *sdk_nspname, size_t sdk_nspname_size, int strength) { struct connman_network *nw; g_static_mutex_lock(&wmxsdk->network_mutex); - nw = __iwmx_cm_network_available(wmxsdk, station_name, station_type, + nw = __iwmx_cm_network_available(wmxsdk, station_name, sdk_nspname, sdk_nspname_size, strength); g_static_mutex_unlock(&wmxsdk->network_mutex); @@ -234,6 +232,7 @@ static void iwmx_cm_dev_connected(struct wmxsdk *wmxsdk) } wmxsdk->nw = connman_network_ref(nw); wmxsdk->connecting_nw = NULL; + connman_network_set_ipv4_method(nw, CONNMAN_IPCONFIG_METHOD_DHCP); connman_network_set_connected(nw, TRUE); DBG("connected to network %s\n", connman_network_get_identifier(nw)); @@ -258,6 +257,7 @@ static void __iwmx_cm_dev_disconnected(struct wmxsdk *wmxsdk) DBG("disconnected from network %s\n", connman_network_get_identifier(nw)); connman_network_set_connected(nw, FALSE); + connman_network_unregister(nw); connman_network_unref(nw); wmxsdk->nw = NULL; } else @@ -299,6 +299,7 @@ void __iwmx_cm_state_change(struct wmxsdk *wmxsdk, * For practical effects, some states are the same */ +#if HAVE_IWMXSDK_STATUS_IDLE /* Conection_Idle is the same as Data_Connected */ if (__old_status == WIMAX_API_DEVICE_STATUS_Connection_Idle) old_status = WIMAX_API_DEVICE_STATUS_Data_Connected; @@ -308,7 +309,7 @@ void __iwmx_cm_state_change(struct wmxsdk *wmxsdk, new_status = WIMAX_API_DEVICE_STATUS_Data_Connected; else new_status = __new_status; - +#endif /* #if HAVE_IWMXSDK_STATUS_IDLE */ /* Radio off: all are just RF_OFF_SW (the highest) */ switch (__old_status) { case WIMAX_API_DEVICE_STATUS_RF_OFF_HW_SW: