From: adhavan.m Date: Wed, 8 Feb 2017 11:06:20 +0000 (+0530) Subject: [WiFi] Added wifi-manager changes and fix for multi-thread support. X-Git-Tag: accepted/tizen/common/20170210.170432^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F06%2F113706%2F4;p=platform%2Fcore%2Fcsapi%2Fwifi.git [WiFi] Added wifi-manager changes and fix for multi-thread support. Signed-off-by: adhavan.m Change-Id: I6cade0774538422555f2f4f4a33ab8de89b30a05 --- diff --git a/Tizen.Network.WiFi/Interop/Interop.Libraries.cs b/Tizen.Network.WiFi/Interop/Interop.Libraries.cs old mode 100644 new mode 100755 index 704b024..d966df6 --- a/Tizen.Network.WiFi/Interop/Interop.Libraries.cs +++ b/Tizen.Network.WiFi/Interop/Interop.Libraries.cs @@ -18,7 +18,7 @@ internal static partial class Interop { internal static partial class Libraries { - public const string WiFi = "libcapi-network-wifi.so.1"; + public const string WiFi = "libcapi-network-wifi-manager.so.1"; public const string Glib = "libglib-2.0.so.0"; public const string Libc = "libc.so.6"; } diff --git a/Tizen.Network.WiFi/Interop/Interop.WiFi.cs b/Tizen.Network.WiFi/Interop/Interop.WiFi.cs old mode 100644 new mode 100755 index 52c1ffb..56a37cc --- a/Tizen.Network.WiFi/Interop/Interop.WiFi.cs +++ b/Tizen.Network.WiFi/Interop/Interop.WiFi.cs @@ -36,218 +36,218 @@ internal static partial class Interop internal delegate void RssiLevelChangedCallback(int level, IntPtr userData); //capi-network-wifi-1.0.65-19.23.armv7l - [DllImport(Libraries.WiFi, EntryPoint = "wifi_initialize")] - internal static extern int Initialize(); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_deinitialize")] - internal static extern int Deinitialize(); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_initialize")] + internal static extern int Initialize(out IntPtr wifi); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_deinitialize")] + internal static extern int Deinitialize(IntPtr wifi); ////Wi-Fi Manager - [DllImport(Libraries.WiFi, EntryPoint = "wifi_activate")] - internal static extern int Activate(VoidCallback callback, IntPtr userData); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_activate_with_wifi_picker_tested")] - internal static extern int ActivateWithWiFiPickerTested(VoidCallback callback, IntPtr userData); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_deactivate")] - internal static extern int Deactivate(VoidCallback callback, IntPtr userData); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_is_activated")] - internal static extern int IsActivated(out bool activated); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_get_mac_address")] - internal static extern int GetMacAddress(out string macAddress); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_get_network_interface_name")] - internal static extern int GetNetworkInterfaceName(out string interfaceName); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_scan")] - internal static extern int Scan(VoidCallback callback, IntPtr userData); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_scan_specific_ap")] - internal static extern int ScanSpecificAp(string essid, VoidCallback callback, IntPtr userData); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_get_connected_ap")] - internal static extern int GetConnectedAp(out IntPtr ap); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_foreach_found_aps")] - internal static extern int GetForeachFoundAps(HandleCallback callback, IntPtr userData); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_foreach_found_specific_aps")] - internal static extern int GetForeachFoundSpecificAps(HandleCallback callback, IntPtr userData); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_connect")] - internal static extern int Connect(IntPtr ap, VoidCallback callback, IntPtr userData); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_disconnect")] - internal static extern int Disconnect(IntPtr ap, VoidCallback callback, IntPtr userData); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_connect_by_wps_pbc")] - internal static extern int ConnectByWpsPbc(IntPtr ap, VoidCallback callback, IntPtr userData); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_connect_by_wps_pin")] - internal static extern int ConnectByWpsPin(IntPtr ap, string pin, VoidCallback callback, IntPtr userData); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_forget_ap")] - internal static extern int RemoveAp(IntPtr ap); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_activate")] + internal static extern int Activate(IntPtr wifi, VoidCallback callback, IntPtr userData); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_activate_with_wifi_picker_tested")] + internal static extern int ActivateWithWiFiPickerTested(IntPtr wifi, VoidCallback callback, IntPtr userData); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_deactivate")] + internal static extern int Deactivate(IntPtr wifi, VoidCallback callback, IntPtr userData); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_is_activated")] + internal static extern int IsActivated(IntPtr wifi, out bool activated); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_get_mac_address")] + internal static extern int GetMacAddress(IntPtr wifi, out string macAddress); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_get_network_interface_name")] + internal static extern int GetNetworkInterfaceName(IntPtr wifi, out string interfaceName); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_scan")] + internal static extern int Scan(IntPtr wifi, VoidCallback callback, IntPtr userData); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_scan_specific_ap")] + internal static extern int ScanSpecificAp(IntPtr wifi, string essid, VoidCallback callback, IntPtr userData); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_get_connected_ap")] + internal static extern int GetConnectedAp(IntPtr wifi, out IntPtr ap); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_foreach_found_ap")] + internal static extern int GetForeachFoundAps(IntPtr wifi, HandleCallback callback, IntPtr userData); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_foreach_found_specific_ap")] + internal static extern int GetForeachFoundSpecificAps(IntPtr wifi, HandleCallback callback, IntPtr userData); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_connect")] + internal static extern int Connect(IntPtr wifi, IntPtr ap, VoidCallback callback, IntPtr userData); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_disconnect")] + internal static extern int Disconnect(IntPtr wifi, IntPtr ap, VoidCallback callback, IntPtr userData); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_connect_by_wps_pbc")] + internal static extern int ConnectByWpsPbc(IntPtr wifi, IntPtr ap, VoidCallback callback, IntPtr userData); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_connect_by_wps_pin")] + internal static extern int ConnectByWpsPin(IntPtr wifi, IntPtr ap, string pin, VoidCallback callback, IntPtr userData); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_forget_ap")] + internal static extern int RemoveAp(IntPtr wifi, IntPtr ap); //Wi-Fi Monitor - [DllImport(Libraries.WiFi, EntryPoint = "wifi_get_connection_state")] - internal static extern int GetConnectionState(out int connectionState); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_set_device_state_changed_cb")] - internal static extern int SetDeviceStateChangedCallback(DeviceStateChangedCallback callback, IntPtr userData); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_unset_device_state_changed_cb")] - internal static extern int UnsetDeviceStateChangedCallback(); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_set_background_scan_cb")] - internal static extern int SetBackgroundScanCallback(VoidCallback callback, IntPtr userData); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_unset_background_scan_cb")] - internal static extern int UnsetBackgroundScanCallback(); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_set_connection_state_changed_cb")] - internal static extern int SetConnectionStateChangedCallback(ConnectionStateChangedCallback callback, IntPtr userData); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_unset_connection_state_changed_cb")] - internal static extern int UnsetConnectionStateChangedCallback(); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_set_rssi_level_changed_cb")] - internal static extern int SetRssiLevelchangedCallback(RssiLevelChangedCallback callback, IntPtr userData); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_unset_rssi_level_changed_cb")] - internal static extern int UnsetRssiLevelchangedCallback(); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_get_connection_state")] + internal static extern int GetConnectionState(IntPtr wifi, out int connectionState); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_set_device_state_changed_cb")] + internal static extern int SetDeviceStateChangedCallback(IntPtr wifi, DeviceStateChangedCallback callback, IntPtr userData); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_unset_device_state_changed_cb")] + internal static extern int UnsetDeviceStateChangedCallback(IntPtr wifi); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_set_background_scan_cb")] + internal static extern int SetBackgroundScanCallback(IntPtr wifi, VoidCallback callback, IntPtr userData); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_unset_background_scan_cb")] + internal static extern int UnsetBackgroundScanCallback(IntPtr wifi); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_set_connection_state_changed_cb")] + internal static extern int SetConnectionStateChangedCallback(IntPtr wifi, ConnectionStateChangedCallback callback, IntPtr userData); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_unset_connection_state_changed_cb")] + internal static extern int UnsetConnectionStateChangedCallback(IntPtr wifi); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_set_rssi_level_changed_cb")] + internal static extern int SetRssiLevelchangedCallback(IntPtr wifi, RssiLevelChangedCallback callback, IntPtr userData); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_unset_rssi_level_changed_cb")] + internal static extern int UnsetRssiLevelchangedCallback(IntPtr wifi); internal static class Ap { - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_create")] - internal static extern int Create(string essid, out IntPtr ap); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_hidden_create")] - internal static extern int CreateHiddenAp(string essid, out IntPtr ap); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_destroy")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_create")] + internal static extern int Create(IntPtr wifi, string essid, out IntPtr ap); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_hidden_create")] + internal static extern int CreateHiddenAp(IntPtr wifi, string essid, out IntPtr ap); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_destroy")] internal static extern int Destroy(IntPtr ap); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_clone")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_clone")] internal static extern int Clone(out IntPtr cloned, IntPtr original); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_refresh")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_refresh")] internal static extern int Refresh(IntPtr ap); ////Network Information - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_get_essid")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_get_essid")] internal static extern int GetEssid(IntPtr ap, out IntPtr essid); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_get_bssid")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_get_bssid")] internal static extern int GetBssid(IntPtr ap, out IntPtr bssid); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_get_rssi")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_get_rssi")] internal static extern int GetRssi(IntPtr ap, out int rssi); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_get_frequency")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_get_frequency")] internal static extern int GetFrequency(IntPtr ap, out int frequency); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_get_max_speed")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_get_max_speed")] internal static extern int GetMaxSpeed(IntPtr ap, out int maxSpeed); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_is_favorite")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_is_favorite")] internal static extern int IsFavorite(IntPtr ap, out bool isFavorite); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_is_passpoint")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_is_passpoint")] internal static extern int IsPasspoint(IntPtr ap, out bool isPasspoint); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_get_connection_state")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_get_connection_state")] internal static extern int GetConnectionState(IntPtr ap, out int connectionState); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_get_ip_config_type")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_get_ip_config_type")] internal static extern int GetIpConfigType(IntPtr ap, int addressFamily, out int ipConfigType); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_set_ip_config_type")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_set_ip_config_type")] internal static extern int SetIpConfigType(IntPtr ap, int addressFamily, int ipConfigType); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_get_ip_address")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_get_ip_address")] internal static extern int GetIpAddress(IntPtr ap, int addressFamily, out IntPtr ipAddress); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_set_ip_address")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_set_ip_address")] internal static extern int SetIpAddress(IntPtr ap, int addressFamily, string ipAddress); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_get_subnet_mask")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_get_subnet_mask")] internal static extern int GetSubnetMask(IntPtr ap, int addressFamily, out IntPtr subnetMask); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_set_subnet_mask")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_set_subnet_mask")] internal static extern int SetSubnetMask(IntPtr ap, int addressFamily, string subnetMask); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_get_gateway_address")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_get_gateway_address")] internal static extern int GetGatewayAddress(IntPtr ap, int addressFamily, out IntPtr gatewayAddress); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_set_gateway_address")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_set_gateway_address")] internal static extern int SetGatewayAddress(IntPtr ap, int addressFamily, string gatewayAddress); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_get_proxy_address")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_get_proxy_address")] internal static extern int GetProxyAddress(IntPtr ap, int addressFamily, out IntPtr proxyAddress); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_set_proxy_address")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_set_proxy_address")] internal static extern int SetProxyAddress(IntPtr ap, int addressFamily, string proxyAddress); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_get_proxy_type")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_get_proxy_type")] internal static extern int GetProxyType(IntPtr ap, out int proxyType); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_set_proxy_type")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_set_proxy_type")] internal static extern int SetProxyType(IntPtr ap, int proxyType); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_get_dns_address")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_get_dns_address")] internal static extern int GetDnsAddress(IntPtr ap, int order, int addressFamily, out IntPtr dnsAddress); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_set_dns_address")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_set_dns_address")] internal static extern int SetDnsAddress(IntPtr ap, int order, int addressFamily, string dnsAddress); ////Security Information - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_get_security_type")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_get_security_type")] internal static extern int GetSecurityType(IntPtr ap, out int securityType); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_set_security_type")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_set_security_type")] internal static extern int SetSecurityType(IntPtr ap, int securityType); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_get_encryption_type")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_get_encryption_type")] internal static extern int GetEncryptionType(IntPtr ap, out int encryptionType); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_set_encryption_type")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_set_encryption_type")] internal static extern int SetEncryptionType(IntPtr ap, int encryptionType); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_is_passphrase_required")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_is_passphrase_required")] internal static extern int IsPassphraseRequired(IntPtr ap, out bool required); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_set_passphrase")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_set_passphrase")] internal static extern int SetPassphrase(IntPtr ap, string passphrase); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_is_wps_supported")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_is_wps_supported")] internal static extern int IsWpsSupported(IntPtr ap, out bool supported); ////EAP - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_set_eap_passphrase")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_set_eap_passphrase")] internal static extern int SetEapPassphrase(IntPtr ap, string userName, string password); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_get_eap_passphrase")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_get_eap_passphrase")] internal static extern int GetEapPassphrase(IntPtr ap, out IntPtr userName, out bool isPasswordSet); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_get_eap_ca_cert_file")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_get_eap_ca_cert_file")] internal static extern int GetEapCaCertFile(IntPtr ap, out IntPtr file); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_set_eap_ca_cert_file")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_set_eap_ca_cert_file")] internal static extern int SetEapCaCertFile(IntPtr ap, string file); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_get_eap_client_cert_file")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_get_eap_client_cert_file")] internal static extern int GetEapClientCertFile(IntPtr ap, out IntPtr file); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_set_eap_client_cert_file")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_set_eap_client_cert_file")] internal static extern int SetEapClientCertFile(IntPtr ap, string file); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_get_eap_private_key_file")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_get_eap_private_key_file")] internal static extern int GetEapPrivateKeyFile(IntPtr ap, out IntPtr file); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_set_eap_private_key_info")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_set_eap_private_key_info")] internal static extern int SetEapPrivateKeyInfo(IntPtr ap, string file, string password); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_get_eap_type")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_get_eap_type")] internal static extern int GetEapType(IntPtr ap, out int eapType); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_set_eap_type")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_set_eap_type")] internal static extern int SetEapType(IntPtr ap, int eapType); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_get_eap_auth_type")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_get_eap_auth_type")] internal static extern int GetEapAuthType(IntPtr ap, out int file); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_ap_set_eap_auth_type")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_ap_set_eap_auth_type")] internal static extern int SetEapAuthType(IntPtr ap, int file); } internal static class Config { - [DllImport(Libraries.WiFi, EntryPoint = "wifi_config_create")] - internal static extern int Create(string name, string passPhrase, int securityType, out IntPtr config); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_config_clone")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_config_create")] + internal static extern int Create(IntPtr wifi, string name, string passPhrase, int securityType, out IntPtr config); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_config_clone")] internal static extern int Clone(IntPtr origin, out IntPtr cloned); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_config_destroy")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_config_destroy")] internal static extern int Destroy(IntPtr config); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_config_save_configuration")] - internal static extern int SaveConfiguration(IntPtr config); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_config_foreach_configuration")] - internal static extern int GetForeachConfiguration(HandleCallback callback, IntPtr userData); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_config_get_name")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_config_save")] + internal static extern int SaveConfiguration(IntPtr wifi, IntPtr config); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_config_foreach_configuration")] + internal static extern int GetForeachConfiguration(IntPtr wifi, HandleCallback callback, IntPtr userData); + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_config_get_name")] internal static extern int GetName(IntPtr config, out IntPtr name); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_config_get_security_type")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_config_get_security_type")] internal static extern int GetSecurityType(IntPtr config, out int securityType); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_config_set_proxy_address")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_config_set_proxy_address")] internal static extern int SetProxyAddress(IntPtr config, int addressFamily, string proxyAddress); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_config_get_proxy_address")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_config_get_proxy_address")] internal static extern int GetProxyAddress(IntPtr config, out int addressFamily, out IntPtr proxyAddress); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_config_set_hidden_ap_property")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_config_set_hidden_ap_property")] internal static extern int SetHiddenApProperty(IntPtr config, bool isHidden); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_config_get_hidden_ap_property")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_config_get_hidden_ap_property")] internal static extern int GetHiddenApProperty(IntPtr config, out bool isHidden); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_config_get_eap_anonymous_identity")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_config_get_eap_anonymous_identity")] internal static extern int GetEapAnonymousIdentity(IntPtr config, out IntPtr anonymousIdentify); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_config_set_eap_anonymous_identity")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_config_set_eap_anonymous_identity")] internal static extern int SetEapAnonymousIdentity(IntPtr config, string anonymousIdentify); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_config_get_eap_ca_cert_file")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_config_get_eap_ca_cert_file")] internal static extern int GetEapCaCertFile(IntPtr config, out IntPtr caCert); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_config_set_eap_ca_cert_file")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_config_set_eap_ca_cert_file")] internal static extern int SetEapCaCertFile(IntPtr config, string caCert); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_config_get_eap_client_cert_file")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_config_get_eap_client_cert_file")] internal static extern int GetEapClientCertFile(IntPtr config, out IntPtr clientCert); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_config_set_eap_client_cert_file")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_config_set_eap_client_cert_file")] internal static extern int SetEapClientCertFile(IntPtr config, string privateKey, string clientCert); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_config_get_eap_identity")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_config_get_eap_identity")] internal static extern int GetEapIdentity(IntPtr config, out IntPtr identify); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_config_set_eap_identity")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_config_set_eap_identity")] internal static extern int SetEapIdentity(IntPtr config, string identify); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_config_get_eap_type")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_config_get_eap_type")] internal static extern int GetEapType(IntPtr config, out int eapType); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_config_set_eap_type")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_config_set_eap_type")] internal static extern int SetEapType(IntPtr config, int eapType); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_config_get_eap_auth_type")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_config_get_eap_auth_type")] internal static extern int GetEapAuthType(IntPtr config, out int eapAuthType); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_config_set_eap_auth_type")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_config_set_eap_auth_type")] internal static extern int SetEapAuthType(IntPtr config, int eapAuthType); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_config_get_eap_subject_match")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_config_get_eap_subject_match")] internal static extern int GetEapSubjectMatch(IntPtr config, out IntPtr subjectMatch); - [DllImport(Libraries.WiFi, EntryPoint = "wifi_config_set_eap_subject_match")] + [DllImport(Libraries.WiFi, EntryPoint = "wifi_manager_config_set_eap_subject_match")] internal static extern int SetEapSubjectMatch(IntPtr config, string subjectMatch); } } diff --git a/Tizen.Network.WiFi/Tizen.Network.WiFi.project.json b/Tizen.Network.WiFi/Tizen.Network.WiFi.project.json old mode 100644 new mode 100755 index a754ff9..4f22cdd --- a/Tizen.Network.WiFi/Tizen.Network.WiFi.project.json +++ b/Tizen.Network.WiFi/Tizen.Network.WiFi.project.json @@ -1,10 +1,11 @@ { "dependencies": { "NETStandard.Library": "1.6.0", + "System.Threading.Thread": "4.3.0", "Tizen": "1.0.2", "Tizen.Network.Connection": "1.0.2" - }, - "frameworks": { - "netstandard1.3": {} - } -} + }, + "frameworks": { + "netstandard1.3": {} + } +} \ No newline at end of file diff --git a/Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiAp.cs b/Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiAp.cs old mode 100644 new mode 100755 index 59a0998..282c020 --- a/Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiAp.cs +++ b/Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiAp.cs @@ -107,11 +107,11 @@ namespace Tizen.Network.WiFi int ret = -1; if (hidden) { - ret = Interop.WiFi.Ap.Create(id, out _apHandle); + ret = Interop.WiFi.Ap.Create(WiFiManagerImpl.Instance.GetHandle(), id, out _apHandle); } else { - ret = Interop.WiFi.Ap.CreateHiddenAp(id, out _apHandle); + ret = Interop.WiFi.Ap.CreateHiddenAp(WiFiManagerImpl.Instance.GetHandle(), id, out _apHandle); } if (ret != (int)WiFiError.None) diff --git a/Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiConfiguration.cs b/Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiConfiguration.cs old mode 100644 new mode 100755 index fdf01bb..8460064 --- a/Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiConfiguration.cs +++ b/Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiConfiguration.cs @@ -133,7 +133,7 @@ namespace Tizen.Network.WiFi public WiFiConfiguration(string name, string passPhrase, WiFiSecureType type) { - int ret = Interop.WiFi.Config.Create(name, passPhrase, (int)type, out _configHandle); + int ret = Interop.WiFi.Config.Create(WiFiManagerImpl.Instance.GetHandle(), name, passPhrase, (int)type, out _configHandle); if (ret != (int)WiFiError.None) { Log.Error(Globals.LogTag, "Failed to create config handle, Error - " + (WiFiError)ret); diff --git a/Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiManager.cs b/Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiManager.cs index d19ba8a..5d5eab6 100755 --- a/Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiManager.cs +++ b/Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiManager.cs @@ -33,11 +33,7 @@ namespace Tizen.Network.WiFi { get { - if (Globals.IsInitialize) - { - return WiFiManagerImpl.Instance.MacAddress; - } - return null; + return WiFiManagerImpl.Instance.MacAddress; } } /// @@ -47,11 +43,7 @@ namespace Tizen.Network.WiFi { get { - if (Globals.IsInitialize) - { - return WiFiManagerImpl.Instance.InterfaceName; - } - return null; + return WiFiManagerImpl.Instance.InterfaceName; } } /// @@ -61,11 +53,7 @@ namespace Tizen.Network.WiFi { get { - if (Globals.IsInitialize) - { - return WiFiManagerImpl.Instance.ConnectionState; - } - return default(WiFiConnectionState); + return WiFiManagerImpl.Instance.ConnectionState; } } /// @@ -75,11 +63,7 @@ namespace Tizen.Network.WiFi { get { - if (Globals.IsInitialize) - { - return WiFiManagerImpl.Instance.IsActivated; - } - return false; + return WiFiManagerImpl.Instance.IsActivated; } } @@ -90,17 +74,11 @@ namespace Tizen.Network.WiFi { add { - if (Globals.IsInitialize) - { - WiFiManagerImpl.Instance.DeviceStateChanged += value; - } + WiFiManagerImpl.Instance.DeviceStateChanged += value; } remove { - if (Globals.IsInitialize) - { - WiFiManagerImpl.Instance.DeviceStateChanged -= value; - } + WiFiManagerImpl.Instance.DeviceStateChanged -= value; } } /// @@ -110,17 +88,11 @@ namespace Tizen.Network.WiFi { add { - if (Globals.IsInitialize) - { - WiFiManagerImpl.Instance.ConnectionStateChanged += value; - } + WiFiManagerImpl.Instance.ConnectionStateChanged += value; } remove { - if (Globals.IsInitialize) - { - WiFiManagerImpl.Instance.ConnectionStateChanged -= value; - } + WiFiManagerImpl.Instance.ConnectionStateChanged -= value; } } /// @@ -130,17 +102,11 @@ namespace Tizen.Network.WiFi { add { - if (Globals.IsInitialize) - { - WiFiManagerImpl.Instance.RssiLevelChanged += value; - } + WiFiManagerImpl.Instance.RssiLevelChanged += value; } remove { - if (Globals.IsInitialize) - { - WiFiManagerImpl.Instance.RssiLevelChanged -= value; - } + WiFiManagerImpl.Instance.RssiLevelChanged -= value; } } /// @@ -151,17 +117,11 @@ namespace Tizen.Network.WiFi { add { - if (Globals.IsInitialize) - { - WiFiManagerImpl.Instance.BackgroundScanFinished += value; - } + WiFiManagerImpl.Instance.BackgroundScanFinished += value; } remove { - if (Globals.IsInitialize) - { - WiFiManagerImpl.Instance.BackgroundScanFinished -= value; - } + WiFiManagerImpl.Instance.BackgroundScanFinished -= value; } } /// @@ -170,11 +130,7 @@ namespace Tizen.Network.WiFi /// A task contains the lisf for WiFiApInformation objects. static public IEnumerable GetFoundAps() { - if (Globals.IsInitialize) - { - return WiFiManagerImpl.Instance.GetFoundAps(); - } - throw new InvalidOperationException("Not initialized"); + return WiFiManagerImpl.Instance.GetFoundAps(); } /// /// Gets the result of specific ap scan asynchronously. @@ -182,11 +138,7 @@ namespace Tizen.Network.WiFi /// A task contains the WiFiApInformation object. static public IEnumerable GetFoundSpecificAps() { - if (Globals.IsInitialize) - { - return WiFiManagerImpl.Instance.GetFoundSpecificAps(); - } - throw new InvalidOperationException("Not initialized"); + return WiFiManagerImpl.Instance.GetFoundSpecificAps(); } /// /// Gets the list of wifi configuration. @@ -194,11 +146,7 @@ namespace Tizen.Network.WiFi /// A task contains the lisf for WiFiConfiguration objects. static public IEnumerable GetWiFiConfigurations() { - if (Globals.IsInitialize) - { - return WiFiManagerImpl.Instance.GetWiFiConfigurations(); - } - throw new InvalidOperationException("Not initialized"); + return WiFiManagerImpl.Instance.GetWiFiConfigurations(); } /// /// Saves Wi-Fi configuration of access point. @@ -206,14 +154,7 @@ namespace Tizen.Network.WiFi /// The configuration to be stored static public void SaveWiFiNetworkConfiguration(WiFiConfiguration configuration) { - if (Globals.IsInitialize) - { - WiFiManagerImpl.Instance.SaveWiFiNetworkConfiguration(configuration); - } - else - { - throw new InvalidOperationException("Not initialized"); - } + WiFiManagerImpl.Instance.SaveWiFiNetworkConfiguration(configuration); } /// /// Gets the handle of the connected access point. @@ -221,11 +162,7 @@ namespace Tizen.Network.WiFi /// The connected wifi access point(AP) information. static public WiFiAp GetConnectedAp() { - if (Globals.IsInitialize) - { - return WiFiManagerImpl.Instance.GetConnectedAp(); - } - throw new InvalidOperationException("Not initialized"); + return WiFiManagerImpl.Instance.GetConnectedAp(); } /// /// Deletes the information of stored access point and disconnects it when it connected.
@@ -234,14 +171,7 @@ namespace Tizen.Network.WiFi /// The access point to be removed static public void RemoveAP(WiFiAp ap) { - if (Globals.IsInitialize) - { - WiFiManagerImpl.Instance.RemoveAp(ap); - } - else - { - throw new InvalidOperationException("Not initialized"); - } + WiFiManagerImpl.Instance.RemoveAp(ap); } /// /// Activates Wi-Fi asynchronously. @@ -249,11 +179,7 @@ namespace Tizen.Network.WiFi /// A task indicates whether the Activate method is done or not. static public Task ActivateAsync() { - if (Globals.IsInitialize) - { - return WiFiManagerImpl.Instance.ActivateAsync(); - } - throw new InvalidOperationException("Not initialized"); + return WiFiManagerImpl.Instance.ActivateAsync(); } /// /// Activates Wi-Fi asynchronously and displays Wi-Fi picker (popup) when Wi-Fi is not automatically connected. @@ -261,11 +187,7 @@ namespace Tizen.Network.WiFi /// A task indicates whether the ActivateWithPickerTeated method is done or not. static public Task ActivateWithPickerTeatedAsync() { - if (Globals.IsInitialize) - { - return WiFiManagerImpl.Instance.ActivateWithWiFiPickerTestedAsync(); - } - throw new InvalidOperationException("Not initialized"); + return WiFiManagerImpl.Instance.ActivateWithWiFiPickerTestedAsync(); } /// /// Deactivates Wi-Fi asynchronously. @@ -273,11 +195,7 @@ namespace Tizen.Network.WiFi /// A task indicates whether the Deactivate method is done or not. static public Task DeactivateAsync() { - if (Globals.IsInitialize) - { - return WiFiManagerImpl.Instance.DeactivateAsync(); - } - throw new InvalidOperationException("Not initialized"); + return WiFiManagerImpl.Instance.DeactivateAsync(); } /// /// Starts scan asynchronously. @@ -285,12 +203,7 @@ namespace Tizen.Network.WiFi /// A task indicates whether the Scan method is done or not. static public Task ScanAsync() { - if (Globals.IsInitialize) - { - Log.Debug(Globals.LogTag, "ScanAsync"); - return WiFiManagerImpl.Instance.ScanAsync(); - } - throw new InvalidOperationException("Not initialized"); + return WiFiManagerImpl.Instance.ScanAsync(); } /// /// Starts specific ap scan, asynchronously. @@ -299,11 +212,7 @@ namespace Tizen.Network.WiFi /// The essid of hidden ap static public Task ScanSpecificApAsync(string essid) { - if (Globals.IsInitialize) - { - return WiFiManagerImpl.Instance.ScanSpecificApAsync(essid); - } - throw new InvalidOperationException("Not initialized"); + return WiFiManagerImpl.Instance.ScanSpecificApAsync(essid); } /// /// Connects the access point asynchronously. @@ -312,12 +221,7 @@ namespace Tizen.Network.WiFi /// A task indicates whether the Connect method is done or not. static public Task ConnectAsync(WiFiAp ap) { - if (Globals.IsInitialize) - { - Log.Debug(Globals.LogTag, "ConnectAsync"); - return WiFiManagerImpl.Instance.ConnectAsync(ap); - } - throw new InvalidOperationException("Not initialized"); + return WiFiManagerImpl.Instance.ConnectAsync(ap); } /// /// Connects the access point with WPS PBC asynchronously. @@ -326,12 +230,7 @@ namespace Tizen.Network.WiFi /// The access point(AP) static public Task ConnectByWpsPbcAsync(WiFiAp ap) { - if (Globals.IsInitialize) - { - Log.Debug(Globals.LogTag, "ConnectByWpsPbcAsync"); - return WiFiManagerImpl.Instance.ConnectByWpsPbcAsync(ap); - } - throw new InvalidOperationException("Not initialized"); + return WiFiManagerImpl.Instance.ConnectByWpsPbcAsync(ap); } /// /// Connects the access point with WPS PIN asynchronously. @@ -341,12 +240,8 @@ namespace Tizen.Network.WiFi /// The WPS PIN is a non-NULL string with length greater than 0 and less than or equal to 8. static public Task ConnectByWpsPinAsync(WiFiAp ap, string pin) { - if (Globals.IsInitialize) - { - Log.Debug(Globals.LogTag, "ConnectByWpsPinAsync"); - return WiFiManagerImpl.Instance.ConnectByWpsPinAsync(ap, pin); - } - throw new InvalidOperationException("Not initialized"); + Log.Debug(Globals.LogTag, "ConnectByWpsPinAsync"); + return WiFiManagerImpl.Instance.ConnectByWpsPinAsync(ap, pin); } /// /// Disconnects the access point asynchronously. @@ -354,11 +249,7 @@ namespace Tizen.Network.WiFi /// A task indicates whether the Disconnect method is done or not. static public Task DisconnectAsync(WiFiAp ap) { - if (Globals.IsInitialize) - { - return WiFiManagerImpl.Instance.DisconnectAsync(ap); - } - throw new InvalidOperationException("Not initialized"); + return WiFiManagerImpl.Instance.DisconnectAsync(ap); } } } diff --git a/Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiManagerImpl.cs b/Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiManagerImpl.cs index f64c917..fa7a0a3 100755 --- a/Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiManagerImpl.cs +++ b/Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiManagerImpl.cs @@ -16,6 +16,7 @@ using System; using System.Collections.Generic; +using System.Threading; using System.Threading.Tasks; namespace Tizen.Network.WiFi @@ -23,24 +24,55 @@ namespace Tizen.Network.WiFi static internal class Globals { internal const string LogTag = "Tizen.Network.WiFi"; - internal static bool s_isInitialize = false; + } - internal static bool IsInitialize + internal class HandleHolder : IDisposable + { + private IntPtr _handle = IntPtr.Zero; + private bool disposed = false; + + internal HandleHolder() { - get + Log.Debug(Globals.LogTag, "HandleHolder() Constructor"); + _handle = WiFiManagerImpl.Instance.Initialize(); + Log.Debug(Globals.LogTag, "Handle: " + _handle); + } + + ~HandleHolder() + { + Dispose(false); + } + + internal IntPtr GetHandle() + { + Log.Debug(Globals.LogTag, "Handleholder handle = " + _handle); + return _handle; + } + public void Dispose() + { + Dispose(true); + GC.SuppressFinalize(this); + } + + private void Dispose(bool disposing) + { + Log.Debug(Globals.LogTag, ">>> HandleHolder Dispose with " + disposing); + Log.Debug(Globals.LogTag, ">>> Handle: " + _handle); + if (disposed) + return; + + if (disposing) { - if (!Globals.s_isInitialize) - { - WiFiManagerImpl.Instance.Initialize(); - } - return Globals.s_isInitialize; + // Free managed objects. + WiFiManagerImpl.Instance.Deinitialize(_handle); } + disposed = true; } } internal partial class WiFiManagerImpl : IDisposable { - private static WiFiManagerImpl _instance; + private static WiFiManagerImpl _instance = null; private Dictionary _callback_map = new Dictionary(); private int _requestId = 0; private string _macAddress; @@ -53,7 +85,7 @@ namespace Tizen.Network.WiFi if (String.IsNullOrEmpty(_macAddress)) { string address; - int ret = Interop.WiFi.GetMacAddress(out address); + int ret = Interop.WiFi.GetMacAddress(GetHandle(), out address); if (ret != (int)WiFiError.None) { Log.Error(Globals.LogTag, "Failed to get mac address, Error - " + (WiFiError)ret); @@ -72,7 +104,7 @@ namespace Tizen.Network.WiFi get { string name; - int ret = Interop.WiFi.GetNetworkInterfaceName(out name); + int ret = Interop.WiFi.GetNetworkInterfaceName(GetHandle(), out name); if (ret != (int)WiFiError.None) { Log.Error(Globals.LogTag, "Failed to get interface name, Error - " + (WiFiError)ret); @@ -86,7 +118,7 @@ namespace Tizen.Network.WiFi get { int state; - int ret = Interop.WiFi.GetConnectionState(out state); + int ret = Interop.WiFi.GetConnectionState(GetHandle(), out state); if (ret != (int)WiFiError.None) { Log.Error(Globals.LogTag, "Failed to get connection state, Error - " + (WiFiError)ret); @@ -100,7 +132,7 @@ namespace Tizen.Network.WiFi get { bool active; - int ret = Interop.WiFi.IsActivated(out active); + int ret = Interop.WiFi.IsActivated(GetHandle(), out active); if (ret != (int)WiFiError.None) { Log.Error(Globals.LogTag, "Failed to get isActive, Error - " + (WiFiError)ret); @@ -113,8 +145,10 @@ namespace Tizen.Network.WiFi { get { + Log.Debug(Globals.LogTag, "Instance getter"); if (_instance == null) { + Log.Debug(Globals.LogTag, "Instance is null"); _instance = new WiFiManagerImpl(); } @@ -122,6 +156,12 @@ namespace Tizen.Network.WiFi } } + private static ThreadLocal s_threadName = new ThreadLocal(() => + { + Log.Info(Globals.LogTag, "In threadlocal delegate"); + return new HandleHolder(); + }); + private WiFiManagerImpl() { } @@ -147,39 +187,36 @@ namespace Tizen.Network.WiFi // Free managed objects. } //Free unmanaged objects - deinitialize(); RemoveAllRegisteredEvent(); disposed = true; } - internal void Initialize() + internal IntPtr GetHandle() { - int ret = Interop.WiFi.Initialize(); + Log.Debug(Globals.LogTag, "GetHandle, Thread Id = " + Thread.CurrentThread.ManagedThreadId); + return s_threadName.Value.GetHandle(); + } + + internal IntPtr Initialize() + { + IntPtr handle; + int ret = Interop.WiFi.Initialize(out handle); if (ret != (int)WiFiError.None) { Log.Error(Globals.LogTag, "Failed to initialize wifi, Error - " + (WiFiError)ret); WiFiErrorFactory.ThrowWiFiException(ret); } - Globals.s_isInitialize = true; - string address; - ret = Interop.WiFi.GetMacAddress(out address); - if (ret != (int)WiFiError.None) - { - Log.Error(Globals.LogTag, "Failed to get mac address, Error - " + (WiFiError)ret); - _macAddress = ""; - } - _macAddress = address; + return handle; } - private void deinitialize() + internal void Deinitialize(IntPtr handle) { - int ret = Interop.WiFi.Deinitialize(); + int ret = Interop.WiFi.Deinitialize(handle); if (ret != (int)WiFiError.None) { Log.Error(Globals.LogTag, "Failed to deinitialize wifi, Error - " + (WiFiError)ret); WiFiErrorFactory.ThrowWiFiException(ret); } - Globals.s_isInitialize = false; } internal IEnumerable GetFoundAps() @@ -198,7 +235,7 @@ namespace Tizen.Network.WiFi return false; }; - int ret = Interop.WiFi.GetForeachFoundAps(callback, IntPtr.Zero); + int ret = Interop.WiFi.GetForeachFoundAps(GetHandle(), callback, IntPtr.Zero); if (ret != (int)WiFiError.None) { Log.Error(Globals.LogTag, "Failed to get all APs, Error - " + (WiFiError)ret); @@ -225,7 +262,7 @@ namespace Tizen.Network.WiFi }; - int ret = Interop.WiFi.GetForeachFoundSpecificAps(callback, IntPtr.Zero); + int ret = Interop.WiFi.GetForeachFoundSpecificAps(GetHandle(), callback, IntPtr.Zero); if (ret != (int)WiFiError.None) { Log.Error(Globals.LogTag, "Failed to get specific APs, Error - " + (WiFiError)ret); @@ -251,7 +288,7 @@ namespace Tizen.Network.WiFi return false; }; - int ret = Interop.WiFi.Config.GetForeachConfiguration(callback, IntPtr.Zero); + int ret = Interop.WiFi.Config.GetForeachConfiguration(GetHandle(), callback, IntPtr.Zero); if (ret != (int)WiFiError.None) { Log.Error(Globals.LogTag, "Failed to get configurations, Error - " + (WiFiError)ret); @@ -264,7 +301,7 @@ namespace Tizen.Network.WiFi internal void SaveWiFiNetworkConfiguration(WiFiConfiguration config) { IntPtr configHandle = config.GetHandle(); - int ret = Interop.WiFi.Config.SaveConfiguration(configHandle); + int ret = Interop.WiFi.Config.SaveConfiguration(GetHandle(), configHandle); if (ret != (int)WiFiError.None) { Log.Error(Globals.LogTag, "Failed to save configuration, Error - " + (WiFiError)ret); @@ -276,7 +313,7 @@ namespace Tizen.Network.WiFi { IntPtr apHandle; - int ret = Interop.WiFi.GetConnectedAp(out apHandle); + int ret = Interop.WiFi.GetConnectedAp(GetHandle(), out apHandle); if (ret != (int)WiFiError.None) { Log.Error(Globals.LogTag, "Failed to connect with AP, Error - " + (WiFiError)ret); @@ -289,7 +326,7 @@ namespace Tizen.Network.WiFi internal void RemoveAp(WiFiAp ap) { IntPtr apHandle = ap.GetHandle(); - int ret = Interop.WiFi.RemoveAp(apHandle); + int ret = Interop.WiFi.RemoveAp(GetHandle(), apHandle); if (ret != (int)WiFiError.None) { Log.Error(Globals.LogTag, "Failed to remove with AP, Error - " + (WiFiError)ret); @@ -319,7 +356,7 @@ namespace Tizen.Network.WiFi } }; } - int ret = Interop.WiFi.Activate(_callback_map[id], id); + int ret = Interop.WiFi.Activate(GetHandle(), _callback_map[id], id); if (ret != (int)WiFiError.None) { Log.Error(Globals.LogTag, "Failed to activate wifi, Error - " + (WiFiError)ret); @@ -350,7 +387,7 @@ namespace Tizen.Network.WiFi } }; } - int ret = Interop.WiFi.ActivateWithWiFiPickerTested(_callback_map[id], id); + int ret = Interop.WiFi.ActivateWithWiFiPickerTested(GetHandle(), _callback_map[id], id); if (ret != (int)WiFiError.None) { Log.Error(Globals.LogTag, "Failed to activate wifi, Error - " + (WiFiError)ret); @@ -381,7 +418,7 @@ namespace Tizen.Network.WiFi } }; } - int ret = Interop.WiFi.Deactivate(_callback_map[id], id); + int ret = Interop.WiFi.Deactivate(GetHandle(), _callback_map[id], id); if (ret != (int)WiFiError.None) { Log.Error(Globals.LogTag, "Failed to deactivate wifi, Error - " + (WiFiError)ret); @@ -412,7 +449,7 @@ namespace Tizen.Network.WiFi } }; } - int ret = Interop.WiFi.Scan(_callback_map[id], id); + int ret = Interop.WiFi.Scan(GetHandle(), _callback_map[id], id); if (ret != (int)WiFiError.None) { Log.Error(Globals.LogTag, "Failed to scan all AP, Error - " + (WiFiError)ret); @@ -443,7 +480,7 @@ namespace Tizen.Network.WiFi } }; } - int ret = Interop.WiFi.ScanSpecificAp(essid, _callback_map[id], id); + int ret = Interop.WiFi.ScanSpecificAp(GetHandle(), essid, _callback_map[id], id); if (ret != (int)WiFiError.None) { Log.Error(Globals.LogTag, "Failed to scan with specific AP, Error - " + (WiFiError)ret); @@ -475,7 +512,7 @@ namespace Tizen.Network.WiFi }; } IntPtr apHandle = ap.GetHandle(); - int ret = Interop.WiFi.Connect(apHandle, _callback_map[id], id); + int ret = Interop.WiFi.Connect(GetHandle(), apHandle, _callback_map[id], id); if (ret != (int)WiFiError.None) { Log.Error(Globals.LogTag, "Failed to connect wifi, Error - " + (WiFiError)ret); @@ -507,7 +544,7 @@ namespace Tizen.Network.WiFi }; } IntPtr apHandle = ap.GetHandle(); - int ret = Interop.WiFi.Disconnect(apHandle, _callback_map[id], id); + int ret = Interop.WiFi.Disconnect(GetHandle(), apHandle, _callback_map[id], id); if (ret != (int)WiFiError.None) { Log.Error(Globals.LogTag, "Failed to disconnect wifi, Error - " + (WiFiError)ret); @@ -539,7 +576,7 @@ namespace Tizen.Network.WiFi }; } IntPtr apHandle = ap.GetHandle(); - int ret = Interop.WiFi.ConnectByWpsPbc(apHandle, _callback_map[id], id); + int ret = Interop.WiFi.ConnectByWpsPbc(GetHandle(), apHandle, _callback_map[id], id); if (ret != (int)WiFiError.None) { Log.Error(Globals.LogTag, "Failed to connect wifi, Error - " + (WiFiError)ret); @@ -571,7 +608,7 @@ namespace Tizen.Network.WiFi }; } IntPtr apHandle = ap.GetHandle(); - int ret = Interop.WiFi.ConnectByWpsPin(apHandle, pin, _callback_map[id], id); + int ret = Interop.WiFi.ConnectByWpsPin(GetHandle(), apHandle, pin, _callback_map[id], id); if (ret != (int)WiFiError.None) { Log.Error(Globals.LogTag, "Failed to connect wifi, Error - " + (WiFiError)ret); diff --git a/Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiNetwork.cs b/Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiNetwork.cs old mode 100644 new mode 100755 diff --git a/Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiNetworkChange.cs b/Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiNetworkChange.cs old mode 100644 new mode 100755 index 917d420..e8cd8ed --- a/Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiNetworkChange.cs +++ b/Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiNetworkChange.cs @@ -163,7 +163,7 @@ namespace Tizen.Network.WiFi DeviceStateChangedEventArgs e = new DeviceStateChangedEventArgs(state); _deviceStateChanged.SafeInvoke(null, e); }; - int ret = Interop.WiFi.SetDeviceStateChangedCallback(_deviceChangedCallback, IntPtr.Zero); + int ret = Interop.WiFi.SetDeviceStateChangedCallback(GetHandle(), _deviceChangedCallback, IntPtr.Zero); if (ret != (int)WiFiError.None) { Log.Error(Globals.LogTag, "Failed to set device state changed callback, Error - " + (WiFiError)ret); @@ -172,7 +172,7 @@ namespace Tizen.Network.WiFi private void UnregisterDeviceStateChangedEvent() { - int ret = Interop.WiFi.UnsetDeviceStateChangedCallback(); + int ret = Interop.WiFi.UnsetDeviceStateChangedCallback(GetHandle()); if (ret != (int)WiFiError.None) { Log.Error(Globals.LogTag, "Failed to unset device state changed callback, Error - " + (WiFiError)ret); @@ -187,7 +187,7 @@ namespace Tizen.Network.WiFi ConnectionStateChangedEventArgs e = new ConnectionStateChangedEventArgs(state, ap); _connectionStateChanged.SafeInvoke(null, e); }; - int ret = Interop.WiFi.SetConnectionStateChangedCallback(_connectionChangedCallback, IntPtr.Zero); + int ret = Interop.WiFi.SetConnectionStateChangedCallback(GetHandle(), _connectionChangedCallback, IntPtr.Zero); if (ret != (int)WiFiError.None) { Log.Error(Globals.LogTag, "Failed to set copnnection state changed callback, Error - " + (WiFiError)ret); @@ -196,7 +196,7 @@ namespace Tizen.Network.WiFi private void UnregisterConnectionStateChangedEvent() { - int ret = Interop.WiFi.UnsetConnectionStateChangedCallback(); + int ret = Interop.WiFi.UnsetConnectionStateChangedCallback(GetHandle()); if (ret != (int)WiFiError.None) { Log.Error(Globals.LogTag, "Failed to unset device state changed callback, Error - " + (WiFiError)ret); @@ -212,7 +212,7 @@ namespace Tizen.Network.WiFi RssiLevelChangedEventArgs e = new RssiLevelChangedEventArgs(level); _rssiLevelChanged.SafeInvoke(null, e); }; - int ret = Interop.WiFi.SetRssiLevelchangedCallback(_rssiChangedCallback, IntPtr.Zero); + int ret = Interop.WiFi.SetRssiLevelchangedCallback(GetHandle(), _rssiChangedCallback, IntPtr.Zero); if (ret != (int)WiFiError.None) { Log.Error(Globals.LogTag, "Failed to set rssi level changed callback, Error - " + (WiFiError)ret); @@ -221,7 +221,7 @@ namespace Tizen.Network.WiFi private void UnregisterRssiLevelChangedEvent() { - int ret = Interop.WiFi.UnsetRssiLevelchangedCallback(); + int ret = Interop.WiFi.UnsetRssiLevelchangedCallback(GetHandle()); if (ret != (int)WiFiError.None) { Log.Error(Globals.LogTag, "Failed to unset rssi level changed callback, Error - " + (WiFiError)ret); @@ -235,7 +235,7 @@ namespace Tizen.Network.WiFi EventArgs e = new EventArgs(); _backgroundScanFinished.SafeInvoke(null, e); }; - int ret = Interop.WiFi.SetBackgroundScanCallback(_backgroundScanFinishedCallback, IntPtr.Zero); + int ret = Interop.WiFi.SetBackgroundScanCallback(GetHandle(), _backgroundScanFinishedCallback, IntPtr.Zero); if (ret != (int)WiFiError.None) { Log.Error(Globals.LogTag, "Failed to set background scan callback, Error - " + (WiFiError)ret); @@ -244,7 +244,7 @@ namespace Tizen.Network.WiFi private void UnregisterBackgroundScanFinishedEvent() { - int ret = Interop.WiFi.UnsetBackgroundScanCallback(); + int ret = Interop.WiFi.UnsetBackgroundScanCallback(GetHandle()); if (ret != (int)WiFiError.None) { Log.Error(Globals.LogTag, "Failed to unset background scan callback, Error - " + (WiFiError)ret); diff --git a/packaging/csapi-network-wifi.spec b/packaging/csapi-network-wifi.spec old mode 100644 new mode 100755 index 4c94525..0f532f4 --- a/packaging/csapi-network-wifi.spec +++ b/packaging/csapi-network-wifi.spec @@ -1,6 +1,6 @@ Name: csapi-network-wifi Summary: Tizen Wi-Fi API for C# -Version: 1.0.3 +Version: 1.0.4 Release: 1 Group: Development/Libraries License: Apache-2.0