diff -r 000000000000 -r ba25891c3a9e ncdengine/provider/protocol/src/ncd_cp_clientconfigurationimpl.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ncdengine/provider/protocol/src/ncd_cp_clientconfigurationimpl.cpp Thu Dec 17 08:51:10 2009 +0200 @@ -0,0 +1,110 @@ +/* +* 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: +* +*/ + + +#include "ncd_cp_clientconfigurationimpl.h" +#include "ncdprotocolutils.h" +#include "catalogsdebug.h" +#include "ncd_cp_cookie.h" +#include "ncd_cp_detailimpl.h" + +CNcdConfigurationProtocolClientConfigurationImpl* CNcdConfigurationProtocolClientConfigurationImpl::NewL() + { + CNcdConfigurationProtocolClientConfigurationImpl* self = new(ELeave) + CNcdConfigurationProtocolClientConfigurationImpl(); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + +CNcdConfigurationProtocolClientConfigurationImpl::CNcdConfigurationProtocolClientConfigurationImpl() +: iCookies( 0 ), + iDetails( 0 ) +{ +} + +void CNcdConfigurationProtocolClientConfigurationImpl::ConstructL() + { + } + +CNcdConfigurationProtocolClientConfigurationImpl::~CNcdConfigurationProtocolClientConfigurationImpl() + { + if( iCookies ) + { + iCookies->ResetAndDestroy(); + delete iCookies; + iCookies = 0; + } + if( iDetails ) + { + iDetails->ResetAndDestroy(); + delete iDetails; + iDetails = 0; + } + } + +TInt CNcdConfigurationProtocolClientConfigurationImpl::ExpirationDelta() const + { + return iExpirationDelta; + } + +TInt CNcdConfigurationProtocolClientConfigurationImpl::CookieCount() const + { + if( iCookies ) + { + return iCookies->Count(); + } + else + { + return 0; + } + } + +MNcdConfigurationProtocolCookie& CNcdConfigurationProtocolClientConfigurationImpl::CookieL( TInt aIndex ) const + { + DASSERT( aIndex >= 0 && aIndex < iCookies->Count() ); + if ( aIndex < 0 || aIndex >= iCookies->Count() ) + { + User::Leave( KErrArgument ); + } + + return *( iCookies->At( aIndex )); + } + +TInt CNcdConfigurationProtocolClientConfigurationImpl::DetailCount() const + { + if( iDetails ) + { + return iDetails->Count(); + } + else + { + return 0; + } + } + +const MNcdConfigurationProtocolDetail& CNcdConfigurationProtocolClientConfigurationImpl::DetailL( TInt aIndex ) const + { + DASSERT( aIndex >= 0 && aIndex < iDetails->Count() ); + if ( aIndex < 0 || aIndex >= iDetails->Count() ) + { + User::Leave( KErrArgument ); + } + + return *( iDetails->At( aIndex )); + }