eapol/eapol_framework/eapol_common/include/eap_array.h
changeset 52 c23bdf5a328a
parent 33 938269283a16
equal deleted inserted replaced
51:e863583e6720 52:c23bdf5a328a
    24 
    24 
    25 #include "eap_am_memory.h"
    25 #include "eap_am_memory.h"
    26 #include "eap_tools.h"
    26 #include "eap_tools.h"
    27 #include "eap_am_tools.h"
    27 #include "eap_am_tools.h"
    28 #include "eap_am_export.h"
    28 #include "eap_am_export.h"
       
    29 // Start: added by script change_export_macros.sh.
       
    30 #if defined(EAP_NO_EXPORT_EAP_ARRAY_H)
       
    31 	#define EAP_CLASS_VISIBILITY_EAP_ARRAY_H EAP_NONSHARABLE 
       
    32 	#define EAP_FUNC_VISIBILITY_EAP_ARRAY_H 
       
    33 	#define EAP_C_FUNC_VISIBILITY_EAP_ARRAY_H 
       
    34 	#define EAP_FUNC_EXPORT_EAP_ARRAY_H 
       
    35 	#define EAP_C_FUNC_EXPORT_EAP_ARRAY_H 
       
    36 #elif defined(EAP_EXPORT_EAP_ARRAY_H)
       
    37 	#define EAP_CLASS_VISIBILITY_EAP_ARRAY_H EAP_EXPORT 
       
    38 	#define EAP_FUNC_VISIBILITY_EAP_ARRAY_H EAP_FUNC_EXPORT 
       
    39 	#define EAP_C_FUNC_VISIBILITY_EAP_ARRAY_H EAP_C_FUNC_EXPORT 
       
    40 	#define EAP_FUNC_EXPORT_EAP_ARRAY_H EAP_FUNC_EXPORT 
       
    41 	#define EAP_C_FUNC_EXPORT_EAP_ARRAY_H EAP_C_FUNC_EXPORT 
       
    42 #else
       
    43 	#define EAP_CLASS_VISIBILITY_EAP_ARRAY_H EAP_IMPORT 
       
    44 	#define EAP_FUNC_VISIBILITY_EAP_ARRAY_H EAP_FUNC_IMPORT 
       
    45 	#define EAP_C_FUNC_VISIBILITY_EAP_ARRAY_H EAP_C_FUNC_IMPORT 
       
    46 	#define EAP_FUNC_EXPORT_EAP_ARRAY_H 
       
    47 	#define EAP_C_FUNC_EXPORT_EAP_ARRAY_H 
       
    48 #endif
       
    49 // End: added by script change_export_macros.sh.
    29 
    50 
    30 #if defined(_WIN32) && !defined(__GNUC__)
    51 #if defined(_WIN32) && !defined(__GNUC__)
    31 	#pragma warning( disable : 4251 ) // needs to have dll-interface to be used by clients
    52 	#pragma warning( disable : 4251 ) // needs to have dll-interface to be used by clients
    32 #endif
    53 #endif
    33 
    54 
    52  * The eap_array_atom_c is a template class for single object stored to eap_array_c array.
    73  * The eap_array_atom_c is a template class for single object stored to eap_array_c array.
    53  * The array objects are stored as a linked list.
    74  * The array objects are stored as a linked list.
    54  * @param Type template parameter is the actual type which is stored.
    75  * @param Type template parameter is the actual type which is stored.
    55  */
    76  */
    56 template <class Type>
    77 template <class Type>
    57 class EAP_EXPORT eap_array_atom_c
    78 class EAP_CLASS_VISIBILITY_EAP_ARRAY_H eap_array_atom_c
    58 {
    79 {
    59 private:
    80 private:
    60 
    81 
    61 	/// This is pointer to the tools class. 
    82 	/// This is pointer to the tools class. 
    62 	abs_eap_am_tools_c * m_am_tools;
    83 	abs_eap_am_tools_c * m_am_tools;
   130   * The eap_array_c template class includes an array for type of Type objects.
   151   * The eap_array_c template class includes an array for type of Type objects.
   131   * The objects can be added, retrieved and their count can be queried.
   152   * The objects can be added, retrieved and their count can be queried.
   132   * @param Type template parameter is the actual type which is stored.
   153   * @param Type template parameter is the actual type which is stored.
   133   */
   154   */
   134 template <class Type>
   155 template <class Type>
   135 class EAP_EXPORT eap_array_c
   156 class EAP_CLASS_VISIBILITY_EAP_ARRAY_H eap_array_c
   136 {
   157 {
   137 private:
   158 private:
   138 	//--------------------------------------------------
   159 	//--------------------------------------------------
   139 
   160 
   140 	/// This is pointer to the tools class. 
   161 	/// This is pointer to the tools class.