diff -r 000000000000 -r ba25891c3a9e ncdengine/provider/protocol/src/ncd_pp_dataentityimpl.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ncdengine/provider/protocol/src/ncd_pp_dataentityimpl.cpp Thu Dec 17 08:51:10 2009 +0200 @@ -0,0 +1,248 @@ +/* +* 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: CNcdPreminetProtocolDataEntityImpl implementation +* +*/ + + +#include "ncd_pp_purchaseoption.h" +#include "ncd_pp_dataentityimpl.h" +#include "ncd_pp_dataentitycontent.h" +#include "ncd_pp_skin.h" +#include "ncd_pp_icon.h" +#include "ncd_pp_download.h" +#include "ncd_cp_query.h" +#include "ncdprotocolutils.h" +#include "catalogsdebug.h" +#include "ncd_cp_detail.h" + +CNcdPreminetProtocolDataEntityImpl* +CNcdPreminetProtocolDataEntityImpl::NewL() + { + CNcdPreminetProtocolDataEntityImpl* self = + new (ELeave) CNcdPreminetProtocolDataEntityImpl; + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + +CNcdPreminetProtocolDataEntityImpl* +CNcdPreminetProtocolDataEntityImpl::NewLC() + { + CNcdPreminetProtocolDataEntityImpl* self = + new (ELeave) CNcdPreminetProtocolDataEntityImpl; + CleanupStack::PushL( self ); + self->ConstructL(); + return self; + } + +void CNcdPreminetProtocolDataEntityImpl::ConstructL() + { + NcdProtocolUtils::AssignEmptyDesL( iId ); + NcdProtocolUtils::AssignEmptyDesL( iTimestamp ); + NcdProtocolUtils::AssignEmptyDesL( iNamespace ); + NcdProtocolUtils::AssignEmptyDesL( iServerUri ); + NcdProtocolUtils::AssignEmptyDesL( iName ); + NcdProtocolUtils::AssignEmptyDesL( iDescription ); + NcdProtocolUtils::AssignEmptyDesL( iLayoutType ); + + } + +CNcdPreminetProtocolDataEntityImpl::~CNcdPreminetProtocolDataEntityImpl() + { + DLTRACEIN(("")); + delete iId; + delete iTimestamp; + delete iNamespace; + delete iServerUri; + delete iName; + delete iDescription; + delete iDisclaimer; + delete iIcon; + + iPurchaseOptions.ResetAndDestroy(); + iScreenshots.ResetAndDestroy(); + iPreviews.ResetAndDestroy(); + + delete iDownloadableContent; + delete iSubscribableContent; + + if( iDetails ) + { + iDetails->ResetAndDestroy(); + } + delete iDetails; + delete iLayoutType; + delete iSkin; + delete iMoreInfo; + } + +TNcdDataEntityType CNcdPreminetProtocolDataEntityImpl::Type() const + { + return iType; + } + +const TDesC& CNcdPreminetProtocolDataEntityImpl::Id() const + { + DASSERT( iId ); + return *iId; + } + +const TDesC& CNcdPreminetProtocolDataEntityImpl::Timestamp() const + { + DASSERT( iTimestamp ); + return *iTimestamp; + } + +const TDesC& CNcdPreminetProtocolDataEntityImpl::Namespace() const + { + DASSERT( iNamespace ); + return *iNamespace; + } + +const TDesC& CNcdPreminetProtocolDataEntityImpl::ServerUri() const + { + DASSERT( iServerUri ); + return *iServerUri; + } + +const TDesC& CNcdPreminetProtocolDataEntityImpl::Name() const + { + DASSERT( iName ); + return *iName; + } + +const TDesC& CNcdPreminetProtocolDataEntityImpl::Description() const + { + DASSERT( iDescription ); + return *iDescription; + } + +const MNcdConfigurationProtocolQuery* +CNcdPreminetProtocolDataEntityImpl::Disclaimer() const + { + return iDisclaimer; + } + +const MNcdPreminetProtocolDownload* +CNcdPreminetProtocolDataEntityImpl::HelpInformation() const + { + return 0; + //return iHelpInformation; + } + +const MNcdPreminetProtocolDataEntityContent* +CNcdPreminetProtocolDataEntityImpl::DownloadableContent() const + { + return iDownloadableContent; + } + +const MNcdPreminetProtocolDataEntityContent* +CNcdPreminetProtocolDataEntityImpl::SubscribableContent() const + { + return iSubscribableContent; + } + + +const MNcdPreminetProtocolIcon* +CNcdPreminetProtocolDataEntityImpl::Icon() const + { + return iIcon; + } + +TInt CNcdPreminetProtocolDataEntityImpl::PurchaseOptionCount() const + { + return iPurchaseOptions.Count(); + } + +const MNcdPreminetProtocolPurchaseOption& +CNcdPreminetProtocolDataEntityImpl::PurchaseOptionL(TInt aIndex) const + { + DASSERT( aIndex >= 0 && aIndex < iPurchaseOptions.Count() ); + if (aIndex < 0 || aIndex >= iPurchaseOptions.Count()) + { + User::Leave(KErrArgument); + } + return *iPurchaseOptions[aIndex]; + } + +const MNcdPreminetProtocolSkin* +CNcdPreminetProtocolDataEntityImpl::Skin() const + { + return iSkin; + } + +const TDesC& CNcdPreminetProtocolDataEntityImpl::LayoutType() const + { + return *iLayoutType; + } + +TInt CNcdPreminetProtocolDataEntityImpl::ScreenshotCount() const + { + return iScreenshots.Count(); + } + +const MNcdPreminetProtocolDownload& +CNcdPreminetProtocolDataEntityImpl::ScreenshotL(TInt aIndex) const + { + if ( aIndex < 0 || aIndex >= iScreenshots.Count() ) + { + User::Leave(KErrArgument); + } + return *iScreenshots[aIndex]; + } + +TInt CNcdPreminetProtocolDataEntityImpl::PreviewCount() const + { + return iPreviews.Count(); + } + +const MNcdPreminetProtocolDownload& +CNcdPreminetProtocolDataEntityImpl::PreviewL(TInt aIndex) const + { + if ( aIndex < 0 || aIndex >= iPreviews.Count() ) + { + User::Leave(KErrArgument); + } + return *iPreviews[aIndex]; + } + +const MNcdConfigurationProtocolQuery* +CNcdPreminetProtocolDataEntityImpl::MoreInfo() const + { + return iMoreInfo; + } + +TInt CNcdPreminetProtocolDataEntityImpl::DetailCount() const + { + if( iDetails ) + { + return iDetails->Count(); + } + else + { + return 0; + } + } + +const MNcdConfigurationProtocolDetail& +CNcdPreminetProtocolDataEntityImpl::DetailL( TInt aIndex ) const + { + if( aIndex < 0 || !iDetails || aIndex >= iDetails->Count() ) + { + User::Leave( KErrArgument ); + } + return *iDetails->At( aIndex ); + }