pkiutilities/DeviceToken/Inc/DevandTruSrvCertStoreEntry.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 26 Jan 2010 15:20:08 +0200
changeset 0 164170e6151a
permissions -rw-r--r--
Revision: 201004

/*
* Copyright (c) 2006 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:   The header file of DevandTruSrvCertStoreEntry
*
*/



#ifndef __DEVANDTRUSRVCERTSTOREENRY_H__
#define __DEVANDTRUSRVCERTSTOREENRY_H__

#include <e32base.h>
#include <s32std.h>

class CDevTokenCertInfo;

/**
 *  class CDevandTruSrvCertStoreEntry
 *
 * This class represents a cert in the store.  It contains the cert info, the id
 * of the stream containing the certificate itself and its applications and
 * trust settings.
 *
 *  @lib 
 *  @since S60 v3.2
 */
class CDevandTruSrvCertStoreEntry : public CBase
    {
    public:
        
        // Create a new CDevTokenCertStoreEntry
        static CDevandTruSrvCertStoreEntry* NewL(const CDevTokenCertInfo& aEntry,
                                                 RArray<TUid> aCertificateApps,
                                                 TBool aTrusted,
                                                 TStreamId aDataStreamId);
        
        // Read a CDevTokenCertStoreEntry from a stream.
        static CDevandTruSrvCertStoreEntry* NewLC(RReadStream& aStream);
        
        virtual ~CDevandTruSrvCertStoreEntry();
        
        // Write a CDevTokenCertStoreEntry to a stream.
        void ExternalizeL(RWriteStream& aDataStream) const;
        
        // Accessors
        const CDevTokenCertInfo& CertInfo() const;
        
        TStreamId DataStreamId() const;
        
        const RArray<TUid>& CertificateApps() const;
        
        TBool IsApplicable(const TUid& aApplication) const;
        
        TBool Trusted() const;

    private:
        
        CDevandTruSrvCertStoreEntry();
        
        void ConstructL(const CDevTokenCertInfo& aEntry, RArray<TUid> aCertificateApps,
        
        TBool aTrusted, TStreamId aDataStreamId);
        
        void InternalizeL(RReadStream& aStream);

    private:
        
        CDevTokenCertInfo* iCertInfo;
        
        RArray<TUid> iCertificateApps;
        
        TBool iTrusted;
        
        TStreamId iDataStreamId;
    };

#endif __DEVANDTRUSRVCERTSTOREENRY_H__

//EOF