--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/pkiutilities/PKCS12/CrPkcs12/Src/cx509certificateset.cpp Tue Jan 26 15:20:08 2010 +0200
@@ -0,0 +1,105 @@
+/*
+* Copyright (c) 2000, 2004 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: This file contains the implementation of
+* CX509CertificateSet class.
+*
+*/
+
+
+
+// INCLUDE FILES
+
+#include "CX509CertificateSet.h"
+
+
+
+// -----------------------------------------------------------------------------
+// CX509CertificateSet
+// Constructor
+// -----------------------------------------------------------------------------
+CX509CertificateSet::CX509CertificateSet( TInt aGranularity )
+ :CArrayPtrFlat<CX509Certificate>( aGranularity )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CX509CertificateSet::ConstructL
+// -----------------------------------------------------------------------------
+
+void CX509CertificateSet::ConstructL()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CX509CertificateSet::NewLC
+// -----------------------------------------------------------------------------
+CX509CertificateSet* CX509CertificateSet::NewLC( TInt aGranularity )
+ {
+ CX509CertificateSet* self = new (ELeave) CX509CertificateSet(aGranularity);
+ CleanupStack::PushL(self);
+
+ self->ConstructL();
+
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// CX509CertificateSet
+// Destructor
+// -----------------------------------------------------------------------------
+CX509CertificateSet::~CX509CertificateSet()
+ {
+ ResetAndDestroy();
+ }
+
+
+// -----------------------------------------------------------------------------
+// CX509CertificateSet::NewL
+// -----------------------------------------------------------------------------
+CX509CertificateSet* CX509CertificateSet::NewL( TInt aGranularity )
+ {
+ CX509CertificateSet* self = NewLC( aGranularity );
+ CleanupStack::Pop();
+
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// CX509CertificateSet::DecodeCertsL
+// This function reads binarydata given as parameter and decodes
+// all certificates from it and puts them into CX509CertificateSet,
+// what is obviously a set of X509Certificates.
+// Parameters: const TDesC8& aBinaryData Binarydata containing
+// CX509Certificates.
+// Returns: Amount of certificates decoded.
+// -----------------------------------------------------------------------------
+TUint CX509CertificateSet::DecodeCertsL(const TDesC8& aBinaryData)
+ {
+ TInt pos = NULL;//start at the start
+ TUint amount = NULL;
+
+ while ( pos < aBinaryData.Length() )
+ {
+ CX509Certificate *aTempCertificate = CX509Certificate::NewLC( aBinaryData, pos );
+
+ AppendL( aTempCertificate );
+ CleanupStack::Pop();
+ amount++;
+ }
+
+ return amount; // amount of certificates in CertificateSet
+ }
+
+// End of file
+