pkiutilities/DeviceToken/Inc/DevandTruSrvCertStoreEntry.h
author Salvatore Rinaldo <salvatorer@symbian.org>
Tue, 15 Jun 2010 12:58:39 +0100
branchGCC_SURGE
changeset 25 0cdac1d155ce
parent 0 164170e6151a
permissions -rw-r--r--
Bug 2958 - GCC compilation issues in sf/mw/securitysrv

/*
* 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