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 |