diff -r 000000000000 -r e686773b3f54 phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/src/CCCAppCommLauncherPbkCmd.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/src/CCCAppCommLauncherPbkCmd.cpp Tue Feb 02 10:12:17 2010 +0200 @@ -0,0 +1,890 @@ +/* +* 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: Phonebook2 command execution handler +* +*/ + + +#include "CCCAppCommLauncherPbkCmd.h" +#include "ccappcommlauncherplugin.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +_LIT(KPbk2CommandsDllResFileName, "Pbk2Commands.rsc"); +_LIT(KPbk2UiControlsDllResFileName, "Pbk2UiControls.rsc"); +_LIT(KPbk2CommonUiDllResFileName, "Pbk2CommonUi.rsc" ); + +/// Unnamed namespace for local definitions +namespace + { + const TInt KNumberOfContacts = 1; + } // namespace + +// --------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::CCCAppCommLauncherPbkCmd +// --------------------------------------------------------------------------- +// +CCCAppCommLauncherPbkCmd::CCCAppCommLauncherPbkCmd( CCCAppCommLauncherPlugin& aPlugin ): + iCommandsResourceFile( *CCoeEnv::Static() ), + iUiControlsResourceFile( *CCoeEnv::Static() ), + iCommonUiResourceFile( *CCoeEnv::Static() ), + iPlugin( aPlugin ), + iCommandInProgress( EFalse ) + { + } + + +// --------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::ConstructL +// --------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::ConstructL() + { + PreparePbk2ApplicationServicesL(); + iCommandHandler = CPbk2CommandHandler::NewL(); + } + + +// --------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::NewL +// --------------------------------------------------------------------------- +// +CCCAppCommLauncherPbkCmd* CCCAppCommLauncherPbkCmd::NewL( CCCAppCommLauncherPlugin& aPlugin ) + { + CCCAppCommLauncherPbkCmd* self = CCCAppCommLauncherPbkCmd::NewLC( aPlugin ); + CleanupStack::Pop( self ); + return self; + } + + +// --------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::NewLC +// --------------------------------------------------------------------------- +// +CCCAppCommLauncherPbkCmd* CCCAppCommLauncherPbkCmd::NewLC( CCCAppCommLauncherPlugin& aPlugin ) + { + CCCAppCommLauncherPbkCmd* self = new( ELeave ) CCCAppCommLauncherPbkCmd( aPlugin ); + CleanupStack::PushL( self ); + self->ConstructL(); + return self; + } + + +// --------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::~CCCAppCommLauncherPbkCmd +// --------------------------------------------------------------------------- +// +CCCAppCommLauncherPbkCmd::~CCCAppCommLauncherPbkCmd() + { + if ( iCommand ) + { + iCommand->ResetUiControl( *this ); + } + + delete iStoreContact; + delete iCommandHandler; + delete iLinks; + delete iOperation; + + // Close contact store + if( iContactStore ) + { + iContactStore->Close( *this ); + } + + Release( iAppServices ); + + iCommandsResourceFile.Close(); + iUiControlsResourceFile.Close(); + iCommonUiResourceFile.Close(); + } + +// --------------------------------------------------------------------------- +// CCCAppCommLauncherMenuHandler::PreparePbk2ApplicationServicesL +// --------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::PreparePbk2ApplicationServicesL() + { + iCommandsResourceFile.OpenL( + KPbk2RomFileDrive, KDC_RESOURCE_FILES_DIR, KPbk2CommandsDllResFileName ); + iUiControlsResourceFile.OpenL( + KPbk2RomFileDrive, KDC_RESOURCE_FILES_DIR, KPbk2UiControlsDllResFileName ); + iCommonUiResourceFile.OpenL( + KPbk2RomFileDrive, KDC_RESOURCE_FILES_DIR, KPbk2CommonUiDllResFileName ); + + iAppServices = CPbk2ApplicationServices::InstanceL(); + }; + +// --------------------------------------------------------------------------- +// CCCAppCommLauncherMenuHandler::ExecutePbk2CmdAssignDefault +// --------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::ExecutePbk2CmdAssignDefaultL( const TDesC8& aContact ) + { + iCommandInProgress = ETrue; + + iPbk2CommandId = EPbk2CmdDefaultSettings; + + if( iLinks ) + { + delete iLinks; + iLinks = NULL; + } + + iLinks = iAppServices->ContactManager().CreateLinksLC( aContact ); + + if ( iLinks && iLinks->Count() > 0 ) + { + // operation completes by StoreReady, + // StoreUnavailable or HandleStoreEventL + (iLinks->At( 0 )).ContactStore().OpenL( *this ); + } + + CleanupStack::Pop( 1 ); // iLinks (deleted in destructor) + } + +// --------------------------------------------------------------------------- +// CCCAppCommLauncherMenuHandler::ExecutePbk2CmdViewImageL +// --------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::ExecutePbk2CmdViewImageL( const TDesC8& aContact ) + { + iCommandInProgress = ETrue; + + iPbk2CommandId = EPbk2CmdViewImage; + + if( iLinks ) + { + delete iLinks; + iLinks = NULL; + } + + iLinks = iAppServices->ContactManager().CreateLinksLC( aContact ); + + if ( iLinks && iLinks->Count() > 0 ) + { + // operation completes by StoreReady, + // StoreUnavailable or HandleStoreEventL + (iLinks->At( 0 )).ContactStore().OpenL( *this ); + } + + CleanupStack::Pop( 1 ); // iLinks (deleted in destructor) + } + +// --------------------------------------------------------------------------- +// CCCAppCommLauncherMenuHandler::ExecutePbk2CmdChangeImageL +// --------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::ExecutePbk2CmdChangeImageL( const TDesC8& aContact ) + { + iCommandInProgress = ETrue; + + iPbk2CommandId = EPbk2CmdChangeImage; + + if( iLinks ) + { + delete iLinks; + iLinks = NULL; + } + + iLinks = iAppServices->ContactManager().CreateLinksLC( aContact ); + + if ( iLinks && iLinks->Count() > 0 ) + { + // operation completes by StoreReady, + // StoreUnavailable or HandleStoreEventL + (iLinks->At( 0 )).ContactStore().OpenL( *this ); + } + + CleanupStack::Pop( 1 ); // iLinks (deleted in destructor) + } + +// --------------------------------------------------------------------------- +// CCCAppCommLauncherMenuHandler::ExecutePbk2CmdRemoveImageL +// --------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::ExecutePbk2CmdRemoveImageL( const TDesC8& aContact ) + { + iCommandInProgress = ETrue; + + iPbk2CommandId = EPbk2CmdRemoveImage; + + if( iLinks ) + { + delete iLinks; + iLinks = NULL; + } + + iLinks = iAppServices->ContactManager().CreateLinksLC( aContact ); + + if ( iLinks && iLinks->Count() > 0 ) + { + // operation completes by StoreReady, + // StoreUnavailable or HandleStoreEventL + (iLinks->At( 0 )).ContactStore().OpenL( *this ); + } + + CleanupStack::Pop( 1 ); // iLinks (deleted in destructor) + } + +// --------------------------------------------------------------------------- +// CCCAppCommLauncherMenuHandler::ExecutePbk2CmdAddImageL +// --------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::ExecutePbk2CmdAddImageL( const TDesC8& aContact ) + { + iCommandInProgress = ETrue; + + iPbk2CommandId = EPbk2CmdAddImage; + + if( iLinks ) + { + delete iLinks; + iLinks = NULL; + } + + iLinks = iAppServices->ContactManager().CreateLinksLC( aContact ); + + if ( iLinks && iLinks->Count() > 0 ) + { + // operation completes by StoreReady, + // StoreUnavailable or HandleStoreEventL + (iLinks->At( 0 )).ContactStore().OpenL( *this ); + } + + CleanupStack::Pop( 1 ); // iLinks (deleted in destructor) + } + +// --------------------------------------------------------------------------- +// CCCAppCommLauncherMenuHandler::ExecutePbk2CmdShowOnMapL +// --------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::ExecutePbk2CmdShowMapL( const HBufC8* aContact, + TPbk2CommandId aCommandId ) + { + iCommandInProgress = ETrue; + + iPbk2CommandId = aCommandId; + + if( iLinks ) + { + delete iLinks; + iLinks = NULL; + } + + iLinks = iAppServices->ContactManager().CreateLinksLC( *aContact ); + + if ( iLinks->Count() > 0 ) + { + // operation completes by StoreReady, + // StoreUnavailable or HandleStoreEventL + (iLinks->At( 0 )).ContactStore().OpenL( *this ); + } + + CleanupStack::Pop( 1 ); // iLinks (deleted in destructor) + } + +// --------------------------------------------------------------------------- +// CCCAppCommLauncherMenuHandler::ExecutePbk2CmdDeleteL +// --------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::ExecutePbk2CmdDeleteL( const TDesC8& aContact ) + { + iCommandInProgress = ETrue; + + iPbk2CommandId = EPbk2CmdDeleteMe; + + if( iLinks ) + { + delete iLinks; + iLinks = NULL; + } + + iLinks = iAppServices->ContactManager().CreateLinksLC( aContact ); + + if ( iLinks->Count() > 0 ) + { + // operation completes by StoreReady, + // StoreUnavailable or HandleStoreEventL + ( iLinks->At( 0 ) ).ContactStore().OpenL( *this ); + } + + CleanupStack::Pop( 1 ); // iLinks (deleted in destructor) + } + +// --------------------------------------------------------------------------- +// CCCAppCommLauncherMenuHandler::HandleError +// --------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::HandleError( TInt aError ) + { + CCoeEnv::Static()->HandleError( aError ); + } +// --------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::StoreReady +// --------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::StoreReady( + MVPbkContactStore& aContactStore ) + { + iContactStore = &aContactStore; + + // operation completes by VPbkSingleContactOperationComplete + // or VPbkSingleContactOperationFailed + if( iOperation ) + { + delete iOperation; + iOperation = NULL; + } + + TRAPD( err,iOperation = iAppServices->ContactManager().RetrieveContactL( iLinks->At( 0 ), *this ) ;) + if( err != KErrNone ) + { + HandleError( err ); + } + } + +// --------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::StoreUnavailable +// --------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::StoreUnavailable( + MVPbkContactStore& /*aContactStore*/, + TInt /*aReason*/) + { + } + +// --------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::HandleStoreEventL +// --------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::HandleStoreEventL( + MVPbkContactStore& /*aContactStore*/, + TVPbkContactStoreEvent /*aStoreEvent*/) + { + } + +// --------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::VPbkSingleContactOperationComplete +// --------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::VPbkSingleContactOperationComplete( + MVPbkContactOperationBase& /*aOperation*/, + MVPbkStoreContact* aContact ) + { + delete iStoreContact; + iStoreContact = aContact; + + if( !iCommandHandler ) + { + TRAPD(err, iCommandHandler = CPbk2CommandHandler::NewL();) + if( err != KErrNone ) + { + HandleError( err ); + return; + } + } + + TRAPD(err, iCommandHandler->HandleCommandL( + iPbk2CommandId, *this, NULL );) + if( err != KErrNone ) + { + HandleError( err ); + } + } + +// --------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::VPbkSingleContactOperationFailed +// --------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::VPbkSingleContactOperationFailed( + MVPbkContactOperationBase& /*aOperation*/, + TInt /*aError*/ ) + { + + } + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::ParentControl +// -------------------------------------------------------------------------- +// +MPbk2ContactUiControl* CCCAppCommLauncherPbkCmd::ParentControl() const +{ + // Contact info control has no parent control + return NULL; +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::NumberOfContacts +// -------------------------------------------------------------------------- +// +TInt CCCAppCommLauncherPbkCmd::NumberOfContacts() const +{ + return KNumberOfContacts; +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::FocusedContactL +// -------------------------------------------------------------------------- +// +const MVPbkBaseContact* CCCAppCommLauncherPbkCmd::FocusedContactL() const +{ + return STATIC_CAST(MVPbkBaseContact*, iStoreContact); +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::FocusedViewContactL +// -------------------------------------------------------------------------- +// +const MVPbkViewContact* CCCAppCommLauncherPbkCmd::FocusedViewContactL() const +{ + return NULL; +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::FocusedStoreContact +// -------------------------------------------------------------------------- +// +const MVPbkStoreContact* CCCAppCommLauncherPbkCmd::FocusedStoreContact() const +{ + return iStoreContact; +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::SetFocusedContactL +// -------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::SetFocusedContactL( + const MVPbkBaseContact& aContact) +{ + if (!iStoreContact->IsSame(aContact)) + { + MVPbkContactLink* link = aContact.CreateLinkLC(); + HBufC8* packed = link->PackLC(); + + // Update the CCA parameter contact data + HBufC16* link16 = HBufC16::NewLC(packed->Length()); + link16->Des().Copy(packed->Des()); + iPlugin.AppEngine()->Parameter().SetContactDataL(link16->Des()); + iPlugin.AppEngine()->CCAppContactEventL(); + CleanupStack::PopAndDestroy(3); // link16, packed, link + + // Update the commlauncher the UI contact data + iPlugin.ContactHandler().RefetchContactL(); + iPlugin.Container().ContactsChangedL(); + } +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::SetFocusedContactL +// -------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::SetFocusedContactL( + const MVPbkContactBookmark& /*aContactBookmark*/) +{ + // Do nothing +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::SetFocusedContactL +// -------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::SetFocusedContactL( + const MVPbkContactLink& /*aContactLink*/) +{ + // Do nothing +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::FocusedContactIndex +// -------------------------------------------------------------------------- +// +TInt CCCAppCommLauncherPbkCmd::FocusedContactIndex() const +{ + return KErrNotFound; +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::SetFocusedContactIndexL +// -------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::SetFocusedContactIndexL(TInt /*aIndex*/) +{ + // Do nothing +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::NumberOfContactFields +// -------------------------------------------------------------------------- +// +TInt CCCAppCommLauncherPbkCmd::NumberOfContactFields() const +{ + TInt cnt = KErrNotSupported; + return cnt; +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::FocusedField +// -------------------------------------------------------------------------- +// +const MVPbkBaseContactField* CCCAppCommLauncherPbkCmd::FocusedField() const +{ + return NULL; +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::FocusedFieldIndex +// -------------------------------------------------------------------------- +// +TInt CCCAppCommLauncherPbkCmd::FocusedFieldIndex() const +{ + return 0; +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::SetFocusedFieldIndex +// -------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::SetFocusedFieldIndex(TInt /*aIndex*/) +{ + // Do nothing +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::ContactsMarked +// -------------------------------------------------------------------------- +// +TBool CCCAppCommLauncherPbkCmd::ContactsMarked() const +{ + // This control does not support contacts marking + return EFalse; +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::SelectedContactsL +// -------------------------------------------------------------------------- +// +MVPbkContactLinkArray* CCCAppCommLauncherPbkCmd::SelectedContactsL() const +{ + // No selection support in contact info control + return NULL; +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::SelectedContactsOrFocusedContactL +// -------------------------------------------------------------------------- +// +MVPbkContactLinkArray* +CCCAppCommLauncherPbkCmd::SelectedContactsOrFocusedContactL() const +{ + CVPbkContactLinkArray* array = CVPbkContactLinkArray::NewLC(); + + if ( iStoreContact ) + { + MVPbkContactLink* link = iStoreContact->CreateLinkLC(); + array->AppendL(link); + CleanupStack::Pop(); // link + } + CleanupStack::Pop(); // array + + return array; +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::SelectedContactsIteratorL +// -------------------------------------------------------------------------- +// +MPbk2ContactLinkIterator* +CCCAppCommLauncherPbkCmd::SelectedContactsIteratorL() const +{ + // No selection support in contact info control + return NULL; +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::SelectedContactStoresL +// -------------------------------------------------------------------------- +// +CArrayPtr* +CCCAppCommLauncherPbkCmd::SelectedContactStoresL() const +{ + // This is not a contact store control + return NULL; +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::ClearMarks +// -------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::ClearMarks() +{ + // Do nothing +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::SetSelectedContactL +// -------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::SetSelectedContactL( + TInt /*aIndex*/, + TBool /*aSelected*/) +{ + // Not supported in Contact Info +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::SetSelectedContactL +// -------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::SetSelectedContactL( + const MVPbkContactBookmark& /*aContactBookmark*/, + TBool /*aSelected*/) +{ + // Not supported +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::SetSelectedContactL +// -------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::SetSelectedContactL( + const MVPbkContactLink& /*aContactLink*/, + TBool /*aSelected*/) +{ + // Not supported +} + + + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::DynInitMenuPaneL +// -------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::DynInitMenuPaneL( + TInt /*aResourceId*/, + CEikMenuPane* /*aMenuPane*/) const +{ + // Nothing to do +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::ProcessCommandL +// -------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::ProcessCommandL(TInt /*aCommandId*/) const +{ + // Nothing to do +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::UpdateAfterCommandExecution +// -------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::UpdateAfterCommandExecution() +{ + if( iCommand ) + { + /// Reset command pointer, command has completed + iCommand->ResetUiControl(*this); + iCommand = NULL; + iCommandInProgress = EFalse; + } +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::GetMenuFilteringFlagsL +// -------------------------------------------------------------------------- +// +TInt CCCAppCommLauncherPbkCmd::GetMenuFilteringFlagsL() const +{ + TInt ret = KPbk2MenuFilteringFlagsNone; + return ret; +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::ControlStateL +// -------------------------------------------------------------------------- +// +CPbk2ViewState* CCCAppCommLauncherPbkCmd::ControlStateL() const +{ + return NULL; +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::RestoreControlStateL +// -------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::RestoreControlStateL( + CPbk2ViewState* /*aState*/) +{ + // Do nothing +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::FindTextL +// -------------------------------------------------------------------------- +// +const TDesC& CCCAppCommLauncherPbkCmd::FindTextL() +{ + // No find box in this control + return KNullDesC; +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::ResetFindL +// -------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::ResetFindL() +{ + // Do nothing +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::ShowThumbnail +// -------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::ShowThumbnail() +{ + // Do nothing +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::HideThumbnail +// -------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::HideThumbnail() +{ + // Do nothing +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::SetBlank +// -------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::SetBlank(TBool /*aBlank*/) +{ + // This control does not support blanking +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::RegisterCommand +// -------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::RegisterCommand(MPbk2Command* aCommand) +{ + iCommand = aCommand; +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::SetTextL +// -------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::SetTextL(const TDesC& /*aText*/) +{ + // Do nothing +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::ContactUiControlExtension +// -------------------------------------------------------------------------- +// +TAny* CCCAppCommLauncherPbkCmd::ContactUiControlExtension(TUid aExtensionUid ) + { + if( aExtensionUid == KMPbk2ContactUiControlExtension2Uid ) + { + return static_cast( this ); + } + + return NULL; + } + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::CommandItemCount +// -------------------------------------------------------------------------- +// +TInt CCCAppCommLauncherPbkCmd::CommandItemCount() const +{ + return 0; // No command items. +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::CommandItemAt +// -------------------------------------------------------------------------- +// +const MPbk2UiControlCmdItem& CCCAppCommLauncherPbkCmd::CommandItemAt( + TInt /*aIndex*/) const +{ + // There are no command items in this control + __ASSERT_ALWAYS(EFalse, User::Panic(_L("Pbk2"), 4)); + MPbk2UiControlCmdItem* item = NULL; // For compiler only + return *item; // For compiler only +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::FocusedCommandItem +// -------------------------------------------------------------------------- +// +const MPbk2UiControlCmdItem* CCCAppCommLauncherPbkCmd::FocusedCommandItem() const +{ + return NULL; +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::DeleteCommandItemL +// -------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::DeleteCommandItemL(TInt /*aIndex*/) +{ + // Do nothing +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::AddCommandItemL +// -------------------------------------------------------------------------- +// +void CCCAppCommLauncherPbkCmd::AddCommandItemL( + MPbk2UiControlCmdItem* /*aCommand*/, TInt /*aIndex*/) +{ + //Do nothing, since there shouldn't be any command items in this state. +} + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::IsPbk2CommandRunning +// -------------------------------------------------------------------------- +// +TBool CCCAppCommLauncherPbkCmd::IsPbk2CommandRunning() + { + return iCommandInProgress; + } + +// -------------------------------------------------------------------------- +// CCCAppCommLauncherPbkCmd::ApplicationServices +// -------------------------------------------------------------------------- +// +CPbk2ApplicationServices& CCCAppCommLauncherPbkCmd::ApplicationServices() const + { + return *iAppServices; + }