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