diff -r 6369bfd1b60d -r 08b5eae9f9ff upnpharvester/common/cmlibrary/src/cmfillrulecontainer.cpp --- a/upnpharvester/common/cmlibrary/src/cmfillrulecontainer.cpp Mon Nov 01 13:44:24 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,182 +0,0 @@ -/* -* Copyright (c) 2006-2007 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: Capsulating fill rules -* -*/ - - - - - - -#include -#include -#include "cmfillrulecontainer.h" -#include "cmfillrule.h" -#include "msdebug.h" - -// CONSTANTS -const TInt KFillRuleArrayGranularity = 16; - -// ======== LOCAL FUNCTIONS ======== -// --------------------------------------------------------------------------- -// NewL -// --------------------------------------------------------------------------- -// -EXPORT_C CCmFillRuleContainer* CCmFillRuleContainer::NewL() - { - TRACE(Print(_L("[COMMON]\t CCmFillRuleContainer::NewL() start"))); - CCmFillRuleContainer* self = CCmFillRuleContainer::NewLC(); - CleanupStack::Pop( self ); - TRACE(Print(_L("[COMMON]\t CCmFillRuleContainer::NewL() end"))); - return self; - } - -// --------------------------------------------------------------------------- -// NewLC -// --------------------------------------------------------------------------- -// -EXPORT_C CCmFillRuleContainer* CCmFillRuleContainer::NewLC() - { - TRACE(Print(_L("[COMMON]\t CCmFillRuleContainer::NewLC() start"))); - CCmFillRuleContainer* self = new ( ELeave ) CCmFillRuleContainer(); - CleanupStack::PushL( self ); - self->ConstructL(); - TRACE(Print(_L("[COMMON]\t CCmFillRuleContainer::NewLC() end"))); - return self; - } - -// --------------------------------------------------------------------------- -// Destructor -// --------------------------------------------------------------------------- -// -EXPORT_C CCmFillRuleContainer::~CCmFillRuleContainer() - { - TRACE(Print(_L("[COMMON]\t CCmFillRuleContainer::~CCmFillRuleContainer()\ - start"))); - iFillRuleArray.ResetAndDestroy(); - iFillRuleArray.Close(); - TRACE(Print(_L("[COMMON]\t CCmFillRuleContainer::~CCmFillRuleContainer()\ - end"))); - } - -// --------------------------------------------------------------------------- -// Add new rule into FillRule -// --------------------------------------------------------------------------- -// -EXPORT_C TInt CCmFillRuleContainer::AddFillRuleL( CCmFillRule* aRule ) - { - iFillRuleArray.AppendL( aRule ); - TInt index = iFillRuleArray.Count() - 1; - return index; - } - -// --------------------------------------------------------------------------- -// Deletes fill rule with the given index -// --------------------------------------------------------------------------- -// -EXPORT_C void CCmFillRuleContainer::DeleteFillRule( TInt aIndex ) - { - if( iFillRuleArray.Count() > aIndex ) - { - delete iFillRuleArray[aIndex]; - iFillRuleArray.Remove(aIndex); - iFillRuleArray.Compress(); - } - } - -// --------------------------------------------------------------------------- -// Get rule -// --------------------------------------------------------------------------- -// -EXPORT_C CCmFillRule* CCmFillRuleContainer::FillRule( TInt aIndex ) const - { - return iFillRuleArray[aIndex]; - } - -// --------------------------------------------------------------------------- -// Returns count of rules -// --------------------------------------------------------------------------- -// -EXPORT_C TInt CCmFillRuleContainer::FillRuleCount() const - { - return iFillRuleArray.Count(); - } - -// --------------------------------------------------------------------------- -// CCmFillRuleContainer::ExternalizeL -// Writes the content to stream. -// (other items were commented in a header). -// --------------------------------------------------------------------------- -// -EXPORT_C void CCmFillRuleContainer::ExternalizeL( - RWriteStream& aStream ) const - { - // Let's write the count of fill rules to stream first - aStream.WriteInt16L( iFillRuleArray.Count() ); - for ( TInt index = 0; index < iFillRuleArray.Count(); index++ ) - { - CCmFillRule* rule = iFillRuleArray[index]; - // Then the object itself - rule->ExternalizeL( aStream ); - } - } - -// --------------------------------------------------------------------------- -// CCmFillRuleContainer::InternalizeL -// Fills container information from stream -// (other items were commented in a header). -// --------------------------------------------------------------------------- -// -EXPORT_C void CCmFillRuleContainer::InternalizeL( RReadStream& aStream ) - { - // Then internalize the objects - if ( iFillRuleArray.Count() > KErrNone ) - { - iFillRuleArray.ResetAndDestroy(); - } - // First the count of fill rules - TInt ruleCount = aStream.ReadInt16L(); - - // Then internalize them from the stream one by one - for ( TInt index = 0; index < ruleCount; index++ ) - { - CCmFillRule* newItem = CCmFillRule::NewL(); - CleanupStack::PushL( newItem ); - newItem->InternalizeL( aStream ); - AddFillRuleL( newItem ); - CleanupStack::Pop( newItem ); - newItem = NULL; - } - } - -// --------------------------------------------------------------------------- -// Default constructor -// --------------------------------------------------------------------------- -// -CCmFillRuleContainer::CCmFillRuleContainer() : - iFillRuleArray( KFillRuleArrayGranularity ) - { - } - -// --------------------------------------------------------------------------- -// ConstructL -// --------------------------------------------------------------------------- -// -void CCmFillRuleContainer::ConstructL() - { - } - -// End of file -