eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_securid_symbian.h
branchRCL_3
changeset 46 c74b3d9f6b9e
parent 45 bad0cc58d154
equal deleted inserted replaced
45:bad0cc58d154 46:c74b3d9f6b9e
    14 * Description:  EAP and WLAN authentication protocols.
    14 * Description:  EAP and WLAN authentication protocols.
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 /*
    18 /*
    19 * %version: 16.1.11 %
    19 * %version: 18 %
    20 */
    20 */
    21 
    21 
    22 #ifndef EAP_AM_TYPE_SECURID_SYMBIAN_H
    22 #ifndef EAP_AM_TYPE_SECURID_SYMBIAN_H
    23 #define EAP_AM_TYPE_SECURID_SYMBIAN_H
    23 #define EAP_AM_TYPE_SECURID_SYMBIAN_H
    24 
    24 
    25 //  INCLUDES
    25 //  INCLUDES
    26 #include "eap_am_tools.h"
    26 #include "eap_am_tools.h"
    27 #include "abs_eap_base_type.h"
    27 #include "abs_eap_base_type.h"
    28 #include "eap_am_type_securid.h"
    28 #include "eap_am_type_securid.h"
    29 #include "eap_am_network_id.h"
    29 #include "eap_am_network_id.h"
    30 #include "eap_auth_notifier.h"
    30 #include "EapSecurIDNotifierStructs.h"
    31 
       
    32 #include <EapType.h>
    31 #include <EapType.h>
    33 #include <d32dbms.h>
    32 #include <d32dbms.h>
    34 
    33 
    35 const TUint KDefaultTimeoutEAPSecurId = 120000;
    34 const TUint KDefaultTimeoutEAPSecurId = 120000;
    36 
    35 
    37 /**
    36 /**
    38 * Class that implements the operating system dependent portion of EAP SecurID protocol.
    37 * Class that implements the operating system dependent portion of EAP SecurID protocol.
    39 * For Symbian OS.
    38 * For Symbian OS.
    40 */
    39 */
    41 class EAP_EXPORT eap_am_type_securid_symbian_c
    40 class EAP_EXPORT eap_am_type_securid_symbian_c
    42 	: public CActive
    41 	: public CActive, public eap_am_type_securid_c
    43 	, public eap_am_type_securid_c
       
    44 	, public abs_eap_base_timer_c
       
    45 	, public MNotificationCallback
       
    46 
       
    47 
       
    48 {
    42 {
    49 private:
    43 private:
    50 
    44 
    51 	RFs m_session;
    45 	RDbs m_session;
    52 
    46 
    53 	RDbNamedDatabase m_database;
    47 	RDbNamedDatabase m_database;
    54 
    48 
    55 	enum TState 
    49 	enum TState 
    56 	{
    50 	{
    57 		EHandlingIdentityQuery,
    51 		EHandlingIdentityQuery,
    58 		EHandlingPasscodeQuery,
    52 		EHandlingPasscodeQuery,
    59 		EHandlingPincodeQuery,
    53 		EHandlingPincodeQuery,
    60 		EHandlingGTCQuery,
    54 		EHandlingGTCQuery
    61 		EHandlingTimerCall
       
    62 	};
    55 	};
    63 
    56 
    64 	TState m_state;
    57 	TState m_state;
    65 
    58 
    66 	RNotifier m_notifier;
    59 	RNotifier m_notifier;
    67 
    60 
    68 	CEapAuthNotifier::TEapDialogInfo * m_dialog_data_ptr;
    61 	TEapSecurIDStruct * m_dialog_data_ptr;
    69 	TPckg<CEapAuthNotifier::TEapDialogInfo> * m_dialog_data_pckg_ptr;
    62 	TPckg<TEapSecurIDStruct> * m_dialog_data_pckg_ptr;
    70 
       
    71 
    63 
    72 	abs_eap_am_tools_c * const m_am_tools;
    64 	abs_eap_am_tools_c * const m_am_tools;
    73 
    65 
    74 	abs_eap_base_type_c * const m_partner;
    66 	abs_eap_base_type_c * const m_partner;
    75 
    67 
    94 	bool m_is_notifier_connected; // Tells if notifier server is connected.
    86 	bool m_is_notifier_connected; // Tells if notifier server is connected.
    95 
    87 
    96 	// This holds the max session time read from the configuration file.
    88 	// This holds the max session time read from the configuration file.
    97 	TInt64 m_max_session_time;
    89 	TInt64 m_max_session_time;
    98 	
    90 	
       
    91 	// This is the vendor-type for tunneling EAP type.
       
    92 	// Valid for both expanded and non-expanded EAP types.
       
    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 
       
    99 	u32_t m_eap_vendor_type; // This is needed in certain cases.
       
   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 
       
   103 	CEapAuthNotifier* iEapAuthNotifier;
       
   104 
       
   105 
   104 
   106 protected:
   105 protected:
   107 
   106 
   108 	eap_am_type_securid_symbian_c(
   107 	eap_am_type_securid_symbian_c(
   109 		abs_eap_am_tools_c * const m_am_tools,
   108 		abs_eap_am_tools_c * const m_am_tools,
   204 	 * in the database by calling the leaving function store_authentication_time_L.
   203 	 * in the database by calling the leaving function store_authentication_time_L.
   205 	 * Returns appropriate error if storing fails. eap_status_ok for successful storing.
   204 	 * Returns appropriate error if storing fails. eap_status_ok for successful storing.
   206 	 */
   205 	 */
   207 	eap_status_e store_authentication_time();
   206 	eap_status_e store_authentication_time();
   208 
   207 
   209 	void DlgComplete( TInt aStatus );
       
   210 
       
   211 	TInt IsDlgReadyToCompleteL();
       
   212 
       
   213 	EAP_FUNC_IMPORT eap_status_e timer_expired(
       
   214 		const u32_t id, void *data);
       
   215 
       
   216 	//
       
   217 	EAP_FUNC_IMPORT eap_status_e timer_delete_data(
       
   218 		const u32_t id, void *data);
       
   219 
       
   220 }; // class eap_am_type_securid_symbian_c
   208 }; // class eap_am_type_securid_symbian_c
   221 
   209 
   222 
   210 
   223 #endif // EAP_AM_TYPE_SECURID_SYMBIAN_H
   211 #endif // EAP_AM_TYPE_SECURID_SYMBIAN_H