accesssec_plat/eap_type_api/inc/EapGeneralSettings.h
branchRCL_3
changeset 46 c74b3d9f6b9e
parent 45 bad0cc58d154
child 55 9c2aa05919d9
equal deleted inserted replaced
45:bad0cc58d154 46:c74b3d9f6b9e
     1 /*
       
     2 * Copyright (c) 2001-2006 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of the License "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Class is interface to the generic EAP type.
       
    15 *
       
    16 */
       
    17 
       
    18 /*
       
    19 * %version: 14 %
       
    20 */
       
    21 
       
    22 #ifndef _EAP_GENERAL_SETTINGS_H_
       
    23 #define _EAP_GENERAL_SETTINGS_H_
       
    24 
       
    25 // INCLUDES
       
    26 #include <EapType.h>
       
    27 #include <EapExpandedType.h>
       
    28 
       
    29 // FORWARD DECLARATIONS
       
    30 
       
    31 // CLASS DECLARATION
       
    32 /**
       
    33 * Class is interface to the generic EAP type.
       
    34 */
       
    35 class CEapGeneralSettings
       
    36 : public CBase
       
    37 {
       
    38 public:
       
    39 
       
    40 	/**
       
    41 	* Construction function. Called by ECom after the EAP generic plugin has been loaded.
       
    42 	* @param aIndexType is the bearer type, ELan for WLAN and EVpn for VPN.
       
    43 	* @param aIndex is the WLAN service ID for WLAN bearer type and IAP id for VPN. Each bearer must use same aIndex for configuration and authentication.
       
    44 	* @return Pointer to the instance.
       
    45 	*/
       
    46 	inline static CEapGeneralSettings* NewL(
       
    47 		const TIndexType aIndexType,	
       
    48 		const TInt aIndex);
       
    49 
       
    50 	/**
       
    51 	* Destructor does nothing.
       
    52 	*/
       
    53 	inline virtual ~CEapGeneralSettings();
       
    54 	
       
    55 	/**
       
    56 	* Returns the version of the interface that the EAP type implements.
       
    57 	* The client-side of the interface must always check the version with this function 
       
    58 	* and not call the functions that are not implemented. New functions must be
       
    59 	* added to the end of the interface so that the order of the old functions
       
    60 	* does not change.
       
    61 	* @return Integer indicating the version.
       
    62 	*/
       
    63 	virtual TUint GetInterfaceVersion() = 0;
       
    64 
       
    65 	/**
       
    66 	 * Function sets the active and disabled EAP-methods.
       
    67 	 * @param aActiveEapMethods includes a list of enabled EAP-methods. This list can be empty
       
    68 	 * @param aDisabledEapMethods includes a list of disabled EAP-methods. This list can be empty.
       
    69 	 */
       
    70 	virtual TInt SetEapMethods(
       
    71 		const RArray<TEapExpandedType> & aActiveEapMethods,
       
    72 		const RArray<TEapExpandedType> & aDisabledEapMethods) = 0;
       
    73 
       
    74 	/**
       
    75 	 * Function gets the active and disabled EAP-methods.
       
    76 	 * @param aActiveEapMethods includes a list of enabled EAP-methods. This list can be empty
       
    77 	 * @param aDisabledEapMethods includes a list of disabled EAP-methods. This list can be empty.
       
    78 	 */
       
    79 	virtual TInt GetEapMethods(
       
    80 		RArray<TEapExpandedType> & aActiveEapMethods,
       
    81 		RArray<TEapExpandedType> & aDisabledEapMethods) = 0;
       
    82 
       
    83 	/**
       
    84 	 * Function gets the all installed certificates.
       
    85 	 * @param aUserCerts includes a list of user certificates. This list can be empty.
       
    86 	 * @param aCACerts includes a list of CA root certificates. This list can be empty.
       
    87 	 */
       
    88 	virtual TInt GetCertificateLists(
       
    89 		RPointerArray<EapCertificateEntry> & aUserCerts,
       
    90 		RPointerArray<EapCertificateEntry> & aCACerts) = 0;
       
    91 
       
    92 	/**
       
    93 	 * Function deletes all settings of the IAP, a pair (aIndexType, aIndex) of NewL() function selects the deleted items.
       
    94 	 */
       
    95 	virtual TInt DeleteAllEapSettings() = 0;
       
    96 
       
    97 	/**
       
    98 	 * Function copies all settings of the IAP to destination.
       
    99 	 * A pair (aIndexType, aIndex) of NewL() function selects the source items.
       
   100 	 * A pair (aDestinationIndexType, aDestinationIndex) selects the destination.
       
   101 	 */
       
   102 	virtual TInt CopyAllEapSettings(
       
   103 		const TIndexType aDestinationIndexType,
       
   104 		const TInt aDestinationIndex) = 0;
       
   105 
       
   106 private:
       
   107 
       
   108 	/// ECom uses this key to keep track of DLL usage.
       
   109 	TUid iDtor_ID_Key;
       
   110 
       
   111 };
       
   112 
       
   113 #include "EapGeneralSettings.inl"
       
   114 
       
   115 #endif // _EAP_GENERAL_SETTINGS_H_
       
   116 
       
   117 // End of file