diff -r 2b7283837edb -r 3104fc151679 uiservicetab/vimpstdetailsviewplugin/src/cvimpstdetailsviewfactory.cpp --- a/uiservicetab/vimpstdetailsviewplugin/src/cvimpstdetailsviewfactory.cpp Thu Aug 19 09:41:53 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,165 +0,0 @@ -/* -* Copyright (c) 2008 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: Implementation of detailsview plugin control container - * -*/ -// settings - -#include -#include -#include -#include -#include - -#include "cvimpstdetailsviewpluginfactory.h" -#include "cvimpstdetailsviewplugin.h" - -#include "uiservicetabtracer.h" -// meco service uid -#define KMECOIMPLEMENTATIONUID 0x20012423 -// --------------------------------------------------------------------------- -// CVIMPSTDetailsViewPluginFactory::NewL -// --------------------------------------------------------------------------- -// -CVIMPSTDetailsViewPluginFactory* CVIMPSTDetailsViewPluginFactory::NewL() - { - CVIMPSTDetailsViewPluginFactory* self = new ( ELeave ) CVIMPSTDetailsViewPluginFactory(); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop();//self, do not pass the parameter to pop since this is an M Class.. - return self; - } - -// --------------------------------------------------------------------------- -// CVIMPSTDetailsViewPluginFactory::CVIMPSTDetailsViewPluginFactory -// --------------------------------------------------------------------------- -// -CVIMPSTDetailsViewPluginFactory::CVIMPSTDetailsViewPluginFactory(): - iServiceId( 0 ) - { - } - -// --------------------------------------------------------------------------- -// CVIMPSTDetailsViewPluginFactory::ConstructL -// --------------------------------------------------------------------------- -// -void CVIMPSTDetailsViewPluginFactory::ConstructL() - { - TRACER_AUTO; - - RProperty::Define(KMeCoPropertyUid, KMeCoXSPDetailsServiceIdKey, RProperty::EInt, - ECapabilityReadUserData ,ECapabilityWriteUserData); - - ReadServiceIdL(); - if(iServiceIds.Count() == 0) - { - User::Leave(KErrArgument); - } - - } -// --------------------------------------------------------------------------- -// CVIMPSTDetailsViewPluginFactory::~CVIMPSTDetailsViewPluginFactory -// --------------------------------------------------------------------------- -// -CVIMPSTDetailsViewPluginFactory::~CVIMPSTDetailsViewPluginFactory() - { - iServiceIds.Reset(); - iServiceIds.Close(); - RProperty::Set(KMeCoPropertyUid, KMeCoXSPDetailsServiceIdKey, 0 ); //reset to zero - } - -// --------------------------------------------------------------------------- -// CVIMPSTDetailsViewPluginFactory::TabViewCount -// --------------------------------------------------------------------------- -// -TInt CVIMPSTDetailsViewPluginFactory::TabViewCount() - { - TRACER_AUTO; - // read the service id from RProperty - RProperty::Get(KMeCoPropertyUid, KMeCoXSPDetailsServiceIdKey, iServiceId ); - TInt returnVal = 0; - if( iServiceId <= 0 ) - { - TRACE("iservice <=0"); - return iServiceIds.Count(); - } - else - { - TRACE("iservice > 0"); - iServiceIds.Reset(); - iServiceIds.Append( iServiceId ); - returnVal = 1; - } - return returnVal; - } - -// --------------------------------------------------------------------------- -// CVIMPSTDetailsViewPluginFactory::CreateTabViewL -// --------------------------------------------------------------------------- -// -CCCAppViewPluginBase* CVIMPSTDetailsViewPluginFactory::CreateTabViewL( TInt aIndex ) - { - TRACER_AUTO; - - TRACE("aIndex = %d", aIndex); - CCCAppViewPluginBase* viewPluginBase = NULL; - if( aIndex < iServiceIds.Count() && aIndex >= 0 ) - { - TRACE("creating view aIndex = %d", aIndex); - viewPluginBase = CVIMPSTDetailsViewPlugin::NewL( iServiceIds[aIndex]); - TRACE("view created"); - } - else - { - User::Leave(KErrArgument); - } - - return viewPluginBase; - } - -// --------------------------------------------------------------------------- -// CVIMPSTDetailsViewPluginFactory::ReadServiceIdL -// --------------------------------------------------------------------------- -// -TInt CVIMPSTDetailsViewPluginFactory::ReadServiceIdL() - { - TRACER_AUTO; - CSPSettings* settings = CSPSettings::NewLC(); - iServiceIds.Reset(); - ///////////////////////Get Service Id//////////////// - RArray services; - CleanupClosePushL( services ); - settings->FindServiceIdsL( services ); - const TInt serviceCount = services.Count(); - for ( TInt i( 0 ); i < serviceCount; i++ ) - { - TInt refContactUid = KErrNotFound; - CSPProperty* property = CSPProperty::NewLC(); - settings->FindPropertyL( services[i],EPropertyContactViewPluginId,*property ); - if ( property ) - { - property->GetValue( refContactUid ); - } - CleanupStack::PopAndDestroy( property ); - if ( (TUid::Uid( refContactUid ) == TUid::Uid( KMECOIMPLEMENTATIONUID )) - || (TUid::Uid( refContactUid ) == TUid::Uid( 0x20007B6D ) ) - || (TUid::Uid( refContactUid ) == TUid::Uid( 0x2002B334 ))) - { - iServiceIds.Append( services[i] ); - } - } - CleanupStack::PopAndDestroy( &services ); - CleanupStack::PopAndDestroy( settings ); - return iServiceIds.Count(); - }