wlan_bearer/wlanengine/wlan_common/wlanengine_common_3.1/src/core_wlan_eapol_if_message.cpp
branchRCL_3
changeset 42 a828660c511c
parent 0 c40eb8fe8501
child 43 d3d7683d16f5
--- a/wlan_bearer/wlanengine/wlan_common/wlanengine_common_3.1/src/core_wlan_eapol_if_message.cpp	Thu Aug 19 11:40:48 2010 +0300
+++ b/wlan_bearer/wlanengine/wlan_common/wlanengine_common_3.1/src/core_wlan_eapol_if_message.cpp	Tue Aug 31 17:02:06 2010 +0300
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 13 %
+* %version: 14 %
 */
 
 #include "core_wlan_eapol_if_message.h"
@@ -4059,4 +4059,43 @@
     return core_error_ok;
     }
 
-
+core_error_e core_wlan_eapol_if_function_c::parse_complete_disassociation(
+    network_id_c * receive_network_id )
+    {
+    DEBUG( "core_wlan_eapol_if_function_c::parse_complete_disassociation()" );
+    ASSERT( receive_network_id );
+
+    core_error_e error( core_error_ok );
+
+    first();
+    if ( is_done() )
+        {
+        DEBUG( "core_wlan_eapol_if_function_c::parse_complete_disassociation() - message is empty" );
+        return core_error_not_found;
+        }
+
+    // Check function
+    if ( current()->get_parameter_type() != wlan_eapol_if_message_type_function )
+        {
+        return core_error_not_found;
+        }
+
+    u32_t function_value(0);
+    current()->get_parameter_data( &function_value );
+    wlan_eapol_if_message_type_function_e func( static_cast<wlan_eapol_if_message_type_function_e>( function_value ) );
+    if ( func != wlan_eapol_if_message_type_function_complete_disassociation )
+        {
+        return core_error_not_found;
+        }
+    
+    next();
+
+    // Check function parameters
+    error = parse_network_id( receive_network_id );
+    if ( error != core_error_ok )
+        {
+        return error;
+        }
+
+    return core_error_ok;
+    }