diff -r 000000000000 -r e686773b3f54 phonebookui/Phonebook/BCardEng/src/CBCardExportProperty.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonebookui/Phonebook/BCardEng/src/CBCardExportProperty.cpp Tue Feb 02 10:12:17 2010 +0200 @@ -0,0 +1,95 @@ +/* +* Copyright (c) 2002 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: +* BCard export property. +* +*/ + + +// INCLUDE FILES +#include "CBCardExportProperty.h" +#include +#include +#include + +// ==================== MEMBER FUNCTIONS ==================== + +inline CBCardExportProperty::CBCardExportProperty() + { + } + +inline void CBCardExportProperty::ConstructL( + TResourceReader& aReader, const CPbkFieldsInfo& aFieldsInfo) + { + HBufC* name16 = aReader.ReadHBufCL(); + CleanupStack::PushL(name16); + HBufC8* name = HBufC8::NewLC(name16->Length()); + TPtr8 namePtr = name->Des(); + namePtr.Copy(*name16); + iName = name; + CleanupStack::Pop(name); + CleanupStack::PopAndDestroy(name16); + + iStorageType = TPbkVersitStorageType(aReader.ReadInt8()); + + TInt count=aReader.ReadInt16(); + while (count-- > 0) + { + const TPbkFieldId fieldId = TPbkFieldId(aReader.ReadInt8()); + const TPbkFieldLocation location = TPbkFieldLocation(aReader.ReadInt8()); + + CPbkFieldInfo* info = aFieldsInfo.Find(fieldId, location); + if (info) + { + User::LeaveIfError(iFieldInfos.Append(info)); + } + } + } + +CBCardExportProperty* CBCardExportProperty::NewLC( + TResourceReader& aReader, const CPbkFieldsInfo& aFieldsInfo) + { + CBCardExportProperty* self = new(ELeave) CBCardExportProperty; + CleanupStack::PushL(self); + self->ConstructL(aReader, aFieldsInfo); + return self; + } + +CBCardExportProperty::~CBCardExportProperty() + { + delete iName; + iFieldInfos.Close(); + } + +const TDesC8& CBCardExportProperty::Name() const + { + return *iName; + } + +TPbkVersitStorageType CBCardExportProperty::StorageType() const + { + return iStorageType; + } + +TInt CBCardExportProperty::InfoCount() const + { + return iFieldInfos.Count(); + } + +const CPbkFieldInfo* CBCardExportProperty::InfoAt(TInt aIndex) const + { + return iFieldInfos[aIndex]; + } + +// End of File