1 /* |
|
2 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: CSifUiCertificateInfo for certificate details. |
|
15 * |
|
16 */ |
|
17 |
|
18 #include "sifuicertificateinfo.h" // CSifUiCertificateInfo |
|
19 #include <swi/msisuihandlers.h> // Swi::CCertificateInfo |
|
20 |
|
21 |
|
22 // ======== LOCAL FUNCTIONS ======== |
|
23 |
|
24 void WriteBufToStreamL( RWriteStream& aStream, const TDesC& aBuffer ) |
|
25 { |
|
26 aStream.WriteInt32L( aBuffer.Length() ); |
|
27 aStream.WriteL( aBuffer ); |
|
28 } |
|
29 |
|
30 void WriteBufToStreamL( RWriteStream& aStream, const TDesC8& aBuffer ) |
|
31 { |
|
32 aStream.WriteInt32L( aBuffer.Length() ); |
|
33 aStream.WriteL( aBuffer ); |
|
34 } |
|
35 |
|
36 void WriteDateTimeToStreamL( RWriteStream& aStream, const TDateTime& aDateTime ) |
|
37 { |
|
38 TPckg<TDateTime> buffer( aDateTime ); |
|
39 aStream.WriteL( buffer ); |
|
40 } |
|
41 |
|
42 |
|
43 // ======== MEMBER FUNCTIONS ======== |
|
44 |
|
45 // --------------------------------------------------------------------------- |
|
46 // CSifUiCertificateInfo::NewLC() |
|
47 // --------------------------------------------------------------------------- |
|
48 // |
|
49 EXPORT_C CSifUiCertificateInfo* CSifUiCertificateInfo::NewLC( |
|
50 Swi::CCertificateInfo& aCertInfo ) |
|
51 { |
|
52 CSifUiCertificateInfo* self = new( ELeave ) CSifUiCertificateInfo(); |
|
53 CleanupStack::PushL( self ); |
|
54 self->ConstructL( aCertInfo ); |
|
55 return self; |
|
56 } |
|
57 |
|
58 // --------------------------------------------------------------------------- |
|
59 // CSifUiCertificateInfo::NewL() |
|
60 // --------------------------------------------------------------------------- |
|
61 // |
|
62 EXPORT_C CSifUiCertificateInfo* CSifUiCertificateInfo::NewL( |
|
63 Swi::CCertificateInfo& aCertInfo ) |
|
64 { |
|
65 CSifUiCertificateInfo* self = CSifUiCertificateInfo::NewLC( aCertInfo ); |
|
66 CleanupStack::Pop( self ); |
|
67 return self; |
|
68 } |
|
69 |
|
70 // --------------------------------------------------------------------------- |
|
71 // CSifUiCertificateInfo::~CSifUiCertificateInfo() |
|
72 // --------------------------------------------------------------------------- |
|
73 // |
|
74 CSifUiCertificateInfo::~CSifUiCertificateInfo() |
|
75 { |
|
76 delete iSubjectName; |
|
77 delete iIssuerName; |
|
78 delete iFingerprint; |
|
79 delete iSerialNumber; |
|
80 } |
|
81 |
|
82 // --------------------------------------------------------------------------- |
|
83 // CSifUiCertificateInfo::ExternalizeL() |
|
84 // --------------------------------------------------------------------------- |
|
85 // |
|
86 EXPORT_C void CSifUiCertificateInfo::ExternalizeL( RWriteStream& aStream ) const |
|
87 { |
|
88 WriteBufToStreamL( aStream, SubjectName() ); |
|
89 WriteBufToStreamL( aStream, IssuerName() ); |
|
90 WriteBufToStreamL( aStream, Fingerprint() ); |
|
91 WriteBufToStreamL( aStream, SerialNumber() ); |
|
92 WriteDateTimeToStreamL( aStream, iValidFrom ); |
|
93 WriteDateTimeToStreamL( aStream, iValidTo ); |
|
94 } |
|
95 |
|
96 // --------------------------------------------------------------------------- |
|
97 // CSifUiCertificateInfo::CSifUiCertificateInfo() |
|
98 // --------------------------------------------------------------------------- |
|
99 // |
|
100 CSifUiCertificateInfo::CSifUiCertificateInfo() |
|
101 { |
|
102 } |
|
103 |
|
104 // --------------------------------------------------------------------------- |
|
105 // CSifUiCertificateInfo::ConstructL() |
|
106 // --------------------------------------------------------------------------- |
|
107 // |
|
108 void CSifUiCertificateInfo::ConstructL( |
|
109 Swi::CCertificateInfo& aCertInfo ) |
|
110 { |
|
111 iSubjectName = aCertInfo.SubjectName().AllocL(); |
|
112 iIssuerName = aCertInfo.IssuerName().AllocL(); |
|
113 iFingerprint = aCertInfo.Fingerprint().AllocL(); |
|
114 iSerialNumber = aCertInfo.SerialNumber().AllocL(); |
|
115 iValidFrom = aCertInfo.ValidFrom(); |
|
116 iValidTo = aCertInfo.ValidTo(); |
|
117 } |
|
118 |
|
119 // --------------------------------------------------------------------------- |
|
120 // CSifUiCertificateInfo::SubjectName() |
|
121 // --------------------------------------------------------------------------- |
|
122 // |
|
123 const TDesC& CSifUiCertificateInfo::SubjectName() const |
|
124 { |
|
125 if( iSubjectName ) |
|
126 { |
|
127 return *iSubjectName; |
|
128 } |
|
129 return KNullDesC; |
|
130 } |
|
131 |
|
132 // --------------------------------------------------------------------------- |
|
133 // CSifUiCertificateInfo::IssuerName() |
|
134 // --------------------------------------------------------------------------- |
|
135 // |
|
136 const TDesC& CSifUiCertificateInfo::IssuerName() const |
|
137 { |
|
138 if( iIssuerName ) |
|
139 { |
|
140 return *iIssuerName; |
|
141 } |
|
142 return KNullDesC; |
|
143 } |
|
144 |
|
145 // --------------------------------------------------------------------------- |
|
146 // CSifUiCertificateInfo::Fingerprint() |
|
147 // --------------------------------------------------------------------------- |
|
148 // |
|
149 const TDesC8& CSifUiCertificateInfo::Fingerprint() const |
|
150 { |
|
151 if( iFingerprint ) |
|
152 { |
|
153 return *iFingerprint; |
|
154 } |
|
155 return KNullDesC8; |
|
156 } |
|
157 |
|
158 // --------------------------------------------------------------------------- |
|
159 // CSifUiCertificateInfo::SerialNumber() |
|
160 // --------------------------------------------------------------------------- |
|
161 // |
|
162 const TDesC8& CSifUiCertificateInfo::SerialNumber() const |
|
163 { |
|
164 if( iSerialNumber ) |
|
165 { |
|
166 return *iSerialNumber; |
|
167 } |
|
168 return KNullDesC8; |
|
169 } |
|
170 |
|