--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/pnpmobileservices/pnpms/PnpPaosFilter/src/HdcToPaosInterface.h Thu Dec 17 08:40:12 2009 +0200
@@ -0,0 +1,87 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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: A interface definition for reading HDC related parameters
+*
+*/
+
+
+
+
+#ifndef HDC_TO_PAOS_INTERFACE_H
+#define HDC_TO_PAOS_INTERFACE_H
+
+//INCLUDES
+#include <e32base.h>
+
+const TInt KMaxHdcVersionStringLength(40);
+const TInt KHdcNonceLength(8);
+_LIT( KHdcDllFileName, "hdcutil.dll" );
+const TUid KHdcUtilDllUid = { 0x10272D3A };
+
+const TInt KMaxHdcKeyInfoLength(20);
+typedef TBuf8<KMaxHdcKeyInfoLength> HdcKeyInfo;
+typedef RArray<HdcKeyInfo> HdcKeyInfoList;
+
+const TInt KMaxURLLength(255);
+typedef TBuf8<KMaxURLLength> HdcTrustedDomain;
+typedef RArray<HdcTrustedDomain> HdcTrustedDomainList;
+
+
+/*!
+MHdcToPaosInterface implementor is assumed to be part of a DLL that can be
+loaded dynamically using RLibrary::Load. It should have <KHdcUtilDllUid> as
+its uid3 and it should be named <KHdcDllFileName>. There should be a NewLC
+implementation in the first ordinal of the DLL that returns a pointer to
+a CHdcToPaosInterface derived object to allow dynamic loading.
+*/
+
+class CHdcToPaosInterface : public CBase
+ {
+ public:
+
+ /**
+ * Returns HDC version string
+ * @param aVersion Current version of the HDC. max length of version is
+ * KMaxHdcVersionStringLength
+ * @return KErrNone, KErrArgument
+ */
+ virtual TInt Version( TDes8& aVersion ) const = 0;
+
+ /**
+ * Create and save new nonce.
+ * @param aNonce Nonce. Length of nonce is KHdcNonceLength
+ */
+ virtual void CreateNewNonceL( TDes8& aNonce ) = 0;
+
+ /**
+ * Get current nonce value from the database which has been created using
+ * CreateNonceL().
+ * @param aNonce Nonce. Length of nonce is KHdcNonceLength
+ */
+ virtual void NonceL( TDes8& aNonce ) const = 0;
+
+ /**
+ * Return Keyinfo list array which are defined in HDCKeyInfo.h
+ * @param aList Keyinfo list. 0..N keyinfos. See typedefinitions.
+ */
+ virtual void HdcKeyInfos( HdcKeyInfoList& aList) = 0;
+
+ /**
+ * Get a list of trusted domains which PAOS can use to determine valid domains.
+ * @param aList See typedefinitions.
+ **/
+ virtual void TrustedDomainsL( HdcTrustedDomainList& aList ) = 0;
+ };
+
+#endif // HDC_TO_PAOS_INTERFACE_H