os/security/authorisation/userpromptutils/upsnotifierutil/source/upsnotifierutil.cpp
Update contrib.
2 * Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of the License "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".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
19 #include "upsnotifierutil.h"
21 using namespace UserPromptService;
23 EXPORT_C CPromptData* CPromptData::NewL()
25 Factory function that creates a new, blank CPromptData object.
26 @return A pointer to the new CPromptData object.
29 CPromptData* self = new(ELeave) CPromptData();
33 CPromptData::CPromptData()
40 CPromptData::~CPromptData()
48 void CPromptData::Reset()
50 Frees all internal memory in-case the object is internalised multiple times.
60 iDescriptions.ResetAndDestroy();
63 EXPORT_C void CPromptData::InternalizeL(RReadStream& aStream)
65 Internalizes the prompt data from the specified stream/
66 @param aStream The read stream
70 iClientName.CreateL(aStream, KMaskDesLength16);
71 iVendorName.CreateL(aStream, KMaskDesLength16);
72 aStream >> iClientSid.iId;
73 aStream >> iServerSid.iId;
74 aStream >> iServiceId.iUid;
75 iDestination.CreateL(aStream, KMaskDesLength16);
76 iOpaqueData.CreateL(aStream, KMaskDesLength8);
78 TInt32 count = aStream.ReadUint32L();
80 for (TInt i = 0; i < count; ++i)
82 TInt32 l = aStream.ReadInt32L();
83 HBufC* d = HBufC::NewMaxLC(l);
85 aStream.ReadL(wptr, l);
86 iDescriptions.AppendL(d);
93 EXPORT_C void CPromptData::ExternalizeL(RWriteStream& aStream) const
95 Externalizes the prompt data to the specified stream.
96 @param aStream The write stream.
99 aStream << iClientName;
100 aStream << iVendorName;
101 aStream << iClientSid.iId;
102 aStream << iServerSid.iId;
103 aStream << iServiceId.iUid;
104 aStream << iDestination;
105 aStream << iOpaqueData;
106 TInt count = iDescriptions.Count();
107 aStream.WriteUint32L(count);
109 for (TInt i = 0; i < count; ++i)
111 aStream.WriteInt32L(iDescriptions[i]->Length());
112 aStream.WriteL(*iDescriptions[i]);