diff -r 000000000000 -r ba25891c3a9e ncdengine/provider/protocol/src/ncd_pp_dataentitycontentimpl.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ncdengine/provider/protocol/src/ncd_pp_dataentitycontentimpl.cpp Thu Dec 17 08:51:10 2009 +0200 @@ -0,0 +1,209 @@ +/* +* Copyright (c) 2006 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: CNcdPreminetProtocolDataEntityContentImpl implementation +* +*/ + + +#include +#include "ncd_pp_dataentitycontentimpl.h" +#include "ncd_pp_entitydependency.h" +#include "ncdprotocoltypes.h" +#include "ncdprotocolutils.h" + +CNcdPreminetProtocolDataEntityContentImpl* +CNcdPreminetProtocolDataEntityContentImpl::NewL() + { + CNcdPreminetProtocolDataEntityContentImpl* self = + new (ELeave) CNcdPreminetProtocolDataEntityContentImpl; + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + +CNcdPreminetProtocolDataEntityContentImpl* +CNcdPreminetProtocolDataEntityContentImpl::NewLC() + { + CNcdPreminetProtocolDataEntityContentImpl* self = + new (ELeave) CNcdPreminetProtocolDataEntityContentImpl; + CleanupStack::PushL( self ); + self->ConstructL(); + return self; + } + +CNcdPreminetProtocolDataEntityContentImpl::~CNcdPreminetProtocolDataEntityContentImpl() + { + iContentPurposes.ResetAndDestroy(); + + iEntityDependencies.ResetAndDestroy(); + + delete iTimestamp; + iTimestamp = 0; + + delete iMime; + iMime = 0; + + delete iId; + iId = 0; + + delete iVersion; + iVersion = 0; + } + +CNcdPreminetProtocolDataEntityContentImpl::CNcdPreminetProtocolDataEntityContentImpl() +: CBase(), + iSubscriptionType(ENotSubscribable), + iChildViewable(EFalse), + iChildSeparatelyPurchasable(EFalse) + { + } + +void CNcdPreminetProtocolDataEntityContentImpl::ConstructL() + { + NcdProtocolUtils::AssignEmptyDesL( iTimestamp ); + NcdProtocolUtils::AssignEmptyDesL( iId ); + NcdProtocolUtils::AssignEmptyDesL( iMime ); + NcdProtocolUtils::AssignEmptyDesL( iVersion ); + } + +/** + * @see MNcdPreminetProtocolDataEntityContent + */ +const TDesC& CNcdPreminetProtocolDataEntityContentImpl::Timestamp() const + { + DASSERT((iTimestamp)); + return *iTimestamp; + } + +/** + * @see MNcdPreminetProtocolDataEntityContent + */ +TInt CNcdPreminetProtocolDataEntityContentImpl::Size() const + { + return iSize; + } + +/** + * @see MNcdPreminetProtocolDataEntityContent + */ +const TDesC& CNcdPreminetProtocolDataEntityContentImpl::Mime() const + { + DASSERT((iMime)); + return *iMime; + } + +/** + * @see MNcdPreminetProtocolDataEntityContent + */ +const TDesC& CNcdPreminetProtocolDataEntityContentImpl::Id() const + { + DASSERT((iId)); + return *iId; + } + +/** + * @see MNcdPreminetProtocolDataEntityContent + */ +const TDesC& CNcdPreminetProtocolDataEntityContentImpl::Version() const + { + DASSERT((iVersion)); + return *iVersion; + } + +/** + * @see MNcdPreminetProtocolDataEntityContent + */ +TInt CNcdPreminetProtocolDataEntityContentImpl::ValidUntilDelta() const + { + return iValidUntilDelta; + } + +/** + * @see MNcdPreminetProtocolDataEntityContent + */ +TBool CNcdPreminetProtocolDataEntityContentImpl::ValidUntilAutoUpdate() const + { + return iValidUntilAutoUpdate; + } + +/** + * @see MNcdPreminetProtocolDataEntityContent + */ +TInt CNcdPreminetProtocolDataEntityContentImpl::ContentPurposeCount() const + { + return iContentPurposes.Count(); + } + +/** + * @see MNcdPreminetProtocolDataEntityContent + */ +const TDesC& +CNcdPreminetProtocolDataEntityContentImpl::ContentPurposeL(TInt aIndex) const + { + DASSERT( aIndex >= 0 && aIndex < iContentPurposes.Count() ); + if ( aIndex < 0 || aIndex >= iContentPurposes.Count() ) + { + User::Leave(KErrArgument); + } + return *iContentPurposes[aIndex]; + } + +/** + * @see MNcdPreminetProtocolDataEntityContent + */ +TInt CNcdPreminetProtocolDataEntityContentImpl::EntityDependencyCount() const + { + return iEntityDependencies.Count(); + } + +/** + * @see MNcdPreminetProtocolDataEntityContent + */ +const MNcdPreminetProtocolEntityDependency& +CNcdPreminetProtocolDataEntityContentImpl::EntityDependencyL(TInt aIndex) const + { + DASSERT( aIndex >= 0 && aIndex < iEntityDependencies.Count() ); + if ( aIndex < 0 || aIndex >= iEntityDependencies.Count() ) + { + User::Leave(KErrArgument); + } + return *iEntityDependencies[aIndex]; + } + +/** + * @see MNcdPreminetProtocolDataEntityContent + */ +TNcdSubscriptionType +CNcdPreminetProtocolDataEntityContentImpl::SubscriptionType() const + { + return iSubscriptionType; + } + +/** + * @see MNcdPreminetProtocolDataEntityContent + */ +TBool CNcdPreminetProtocolDataEntityContentImpl::ChildViewable() const + { + return iChildViewable; + } + +/** + * @see MNcdPreminetProtocolDataEntityContent + */ +TBool CNcdPreminetProtocolDataEntityContentImpl::ChildSeparatelyPurchasable() const + { + return iChildSeparatelyPurchasable; + } +