appinstall_plat/sifui_api/src/sifuicertificateinfo.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 31 Aug 2010 15:21:33 +0300
branchRCL_3
changeset 25 7333d7932ef7
permissions -rw-r--r--
Revision: 201033 Kit: 201035

/*
* Copyright (c) 2010 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:  CSifUiCertificateInfo for certificate details.
*
*/

#include "sifuicertificateinfo.h"               // CSifUiCertificateInfo
#include <swi/msisuihandlers.h>                 // Swi::CCertificateInfo


// ======== LOCAL FUNCTIONS ========

void WriteBufToStreamL( RWriteStream& aStream, const TDesC& aBuffer )
    {
    aStream.WriteInt32L( aBuffer.Length() );
    aStream.WriteL( aBuffer );
    }

void WriteBufToStreamL( RWriteStream& aStream, const TDesC8& aBuffer )
    {
    aStream.WriteInt32L( aBuffer.Length() );
    aStream.WriteL( aBuffer );
    }

void WriteDateTimeToStreamL( RWriteStream& aStream, const TDateTime& aDateTime )
    {
    TPckg<TDateTime> buffer( aDateTime );
    aStream.WriteL( buffer );
    }


// ======== MEMBER FUNCTIONS ========

// ---------------------------------------------------------------------------
// CSifUiCertificateInfo::NewLC()
// ---------------------------------------------------------------------------
//
EXPORT_C CSifUiCertificateInfo* CSifUiCertificateInfo::NewLC(
        Swi::CCertificateInfo& aCertInfo )
    {
    CSifUiCertificateInfo* self = new( ELeave ) CSifUiCertificateInfo();
    CleanupStack::PushL( self );
    self->ConstructL( aCertInfo );
    return self;
    }

// ---------------------------------------------------------------------------
// CSifUiCertificateInfo::NewL()
// ---------------------------------------------------------------------------
//
EXPORT_C CSifUiCertificateInfo* CSifUiCertificateInfo::NewL(
        Swi::CCertificateInfo& aCertInfo )
    {
    CSifUiCertificateInfo* self = CSifUiCertificateInfo::NewLC( aCertInfo );
    CleanupStack::Pop( self );
    return self;
    }

// ---------------------------------------------------------------------------
// CSifUiCertificateInfo::~CSifUiCertificateInfo()
// ---------------------------------------------------------------------------
//
CSifUiCertificateInfo::~CSifUiCertificateInfo()
    {
    delete iSubjectName;
    delete iIssuerName;
    delete iFingerprint;
    delete iSerialNumber;
    }

// ---------------------------------------------------------------------------
// CSifUiCertificateInfo::ExternalizeL()
// ---------------------------------------------------------------------------
//
EXPORT_C void CSifUiCertificateInfo::ExternalizeL( RWriteStream& aStream ) const
    {
    WriteBufToStreamL( aStream, SubjectName() );
    WriteBufToStreamL( aStream, IssuerName() );
    WriteBufToStreamL( aStream, Fingerprint() );
    WriteBufToStreamL( aStream, SerialNumber() );
    WriteDateTimeToStreamL( aStream, iValidFrom );
    WriteDateTimeToStreamL( aStream, iValidTo );
    }

// ---------------------------------------------------------------------------
// CSifUiCertificateInfo::CSifUiCertificateInfo()
// ---------------------------------------------------------------------------
//
CSifUiCertificateInfo::CSifUiCertificateInfo()
    {
    }

// ---------------------------------------------------------------------------
// CSifUiCertificateInfo::ConstructL()
// ---------------------------------------------------------------------------
//
void CSifUiCertificateInfo::ConstructL(
        Swi::CCertificateInfo& aCertInfo )
    {
    iSubjectName = aCertInfo.SubjectName().AllocL();
    iIssuerName = aCertInfo.IssuerName().AllocL();
    iFingerprint = aCertInfo.Fingerprint().AllocL();
    iSerialNumber = aCertInfo.SerialNumber().AllocL();
    iValidFrom = aCertInfo.ValidFrom();
    iValidTo = aCertInfo.ValidTo();
    }

// ---------------------------------------------------------------------------
// CSifUiCertificateInfo::SubjectName()
// ---------------------------------------------------------------------------
//
const TDesC& CSifUiCertificateInfo::SubjectName() const
    {
    if( iSubjectName )
        {
        return *iSubjectName;
        }
    return KNullDesC;
    }

// ---------------------------------------------------------------------------
// CSifUiCertificateInfo::IssuerName()
// ---------------------------------------------------------------------------
//
const TDesC& CSifUiCertificateInfo::IssuerName() const
    {
    if( iIssuerName )
        {
        return *iIssuerName;
        }
    return KNullDesC;
    }

// ---------------------------------------------------------------------------
// CSifUiCertificateInfo::Fingerprint()
// ---------------------------------------------------------------------------
//
const TDesC8& CSifUiCertificateInfo::Fingerprint() const
    {
    if( iFingerprint )
        {
        return *iFingerprint;
        }
    return KNullDesC8;
    }

// ---------------------------------------------------------------------------
// CSifUiCertificateInfo::SerialNumber()
// ---------------------------------------------------------------------------
//
const TDesC8& CSifUiCertificateInfo::SerialNumber() const
    {
    if( iSerialNumber )
        {
        return *iSerialNumber;
        }
    return KNullDesC8;
    }