diff -r 000000000000 -r 32704c33136d ncdengine/provider/protocol/src/ncd_pp_purchaseoptionimpl.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ncdengine/provider/protocol/src/ncd_pp_purchaseoptionimpl.cpp Tue Jan 26 12:06:03 2010 +0200 @@ -0,0 +1,177 @@ +/* +* 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: CNcdEntityRefParser implementation +* +*/ + + +#include "ncd_pp_purchaseoptionimpl.h" +#include "ncd_pp_subscriptiondetailsimpl.h" +#include "ncd_pp_download.h" +#include "ncdprotocolutils.h" +#include "ncdprotocoltypes.h" + +CNcdPreminetProtocolPurchaseOptionImpl* +CNcdPreminetProtocolPurchaseOptionImpl::NewL() + { + CNcdPreminetProtocolPurchaseOptionImpl* self = + new (ELeave) CNcdPreminetProtocolPurchaseOptionImpl; + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + +CNcdPreminetProtocolPurchaseOptionImpl* +CNcdPreminetProtocolPurchaseOptionImpl::NewLC() + { + CNcdPreminetProtocolPurchaseOptionImpl* self = + new (ELeave) CNcdPreminetProtocolPurchaseOptionImpl; + CleanupStack::PushL( self ); + self->ConstructL(); + return self; + } + +void CNcdPreminetProtocolPurchaseOptionImpl::ConstructL() + { + NcdProtocolUtils::AssignEmptyDesL( iName ); + NcdProtocolUtils::AssignEmptyDesL( iId ); + NcdProtocolUtils::AssignEmptyDesL( iDependencyId ); + NcdProtocolUtils::AssignEmptyDesL( iDescription ); + NcdProtocolUtils::AssignEmptyDesL( iPriceText ); + NcdProtocolUtils::AssignEmptyDesL( iPriceCurrency ); + NcdProtocolUtils::AssignEmptyDesL( iParentSubscriptionEntityId ); + NcdProtocolUtils::AssignEmptyDesL( iParentSubscriptionPurchaseOptionId ); + + iSubscriptionDetails = CNcdPreminetProtocolSubscriptionDetailsImpl::NewL(); + + iRequirePurchaseProcess = EFalse; + } + +CNcdPreminetProtocolPurchaseOptionImpl::CNcdPreminetProtocolPurchaseOptionImpl() +: CBase(), iPurchase(ETypeNotSet), iFree(EFalse), iRequirePurchaseProcess(EFalse), + iCanBeGift(ETrue), iPrice(0), iCreditPrice(0) + { + } + +CNcdPreminetProtocolPurchaseOptionImpl::~CNcdPreminetProtocolPurchaseOptionImpl() + { + delete iName; + delete iId; + delete iDependencyId; + delete iDescription; + delete iPriceText; + delete iPriceCurrency; + iDownloadDetails.ResetAndDestroy(); + delete iParentSubscriptionEntityId; + delete iParentSubscriptionPurchaseOptionId; + delete iSubscriptionDetails; + } + +const TDesC& CNcdPreminetProtocolPurchaseOptionImpl::Name() const + { + return *iName; + } + +const TDesC& CNcdPreminetProtocolPurchaseOptionImpl::Id() const + { + return *iId; + } + +const TDesC& CNcdPreminetProtocolPurchaseOptionImpl::DependencyId() const + { + return *iDependencyId; + } + +TNcdPurchaseType CNcdPreminetProtocolPurchaseOptionImpl::Purchase() const + { + return iPurchase; + } + +TBool CNcdPreminetProtocolPurchaseOptionImpl::IsFree() const + { + return iFree; + } + +TBool CNcdPreminetProtocolPurchaseOptionImpl::RequirePurchaseProcess() const + { + return iRequirePurchaseProcess; + } + +TBool CNcdPreminetProtocolPurchaseOptionImpl::CanBeGift() const + { + return iCanBeGift; + } + +const TDesC& CNcdPreminetProtocolPurchaseOptionImpl::Description() const + { + return *iDescription; + } + +const MNcdPreminetProtocolDownload& + CNcdPreminetProtocolPurchaseOptionImpl::DownloadDetailsL(TInt aIndex) const + { + DASSERT( aIndex >= 0 && aIndex < iDownloadDetails.Count() ); + if ( aIndex < 0 || aIndex >= iDownloadDetails.Count() ) + { + User::Leave(KErrArgument); + } + return *iDownloadDetails[aIndex]; + } + +TInt CNcdPreminetProtocolPurchaseOptionImpl::DownloadDetailsCount() const + { + return iDownloadDetails.Count(); + } + +// subscription details +const MNcdPreminetProtocolSubscriptionDetails* +CNcdPreminetProtocolPurchaseOptionImpl::SubscriptionDetails() const + { + return iSubscriptionDetails; + } + +const TDesC& +CNcdPreminetProtocolPurchaseOptionImpl::ParentSubscriptionEntityId() const + { + return *iParentSubscriptionEntityId; + } + +const TDesC& +CNcdPreminetProtocolPurchaseOptionImpl::ParentSubscriptionPurchaseOptionId() const + { + return *iParentSubscriptionPurchaseOptionId; + } + + +const TDesC& CNcdPreminetProtocolPurchaseOptionImpl::PriceText() const + { + return *iPriceText; + } + +TReal32 CNcdPreminetProtocolPurchaseOptionImpl::Price() const + { + return iPrice; + } + +const TDesC& CNcdPreminetProtocolPurchaseOptionImpl::PriceCurrency() const + { + return *iPriceCurrency; + } + +TReal32 CNcdPreminetProtocolPurchaseOptionImpl::CreditPrice() const + { + return iCreditPrice; + } +