diff -r 000000000000 -r 84ad3b177aa3 browserui/browser/FavouritesSrc/BrowserBookmarksOrder.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browserui/browser/FavouritesSrc/BrowserBookmarksOrder.cpp Mon Mar 30 12:49:49 2009 +0300 @@ -0,0 +1,133 @@ +/* +* Copyright (c) 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: +* +*/ +#include +#include "BrowserBookmarksOrder.h" +#include "Commonconstants.h" + +_LIT( KBrowserBMOrderDataBegin, "BMOrderDataBegin" ); +_LIT( KBrowserBMOrderDataEnd, "BMOrderDataEnd" ); + + +// --------------------------------------------------------- +// CBrowserBookmarksOrder::NewLC() +// --------------------------------------------------------- +// + +CBrowserBookmarksOrder* CBrowserBookmarksOrder::NewLC() + { + CBrowserBookmarksOrder* order = + new (ELeave) CBrowserBookmarksOrder(); + CleanupStack::PushL(order); + order->ConstructL(); + return order; + } + +// --------------------------------------------------------- +// CBrowserBookmarksOrder::ConstructL() +// --------------------------------------------------------- +// + +void CBrowserBookmarksOrder::ConstructL() + { + iBMOrderArray = new (ELeave) CArrayFixFlat(KGranularityHigh); + } + +CBrowserBookmarksOrder::~CBrowserBookmarksOrder() + { + delete iBMOrderArray; + } + +// --------------------------------------------------------- +// CBrowserBookmarksOrder::InternalizeL +// --------------------------------------------------------- +// + +void CBrowserBookmarksOrder::InternalizeL( RReadStream& aStream ) + { + iBMOrderArray->Reset(); + HBufC* tag = HBufC::NewLC(sizeof (KBrowserBMOrderDataBegin)); + TInt err = 0; + TPtr des = tag->Des(); + + TRAP(err, aStream>>des ); + if ( (err == KErrNone) && (tag->Des() == KBrowserBMOrderDataBegin ) ) + { + TInt count = aStream.ReadInt16L(); + for (TInt i=0; iAppendL(value); + } + else + if (err != KErrEof) + { + User::Leave(err); + } + } + + TRAP(err, aStream>>des ); + if (tag->Des() != KBrowserBMOrderDataEnd) + { + iBMOrderArray->Reset(); + } + } + CleanupStack::PopAndDestroy(tag); + } + +// --------------------------------------------------------- +// CBrowserBookmarksOrder::ExternalizeL +// --------------------------------------------------------- +// + +void CBrowserBookmarksOrder::ExternalizeL( RWriteStream& aStream ) const + { + aStream<Count()); + for (TInt i=0; iCount(); i++) + { + aStream.WriteInt16L((*iBMOrderArray)[i]); + } + aStream<& CBrowserBookmarksOrder::GetBookMarksOrder() + { + return *iBMOrderArray; + } + +// --------------------------------------------------------- +// CBrowserBookmarksOrder::SetBookMarksOrderL +// --------------------------------------------------------- +// + +void CBrowserBookmarksOrder::SetBookMarksOrderL(const CArrayFixFlat& aBookMarksOrder) + { + + iBMOrderArray->Reset(); + if ( aBookMarksOrder.Count() ) + { + iBMOrderArray->AppendL(&(aBookMarksOrder[0]), aBookMarksOrder.Count()); + } + }