14 * Description: EAP-plugin interface message class. |
14 * Description: EAP-plugin interface message class. |
15 * |
15 * |
16 */ |
16 */ |
17 |
17 |
18 /* |
18 /* |
19 * %version: 6 % |
19 * %version: 7 % |
20 */ |
20 */ |
21 |
21 |
22 #if !defined(_EAP_PLUGIN_CLIENT_MESSAGE_IF_H_) |
22 #if !defined(_EAP_PLUGIN_CLIENT_MESSAGE_IF_H_) |
23 #define _EAP_PLUGIN_CLIENT_MESSAGE_IF_H_ |
23 #define _EAP_PLUGIN_CLIENT_MESSAGE_IF_H_ |
24 |
24 |
25 #include "eap_tools.h" |
25 #include "eap_tools.h" |
26 #include "eap_am_export.h" |
26 #include "eap_am_export.h" |
|
27 // Start: added by script change_export_macros.sh. |
|
28 #if defined(EAP_NO_EXPORT_EAP_PLUGIN_CLIENT_MESSAGE_IF_H) |
|
29 #define EAP_CLASS_VISIBILITY_EAP_PLUGIN_CLIENT_MESSAGE_IF_H EAP_NONSHARABLE |
|
30 #define EAP_FUNC_VISIBILITY_EAP_PLUGIN_CLIENT_MESSAGE_IF_H |
|
31 #define EAP_C_FUNC_VISIBILITY_EAP_PLUGIN_CLIENT_MESSAGE_IF_H |
|
32 #define EAP_FUNC_EXPORT_EAP_PLUGIN_CLIENT_MESSAGE_IF_H |
|
33 #define EAP_C_FUNC_EXPORT_EAP_PLUGIN_CLIENT_MESSAGE_IF_H |
|
34 #elif defined(EAP_EXPORT_EAP_PLUGIN_CLIENT_MESSAGE_IF_H) |
|
35 #define EAP_CLASS_VISIBILITY_EAP_PLUGIN_CLIENT_MESSAGE_IF_H EAP_EXPORT |
|
36 #define EAP_FUNC_VISIBILITY_EAP_PLUGIN_CLIENT_MESSAGE_IF_H EAP_FUNC_EXPORT |
|
37 #define EAP_C_FUNC_VISIBILITY_EAP_PLUGIN_CLIENT_MESSAGE_IF_H EAP_C_FUNC_EXPORT |
|
38 #define EAP_FUNC_EXPORT_EAP_PLUGIN_CLIENT_MESSAGE_IF_H EAP_FUNC_EXPORT |
|
39 #define EAP_C_FUNC_EXPORT_EAP_PLUGIN_CLIENT_MESSAGE_IF_H EAP_C_FUNC_EXPORT |
|
40 #else |
|
41 #define EAP_CLASS_VISIBILITY_EAP_PLUGIN_CLIENT_MESSAGE_IF_H EAP_IMPORT |
|
42 #define EAP_FUNC_VISIBILITY_EAP_PLUGIN_CLIENT_MESSAGE_IF_H EAP_FUNC_IMPORT |
|
43 #define EAP_C_FUNC_VISIBILITY_EAP_PLUGIN_CLIENT_MESSAGE_IF_H EAP_C_FUNC_IMPORT |
|
44 #define EAP_FUNC_EXPORT_EAP_PLUGIN_CLIENT_MESSAGE_IF_H |
|
45 #define EAP_C_FUNC_EXPORT_EAP_PLUGIN_CLIENT_MESSAGE_IF_H |
|
46 #endif |
|
47 // End: added by script change_export_macros.sh. |
27 #include "eap_plugin_message_base.h" |
48 #include "eap_plugin_message_base.h" |
28 #include "abs_eap_am_message_if.h" |
49 #include "abs_eap_am_message_if.h" |
29 #include "eap_array.h" |
50 #include "eap_array.h" |
30 #include "eap_process_tlv_message_data.h" |
51 #include "eap_process_tlv_message_data.h" |
31 |
52 |
34 class abs_eap_plugin_message_c; |
55 class abs_eap_plugin_message_c; |
35 class eap_tlv_header_c; |
56 class eap_tlv_header_c; |
36 |
57 |
37 /// A eap_plugin_client_message_if_c class implements mapping of EAP authentication sessions. |
58 /// A eap_plugin_client_message_if_c class implements mapping of EAP authentication sessions. |
38 /// Network identity separates parallel EAP authentication sessions. |
59 /// Network identity separates parallel EAP authentication sessions. |
39 class EAP_EXPORT eap_plugin_client_message_if_c |
60 class EAP_CLASS_VISIBILITY_EAP_PLUGIN_CLIENT_MESSAGE_IF_H eap_plugin_client_message_if_c |
40 : public eap_plugin_message_base_c |
61 : public eap_plugin_message_base_c |
41 , public abs_eap_am_message_if_c |
62 , public abs_eap_am_message_if_c |
42 { |
63 { |
43 private: |
64 private: |
44 //-------------------------------------------------- |
65 //-------------------------------------------------- |
95 //-------------------------------------------------- |
116 //-------------------------------------------------- |
96 |
117 |
97 /** |
118 /** |
98 * The destructor of the eap_core class does nothing special. |
119 * The destructor of the eap_core class does nothing special. |
99 */ |
120 */ |
100 EAP_FUNC_IMPORT virtual ~eap_plugin_client_message_if_c(); |
121 EAP_FUNC_VISIBILITY_EAP_PLUGIN_CLIENT_MESSAGE_IF_H virtual ~eap_plugin_client_message_if_c(); |
101 |
122 |
102 /** |
123 /** |
103 * The constructor initializes member attributes using parameters passed to it. |
124 * The constructor initializes member attributes using parameters passed to it. |
104 * @param tools is pointer to the tools class. @see abs_eap_am_tools_c. |
125 * @param tools is pointer to the tools class. @see abs_eap_am_tools_c. |
105 * @param partner is back pointer to object which created this object. |
126 * @param partner is back pointer to object which created this object. |
106 * @param is_client_when_true indicates whether the network entity should act |
127 * @param is_client_when_true indicates whether the network entity should act |
107 * as a client (true) or server (false), in terms of EAP-protocol |
128 * as a client (true) or server (false), in terms of EAP-protocol |
108 * whether this network entity is EAP-supplicant (true) or EAP-authenticator (false). |
129 * whether this network entity is EAP-supplicant (true) or EAP-authenticator (false). |
109 */ |
130 */ |
110 EAP_FUNC_IMPORT eap_plugin_client_message_if_c( |
131 EAP_FUNC_VISIBILITY_EAP_PLUGIN_CLIENT_MESSAGE_IF_H eap_plugin_client_message_if_c( |
111 abs_eap_am_tools_c * const tools, |
132 abs_eap_am_tools_c * const tools, |
112 eap_am_message_if_c * const client_if, |
133 eap_am_message_if_c * const client_if, |
113 abs_eap_plugin_message_c * const partner); |
134 abs_eap_plugin_message_c * const partner); |
114 |
135 |
115 /** |
136 /** |
117 * state was after the configure() function call. |
138 * state was after the configure() function call. |
118 * If object reset succeeds this function must return eap_status_ok. |
139 * If object reset succeeds this function must return eap_status_ok. |
119 * If object reset fails this function must return corresponding error status. |
140 * If object reset fails this function must return corresponding error status. |
120 * @return This function returns the status of reset operation. |
141 * @return This function returns the status of reset operation. |
121 */ |
142 */ |
122 EAP_FUNC_IMPORT eap_status_e reset(); |
143 EAP_FUNC_VISIBILITY_EAP_PLUGIN_CLIENT_MESSAGE_IF_H eap_status_e reset(); |
123 |
144 |
124 // This is documented in abs_eap_stack_interface_c::configure(). |
145 // This is documented in abs_eap_stack_interface_c::configure(). |
125 EAP_FUNC_IMPORT eap_status_e configure(); |
146 EAP_FUNC_VISIBILITY_EAP_PLUGIN_CLIENT_MESSAGE_IF_H eap_status_e configure(); |
126 |
147 |
127 // This is documented in abs_eap_stack_interface_c::shutdown(). |
148 // This is documented in abs_eap_stack_interface_c::shutdown(). |
128 EAP_FUNC_IMPORT eap_status_e shutdown(); |
149 EAP_FUNC_VISIBILITY_EAP_PLUGIN_CLIENT_MESSAGE_IF_H eap_status_e shutdown(); |
129 |
150 |
130 // This is documented in abs_eap_stack_interface_c::get_is_valid(). |
151 // This is documented in abs_eap_stack_interface_c::get_is_valid(). |
131 EAP_FUNC_IMPORT bool get_is_valid(); |
152 EAP_FUNC_VISIBILITY_EAP_PLUGIN_CLIENT_MESSAGE_IF_H bool get_is_valid(); |
132 |
153 |
133 EAP_FUNC_IMPORT eap_status_e process_message(eap_process_tlv_message_data_c * const message); |
154 EAP_FUNC_VISIBILITY_EAP_PLUGIN_CLIENT_MESSAGE_IF_H eap_status_e process_message(eap_process_tlv_message_data_c * const message); |
134 |
155 |
135 EAP_FUNC_IMPORT eap_status_e get_configuration(const eap_method_settings_c * const internal_settings); |
156 EAP_FUNC_VISIBILITY_EAP_PLUGIN_CLIENT_MESSAGE_IF_H eap_status_e get_configuration(const eap_method_settings_c * const internal_settings); |
136 |
157 |
137 EAP_FUNC_IMPORT eap_status_e set_configuration(const eap_method_settings_c * const internal_settings); |
158 EAP_FUNC_VISIBILITY_EAP_PLUGIN_CLIENT_MESSAGE_IF_H eap_status_e set_configuration(const eap_method_settings_c * const internal_settings); |
138 |
159 |
139 EAP_FUNC_IMPORT eap_status_e copy_configuration(const eap_method_settings_c * const internal_settings); |
160 EAP_FUNC_VISIBILITY_EAP_PLUGIN_CLIENT_MESSAGE_IF_H eap_status_e copy_configuration(const eap_method_settings_c * const internal_settings); |
140 |
161 |
141 EAP_FUNC_IMPORT eap_status_e delete_configuration(const eap_method_settings_c * const internal_settings); |
162 EAP_FUNC_VISIBILITY_EAP_PLUGIN_CLIENT_MESSAGE_IF_H eap_status_e delete_configuration(const eap_method_settings_c * const internal_settings); |
142 |
163 |
143 EAP_FUNC_IMPORT eap_status_e set_index(const eap_method_settings_c * const internal_settings); |
164 EAP_FUNC_VISIBILITY_EAP_PLUGIN_CLIENT_MESSAGE_IF_H eap_status_e set_index(const eap_method_settings_c * const internal_settings); |
144 |
165 |
145 EAP_FUNC_IMPORT eap_status_e get_type_info(const eap_method_settings_c * const internal_settings); |
166 EAP_FUNC_VISIBILITY_EAP_PLUGIN_CLIENT_MESSAGE_IF_H eap_status_e get_type_info(const eap_method_settings_c * const internal_settings); |
146 |
167 |
147 EAP_FUNC_IMPORT eap_status_e invoke_ui(const eap_method_settings_c * const internal_settings); |
168 EAP_FUNC_VISIBILITY_EAP_PLUGIN_CLIENT_MESSAGE_IF_H eap_status_e invoke_ui(const eap_method_settings_c * const internal_settings); |
148 |
169 |
149 EAP_FUNC_IMPORT eap_status_e send_data(const void * const data, const u32_t length); |
170 EAP_FUNC_VISIBILITY_EAP_PLUGIN_CLIENT_MESSAGE_IF_H eap_status_e send_data(const void * const data, const u32_t length); |
150 |
171 |
151 //-------------------------------------------------- |
172 //-------------------------------------------------- |
152 }; // class eap_plugin_client_message_if_c |
173 }; // class eap_plugin_client_message_if_c |
153 |
174 |
154 //-------------------------------------------------- |
175 //-------------------------------------------------- |