1 /* |
1 /* |
2 * Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). |
2 * Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies). |
3 * All rights reserved. |
3 * All rights reserved. |
4 * This component and the accompanying materials are made available |
4 * This component and the accompanying materials are made available |
5 * under the terms of the License "Eclipse Public License v1.0" |
5 * under the terms of the License "Eclipse Public License v1.0" |
6 * which accompanies this distribution, and is available |
6 * which accompanies this distribution, and is available |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
13 * |
13 * |
14 * Description: Statemachine for connecting to a network |
14 * Description: Statemachine for connecting to a network |
15 * |
15 * |
16 */ |
16 */ |
17 |
17 |
|
18 /* |
|
19 * %version: 29 % |
|
20 */ |
18 |
21 |
19 #include "core_sub_operation_connect.h" |
22 #include "core_sub_operation_connect.h" |
20 #include "core_operation_update_tx_rate_policies.h" |
23 #include "core_operation_update_tx_rate_policies.h" |
21 #include "core_frame_beacon.h" |
24 #include "core_frame_beacon.h" |
22 #include "core_frame_dot11_ie.h" |
25 #include "core_frame_dot11_ie.h" |
43 core_encryption_mode_e encryption_level, |
46 core_encryption_mode_e encryption_level, |
44 core_cipher_key_type_e pairwise_key_type, |
47 core_cipher_key_type_e pairwise_key_type, |
45 core_type_list_c<core_frame_dot11_ie_c>& assoc_ie_list, |
48 core_type_list_c<core_frame_dot11_ie_c>& assoc_ie_list, |
46 core_frame_assoc_resp_c** assoc_resp, |
49 core_frame_assoc_resp_c** assoc_resp, |
47 bool_t is_pairwise_key_invalidated, |
50 bool_t is_pairwise_key_invalidated, |
48 bool_t is_group_key_invalidated ) : |
51 bool_t is_group_key_invalidated, |
|
52 const core_cipher_key_s* pairwise_key ) : |
49 core_operation_base_c( core_operation_unspecified, request_id, server, drivers, adaptation, |
53 core_operation_base_c( core_operation_unspecified, request_id, server, drivers, adaptation, |
50 core_base_flag_drivers_needed ), |
54 core_base_flag_drivers_needed ), |
51 is_connected_m( is_connected ), |
55 is_connected_m( is_connected ), |
52 connect_status_m( connect_status ), |
56 connect_status_m( connect_status ), |
53 ssid_m( ssid ), |
57 ssid_m( ssid ), |
58 tx_level_m( 0 ), |
62 tx_level_m( 0 ), |
59 assoc_ie_list_m( assoc_ie_list ), |
63 assoc_ie_list_m( assoc_ie_list ), |
60 assoc_ie_data_m( NULL ), |
64 assoc_ie_data_m( NULL ), |
61 assoc_resp_m( assoc_resp ), |
65 assoc_resp_m( assoc_resp ), |
62 is_pairwise_key_invalidated_m( is_pairwise_key_invalidated ), |
66 is_pairwise_key_invalidated_m( is_pairwise_key_invalidated ), |
63 is_group_key_invalidated_m( is_group_key_invalidated ) |
67 is_group_key_invalidated_m( is_group_key_invalidated ), |
|
68 pairwise_key_m( pairwise_key ) |
64 { |
69 { |
65 DEBUG( "core_sub_operation_connect_c::core_sub_operation_connect_c()" ); |
70 DEBUG( "core_sub_operation_connect_c::core_sub_operation_connect_c()" ); |
66 } |
71 } |
67 |
72 |
68 // --------------------------------------------------------------------------- |
73 // --------------------------------------------------------------------------- |
73 DEBUG( "core_sub_operation_connect_c::~core_sub_operation_connect_c()" ); |
78 DEBUG( "core_sub_operation_connect_c::~core_sub_operation_connect_c()" ); |
74 |
79 |
75 server_m->unregister_frame_handler( this ); |
80 server_m->unregister_frame_handler( this ); |
76 delete[] assoc_ie_data_m; |
81 delete[] assoc_ie_data_m; |
77 assoc_resp_m = NULL; |
82 assoc_resp_m = NULL; |
|
83 pairwise_key_m = NULL; |
78 } |
84 } |
79 |
85 |
80 // --------------------------------------------------------------------------- |
86 // --------------------------------------------------------------------------- |
81 // --------------------------------------------------------------------------- |
87 // --------------------------------------------------------------------------- |
82 // |
88 // |
240 assoc_ie_data_m, |
246 assoc_ie_data_m, |
241 ap_data_m.frame()->payload_data_length(), |
247 ap_data_m.frame()->payload_data_length(), |
242 ap_data_m.frame()->payload_data(), |
248 ap_data_m.frame()->payload_data(), |
243 is_pairwise_key_invalidated_m, |
249 is_pairwise_key_invalidated_m, |
244 is_group_key_invalidated_m, |
250 is_group_key_invalidated_m, |
245 ap_data_m.is_radio_measurement_supported() ); |
251 ap_data_m.is_radio_measurement_supported(), |
|
252 pairwise_key_m ); |
246 |
253 |
247 break; |
254 break; |
248 } |
255 } |
249 case core_state_connect: |
256 case core_state_connect: |
250 { |
257 { |