diff -r 641f389e9157 -r a71299154b21 authenticationservices/authenticationserver/source/common/arrayutils.h --- a/authenticationservices/authenticationserver/source/common/arrayutils.h Tue Aug 31 17:00:08 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,78 +0,0 @@ -/* -* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of the License "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: -* Utility functions for streaming arrays. -* -*/ - - -/** - @file - @released - @internalComponent -*/ - -#ifndef __ARRAYUTILS_H_ -#define __ARRAYUTILS_H_ - -#include - -namespace AuthServer -{ - -///////////////////////////////////////////////////////////////////// -// RPointerArray utilities -///////////////////////////////////////////////////////////////////// - -template -void ExternalizePointerArrayL(const RPointerArray& aArray, RWriteStream& aStream); - -template -void InternalizePointerArrayL(RPointerArray& aArray, RReadStream& aStream); - -///////////////////////////////////////////////////////////////////// -// RArray utilities -///////////////////////////////////////////////////////////////////// - -template -void ExternalizeArrayL(const RArray& aArray, RWriteStream& aStream); - -template -void InternalizeArrayL(RArray& aArray, RReadStream& aStream); - -///////////////////////////////////////////////////////////////////// -// Traits classes - internally required by RPointerArray functions -///////////////////////////////////////////////////////////////////// - -template -class TTraits - { -public: - static T* ReadFromStreamLC(RReadStream& aStream) { return T::NewLC(aStream); } - static void WriteToStreamL(const T& aItem, RWriteStream& aStream) { aStream << aItem; } - }; - -// Specialisation for HBufs -template <> -class TTraits - { -public: - static HBufC16* ReadFromStreamLC(RReadStream& aStream) { return HBufC16::NewLC(aStream, KMaxTInt); } - static void WriteToStreamL(const HBufC16& aItem, RWriteStream& aStream) { aStream << aItem; } - }; - -#include "arrayutils.inl" -} // namespace AuthServer - -#endif // __ARRAYUTILS_H_