--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/wapi_db_api/inc/WapiCertificates.h Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,139 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: WAPI authentication protocols.
+*
+*/
+
+/*
+* %version: 14 %
+*/
+
+#ifndef _WAPICERTIFICATES_H_
+#define _WAPICERTIFICATES_H_
+
+#include <e32base.h>
+#include <e32std.h>
+
+
+const TInt KMaxLabelLength = 255;
+const TInt KMaxIdentityLength = 310;
+class CCertificateStoreDatabase;
+class abs_eap_am_tools_c;
+class dummy_wapi_core_c;
+class wapi_am_core_symbian_c;
+class ec_certificate_store_c;
+
+/**
+* This is a wrapper class which can be used to handle WAPI related certificates
+*/
+class CWapiCertificates : /*public CBase,*/ public CActive
+{
+
+public:
+
+ IMPORT_C CWapiCertificates();
+ IMPORT_C ~CWapiCertificates();
+
+ /**
+ * Function for creating the CWapiCertificates object
+ *
+ */
+ IMPORT_C static CWapiCertificates* NewL();
+
+ /**
+ * Function for reserving memory for the internal data types
+ *
+ */
+ void ConstructL();
+
+ /**
+ * Gets a list of the available WAPI user and CA certificates
+ *
+ * NOTE that the caller is responsible for freeing the memory of the arrays
+ *
+ * @param aUserCerts Array of available WAPI User certificate labels
+ * @param aUserCertData Array of available WAPI User certificate identities
+ * @param aCACerts Array of available WAPI CA certificate labels
+ * @param aCACertData Array of available WAPI CA certificate identities
+ */
+ IMPORT_C void GetAllCertificateLabelsL( RArray<TBuf<KMaxLabelLength> > **aUserCerts, RArray<TBuf8<KMaxIdentityLength> > **aUserCertData,
+ RArray<TBuf<KMaxLabelLength> > **aCACerts, RArray<TBuf8<KMaxIdentityLength> >**aCACertData );
+
+ /**
+ * Resets the WAPI Certificate store
+ *
+ */
+ IMPORT_C void ResetCertificateStoreL( );
+
+ /**
+ * Gets the WAPI certificate configuration of a specific AP
+ *
+ * @param aId Service table id
+ * @param aUserCert Id matching the selected WAPI User certificate
+ * @param aCACert Id matching the selected WAPI CA certificate
+ */
+ IMPORT_C void GetConfigurationL( const TInt aId, TDes& aCACert, TDes& aUserCert );
+
+ /**
+ * Sets the WAPI certificate configuration of a specific AP
+ *
+ * @param aId Service table id
+ * @param aCACertData Selected WAPI CA certificate identity
+ */
+ IMPORT_C void SetCACertL( const TInt aId, const TBuf8<KMaxIdentityLength> aCACertData );
+
+ /**
+ * Sets the WAPI certificate configuration of a specific AP
+ *
+ * @param aId Service table id
+ * @param aUserCertData Selected WAPI User certificate identity
+ */
+ IMPORT_C void SetUserCertL( const TInt aId, const TBuf8<KMaxIdentityLength> aUserCertData );
+
+ /**
+ * Delete AP related data from certificate database tables
+ *
+ * @param aId Service table id
+ */
+ IMPORT_C void DeleteAPSpecificDataL( const TInt aId );
+
+protected: // from CActive
+
+ /**
+ * RunL from CActive
+ */
+ void RunL();
+
+ /**
+ * DoCancel from CActive
+ */
+ void DoCancel();
+private:
+ // Pointer to the used certificate store object
+ CCertificateStoreDatabase* iCertDB;
+ // amTools is needed for the certificate store object creation
+ abs_eap_am_tools_c* iAmTools;
+ dummy_wapi_core_c* iDummyCore;
+ // The pointer to the ec_certificate_store_c needed to create the wapi_am_core_symbian
+ ec_certificate_store_c* iEcCertStore;
+ // The pointer to the object needed to start the certificate import and reading of labels
+ wapi_am_core_symbian_c* iWapiCore;
+
+ // For wrapping asynchronous calls.
+ CActiveSchedulerWait iWait;
+};
+
+#endif // _WAPICERTIFICATES_H_
+
+// End of file