eapol/eapol_framework/wapi_common/include/ec_am_base_certificate_store.h
changeset 17 8840d3e38314
equal deleted inserted replaced
2:1c7bc153c08e 17:8840d3e38314
       
     1 /*
       
     2 * ============================================================================
       
     3 *  Name        : ./accesssec/eapol/eapol_framework/wapi_common/include/ec_am_base_certificate_store.h
       
     4 *  Part of     : WAPI / WAPI       *** Info from the SWAD
       
     5 *  Description : WAPI authentication
       
     6 *  Version     : %version: 12 % << Don't touch! Updated by Synergy at check-out.
       
     7 *
       
     8 *  Copyright © 2001-2009 Nokia.  All rights reserved.
       
     9 *  This material, including documentation and any related computer
       
    10 *  programs, is protected by copyright controlled by Nokia.  All
       
    11 *  rights are reserved.  Copying, including reproducing, storing,
       
    12 *  adapting or translating, any or all of this material requires the
       
    13 *  prior written consent of Nokia.  This material also contains
       
    14 *  confidential information which may not be disclosed to others
       
    15 *  without the prior written consent of Nokia.
       
    16 * ============================================================================
       
    17 * Template version: 4.2
       
    18 */
       
    19 
       
    20 
       
    21 
       
    22 #if !defined(_EC_AM_BASE_CERTIFICATE_STORE_H_)
       
    23 #define _EC_AM_BASE_CERTIFICATE_STORE_H_
       
    24 
       
    25 #if defined(USE_EC_CERTIFICATE_STORE)
       
    26 
       
    27 #include "eap_am_export.h"
       
    28 #include "eap_tools.h"
       
    29 #include "wapi_types.h"
       
    30 #include "ec_cs_types.h"
       
    31 #include "ec_cs_data.h"
       
    32 #include "eap_array.h"
       
    33 
       
    34 class eap_variable_data_c;
       
    35 class abs_eap_state_notification_c;
       
    36 class abs_ec_am_certificate_store_c;
       
    37 
       
    38 /** @file */
       
    39 
       
    40 //----------------------------------------------------------------------------
       
    41 
       
    42 /// This class defines interface of elliptic curve certificate store AM.
       
    43 /**
       
    44  * Interface of elliptic curve certificate store AM.
       
    45  */
       
    46 class EAP_EXPORT ec_am_base_certificate_store_c
       
    47 {
       
    48 private:
       
    49 	//--------------------------------------------------
       
    50 
       
    51 	//--------------------------------------------------
       
    52 public:
       
    53 	//--------------------------------------------------
       
    54 
       
    55 	virtual ~ec_am_base_certificate_store_c() {}
       
    56 
       
    57 	/** Function sets partner object of adaptation module of certificate store.
       
    58 	 *  Partner object is the certificate store object.
       
    59 	 */
       
    60 	virtual void set_am_certificate_store_partner(abs_ec_am_certificate_store_c * const partner) = 0;
       
    61 
       
    62 	/**
       
    63 	 * Function initializes the certificate store.
       
    64 	 * This function is completed by complete_initialize_certificate_store() function call.
       
    65 	 */
       
    66 	virtual eap_status_e initialize_certificate_store(
       
    67 		const wapi_completion_operation_e completion_operation) = 0;
       
    68 
       
    69 	/**
       
    70 	 * Function reads the certificate store data referenced by parameter in_references.
       
    71 	 * This function is completed by complete_read_certificate_store_data() function call.
       
    72 	 */
       
    73 	virtual eap_status_e read_certificate_store_data(
       
    74 		const ec_cs_pending_operation_e in_pending_operation,
       
    75 		EAP_TEMPLATE_CONST eap_array_c<ec_cs_data_c> * const in_references) = 0;
       
    76 
       
    77 	/**
       
    78 	 * Function writes the certificate store data referenced by parameter in_references_and_data_blocks.
       
    79 	 * This function is completed by complete_write_certificate_store_data() function call.
       
    80 	 */
       
    81 	virtual eap_status_e write_certificate_store_data(
       
    82 		const bool when_true_must_be_synchronous_operation,
       
    83 		const ec_cs_pending_operation_e in_pending_operation,
       
    84 		EAP_TEMPLATE_CONST eap_array_c<ec_cs_data_c> * const in_references_and_data_blocks) = 0;
       
    85 
       
    86 	/**
       
    87 	 * Function completes the add_imported_certificate_file() function call.
       
    88 	 */
       
    89 	virtual eap_status_e complete_add_imported_certificate_file(
       
    90 		const eap_status_e in_completion_status,
       
    91 		const eap_variable_data_c * const in_imported_certificate_filename) = 0;
       
    92 
       
    93 	/**
       
    94 	 * Function completes the remove_certificate_store() function call.
       
    95 	 */
       
    96 	virtual eap_status_e complete_remove_certificate_store(
       
    97 		const eap_status_e in_completion_status) = 0;
       
    98 
       
    99 	/**
       
   100 	 * Function cancels all certificate_store store operations.
       
   101 	 */
       
   102 	virtual eap_status_e cancel_certificate_store_store_operations() = 0;
       
   103 
       
   104 	virtual eap_status_e complete_query_certificate_list(
       
   105 		EAP_TEMPLATE_CONST eap_array_c<eap_variable_data_c> * const ca_certificates,
       
   106 		EAP_TEMPLATE_CONST eap_array_c<eap_variable_data_c> * const user_certificates) = 0;
       
   107 
       
   108 	virtual eap_status_e complete_start_certificate_import() = 0;
       
   109 
       
   110 	//--------------------------------------------------
       
   111 }; // class ec_am_base_certificate_store_c
       
   112 
       
   113 
       
   114 #endif //#if defined(USE_EC_CERTIFICATE_STORE)
       
   115 
       
   116 #endif //#if !defined(_EC_AM_BASE_CERTIFICATE_STORE_H_)
       
   117 
       
   118 
       
   119 // End.