eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_mschapv2_symbian.h
branchRCL_3
changeset 18 bad0cc58d154
parent 2 1c7bc153c08e
child 19 c74b3d9f6b9e
equal deleted inserted replaced
17:30e048a7b597 18:bad0cc58d154
    14 * Description:  EAP and WLAN authentication protocols.
    14 * Description:  EAP and WLAN authentication protocols.
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 /*
    18 /*
    19 * %version: 18 %
    19 * %version: 16.1.8 %
    20 */
    20 */
    21 
    21 
    22 #ifndef _EAP_AM_TYPE_MSCHAPV2_SYMBIAN_H_
    22 #ifndef _EAP_AM_TYPE_MSCHAPV2_SYMBIAN_H_
    23 #define _EAP_AM_TYPE_MSCHAPV2_SYMBIAN_H_
    23 #define _EAP_AM_TYPE_MSCHAPV2_SYMBIAN_H_
    24 
    24 
    25 //  INCLUDES
    25 //  INCLUDES
    26 #include "eap_am_tools_symbian.h"
    26 #include "eap_am_tools_symbian.h"
    27 #include "abs_eap_base_type.h"
    27 #include "abs_eap_base_type.h"
    28 #include "eap_am_type_mschapv2.h"
    28 #include "eap_am_type_mschapv2.h"
    29 #include "eap_type_mschapv2.h"
    29 #include "eap_type_mschapv2.h"
    30 #include "EapMsChapV2NotifierStructs.h"
    30 #include "eap_auth_notifier.h"
       
    31 
    31 #include <EapType.h>
    32 #include <EapType.h>
    32 #include <d32dbms.h>
    33 #include <d32dbms.h>
    33 
    34 
    34 const TUint KDefaultTimeoutEAPMsChapV2 = 120000;
    35 const TUint KDefaultTimeoutEAPMsChapV2 = 120000;
    35 
    36 
    37 * Class that implements the operating system dependent portion of EAP Ms-Chap-v2 protocol.
    38 * Class that implements the operating system dependent portion of EAP Ms-Chap-v2 protocol.
    38 * For Symbian OS.
    39 * For Symbian OS.
    39 */
    40 */
    40 class EAP_EXPORT eap_am_type_mschapv2_symbian_c
    41 class EAP_EXPORT eap_am_type_mschapv2_symbian_c
    41 : public CActive, public eap_am_type_mschapv2_c
    42 : public CActive, public eap_am_type_mschapv2_c
       
    43 	, public MNotificationCallback
       
    44 
       
    45 
    42 {
    46 {
    43 private:
    47 private:
    44 	//--------------------------------------------------
    48 
       
    49 	//--------------------------------------------------
       
    50 
    45 	eap_am_tools_symbian_c * const m_am_tools;
    51 	eap_am_tools_symbian_c * const m_am_tools;
    46 
    52 
    47 	abs_eap_base_type_c * const m_partner;
    53 	abs_eap_base_type_c * const m_partner;
    48 
    54 
    49 	RDbs m_session;
    55 	RFs m_session;
    50 
    56 
    51 	RDbNamedDatabase m_database;
    57 	RDbNamedDatabase m_database;
    52 
    58 
    53 	enum TState 
    59 	enum TState 
    54 	{
    60 	{
    56 		EHandlingChangePasswordQuery,
    62 		EHandlingChangePasswordQuery,
    57 	};
    63 	};
    58 
    64 
    59 	TState m_state;
    65 	TState m_state;
    60 
    66 
    61 	RNotifier m_notifier;
    67 
    62 
    68 
    63 	eap_variable_data_c * m_username_utf8;
    69 	eap_variable_data_c * m_username_utf8;
    64 	eap_variable_data_c * m_password_utf8;
    70 	eap_variable_data_c * m_password_utf8;
    65 	eap_variable_data_c * m_old_password_utf8;
    71 	eap_variable_data_c * m_old_password_utf8;
    66 	bool * m_password_prompt_enabled;
    72 	bool * m_password_prompt_enabled;
    67 	bool m_is_identity_query;
    73 	bool m_is_identity_query;
    68 
    74 
    69 	TEapMsChapV2UsernamePasswordInfo * m_username_password_io_ptr;
    75 	CEapAuthNotifier::TEapDialogInfo * m_username_password_io_ptr;
    70 	TPckg<TEapMsChapV2UsernamePasswordInfo> * m_username_password_io_pckg_ptr;
    76 	TPckg<CEapAuthNotifier::TEapDialogInfo> * m_username_password_io_pckg_ptr;
       
    77 
    71 
    78 
    72 	eap_am_network_id_c m_receive_network_id;
    79 	eap_am_network_id_c m_receive_network_id;
    73 
    80 
    74 	TIndexType m_index_type;
    81 	TIndexType m_index_type;
    75 	
    82 	
    81 
    88 
    82 	bool m_is_valid;
    89 	bool m_is_valid;
    83 
    90 
    84 	bool m_shutdown_was_called;
    91 	bool m_shutdown_was_called;
    85 	
    92 	
    86 	bool m_is_notifier_connected; // Tells if notifier server is connected.
    93 
    87 
    94 
    88 	// This holds the max session time read from the configuration file.
    95 	// This holds the max session time read from the configuration file.
    89 	TInt64 m_max_session_time;
    96 	TInt64 m_max_session_time;
    90 
    97 
    91 	// This is the vendor-type for tunneling EAP type.
    98 	CEapAuthNotifier* iEapAuthNotifier;
    92 	// Valid for both expanded and non-expanded EAP types.
    99 
    93 	// This is used since m_tunneling_type can not be used in the same way 
       
    94 	// in expanded and non-expanded cases. 
       
    95 	// Unlike EAP type, Tunneling type is still non-expanded
       
    96 	// for both cases especially for using in the EAP databases.
       
    97 	u32_t m_tunneling_vendor_type;	
       
    98 
   100 
    99 	void send_error_notification(const eap_status_e error);
   101 	void send_error_notification(const eap_status_e error);
   100 
   102 
   101 	bool is_session_validL();
   103 	bool is_session_validL();
   102 	
   104 	
   200 	 * in the database by calling the leaving function store_authentication_time_L.
   202 	 * in the database by calling the leaving function store_authentication_time_L.
   201 	 * Returns appropriate error if storing fails. eap_status_ok for successful storing.
   203 	 * Returns appropriate error if storing fails. eap_status_ok for successful storing.
   202 	 */
   204 	 */
   203 	eap_status_e store_authentication_time();	
   205 	eap_status_e store_authentication_time();	
   204 
   206 
       
   207 	EAP_FUNC_IMPORT void DlgComplete( TInt aStatus );
       
   208 
       
   209 	TInt IsDlgReadyToCompleteL();
       
   210 
   205 }; // class eap_am_type_mschapv2_symbian_c
   211 }; // class eap_am_type_mschapv2_symbian_c
   206 
   212 
   207 
   213 
   208 #endif // _EAP_AM_TYPE_MSCHAPV2_SYMBIAN_H_
   214 #endif // _EAP_AM_TYPE_MSCHAPV2_SYMBIAN_H_
   209 
   215