diff -r 77415202bfc8 -r fcbbe021d614 connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/ConfirmationQueryNotif.cpp --- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/ConfirmationQueryNotif.cpp Tue Feb 02 00:24:11 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,256 +0,0 @@ -/* -* Copyright (c) 2005 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 CConfirmationQueryNotif. -* -*/ - - -// INCLUDE FILES -#include "ConfirmationQueryNotif.h" -#include "ConfirmationQuery.h" -#include "ConnectionUiUtilitiesCommon.h" -#include "ConnUiUtilsNotif.h" -#include "ConnectionDialogsLogger.h" - -#include -#include - -#include -#include -#include -#include -#include -#include - - -using namespace CMManager; - -// ================= MEMBER FUNCTIONS ======================= - -// --------------------------------------------------------- -// CConfirmationQueryNotif::CConfirmationQueryNotif() -// --------------------------------------------------------- -// -CConfirmationQueryNotif::CConfirmationQueryNotif() -: iConnMethod( 0 ), - iChoice( EMsgQueryCancelled ) - { - } - - -// --------------------------------------------------------- -// CConfirmationQueryNotif* CConfirmationQueryNotif::NewL() -// --------------------------------------------------------- -// -CConfirmationQueryNotif* CConfirmationQueryNotif::NewL( - const TBool aResourceFileResponsible ) - { - CConfirmationQueryNotif* self = new ( ELeave ) CConfirmationQueryNotif(); - CleanupStack::PushL( self ); - self->ConstructL( KResourceFileName, aResourceFileResponsible ); - CleanupStack::Pop(); - - return self; - } - - -// --------------------------------------------------------- -// CConfirmationQueryNotif::~CConfirmationQueryNotif() -// --------------------------------------------------------- -// -CConfirmationQueryNotif::~CConfirmationQueryNotif() - { - if ( iLaunchDialogAsync ) - { - delete iLaunchDialogAsync; - iLaunchDialogAsync = NULL; - } - } - -// --------------------------------------------------------- -// CConfirmationQueryNotif::RegisterL() -// --------------------------------------------------------- -// -CConfirmationQueryNotif::TNotifierInfo CConfirmationQueryNotif::RegisterL() - { - iInfo.iUid = KUidConfirmationQuery; - iInfo.iPriority = ENotifierPriorityHigh; - iInfo.iChannel = KUidConfirmationQuery; - - return iInfo; - } - -// --------------------------------------------------------- -// void CConfirmationQueryNotif::StartL -// --------------------------------------------------------- -// -void CConfirmationQueryNotif::StartL( const TDesC8& aBuffer, - TInt aReplySlot, - const RMessagePtr2& aMessage ) - { - if ( iLaunchDialogAsync ) - { - if ( iLaunchDialogAsync->IsActive() ) - { - // Dialog is already active - aMessage.Complete( KErrServerBusy ); - return; - } - } - - iChoice = EMsgQueryCancelled; - TPckgBuf input; - input.Copy( aBuffer ); - iNoteInfo = input(); - - iReplySlot = aReplySlot; - iMessage = aMessage; - iCancelled = EFalse; - - TCallBack cb( LaunchDialogL, this ); - - if ( !iLaunchDialogAsync ) - { - iLaunchDialogAsync = new( ELeave ) CAsyncCallBack( cb, CActive::EPriorityHigh ); - } - - iLaunchDialogAsync->CallBack(); - } - - -// --------------------------------------------------------- -// void CConfirmationQueryNotif::Cancel() -// --------------------------------------------------------- -// -void CConfirmationQueryNotif::Cancel() - { - CLOG_ENTERFN( "CConfirmationQueryNotif::Cancel" ); - if ( !iCancelled ) - { - iCancelled = ETrue; - if ( !iMessage.IsNull() ) - { - iMessage.Complete( KErrCancel ); - } - - delete iDialog; - iDialog = NULL; - } - - CLOG_LEAVEFN( "CConfirmationQueryNotif::Cancel" ); - } - - -// --------------------------------------------------------- -// void CConfirmationQueryNotif::CompleteL( TInt aStatus ) -// --------------------------------------------------------- -// -void CConfirmationQueryNotif::CompleteL( TInt aStatus ) - { - CLOG_ENTERFN( "CConfirmationQueryNotif::CompleteL" ); - iCancelled = ETrue; - if ( !iMessage.IsNull() ) - { - if ( aStatus == KErrNone ) - { - iMessage.WriteL( iReplySlot, TPckg( iChoice ) ); - } - iMessage.Complete( aStatus ); - } - - Cancel(); - - CLOG_LEAVEFN( "CConfirmationQueryNotif::CompleteL" ); - } - -// --------------------------------------------------------------- -// void CConfirmationQueryNotif::SetSelectedChoiceL( TInt aChoice ) -// ---------------------------------------------------------------- -// -void CConfirmationQueryNotif::SetSelectedChoiceL ( TInt aChoice ) - { - CLOG_ENTERFN( "CConfirmationQueryNotif::SetSelectedChoiceL" ); - iChoice = (TMsgQueryLinkedResults)aChoice; - CLOG_LEAVEFN( "CConfirmationQueryNotif::SetSelectedChoiceL" ); - } - -// --------------------------------------------------------- -// TInt CConfirmationQueryNotif::LaunchDialogL() -// --------------------------------------------------------- -// -TInt CConfirmationQueryNotif::LaunchDialogL( TAny* aObject ) - { - CLOG_ENTERFN( "CCConfirmationQueryNotif::LaunchDialogL" ); - CConfirmationQueryNotif* myself = - static_cast( aObject ); - - myself->iDialog = new ( ELeave ) CConfirmationQuery( myself ); - myself->iDialog->PrepareLC( R_MESSAGE_QUERY ); - - // Create the list box items - RArray choices; - CDesCArrayFlat* array = new (ELeave) CDesCArrayFlat(2); - CleanupStack::PushL( array ); - HBufC* heading = NULL; - HBufC* messageBase = NULL; - HBufC* automatic = NULL; - HBufC* thisTime = NULL; - - automatic = StringLoader::LoadLC( R_QTN_OCC_LIST_CS_DATA_HOME_NW_AUTOMATIC ); - thisTime = StringLoader::LoadLC( R_QTN_OCC_LIST_CS_DATA_HOME_NW_THIS_TIME ); - - if ( myself->iNoteInfo.iNoteId == EConfirmMethodUsageQueryInHomeNetwork ) - { - heading = StringLoader::LoadLC( R_QTN_OCC_PRMPT_CS_DATA_HOME_NW ); - messageBase = StringLoader::LoadLC( R_QTN_OCC_DETAIL_CS_DATA_HOME_NW ); - // the order of the query options depends on the location - choices.Append(EMsgQueryAutomatically); - choices.Append(EMsgQueryThisTime); - array->AppendL( *automatic ); - array->AppendL( *thisTime ); - } - else - { - heading = StringLoader::LoadLC( R_QTN_OCC_PRMPT_CS_DATA_FOREIGN_NW ); - messageBase = StringLoader::LoadLC( R_QTN_OCC_DETAIL_CS_DATA_FOREIGN_NW ); - // the order of the query options depends on the location - choices.Append(EMsgQueryThisTime); - choices.Append(EMsgQueryAutomatically); - array->AppendL( *thisTime ); - array->AppendL( *automatic ); - } - - // Set the dialog heading and message text - myself->iDialog->Heading()->SetTextL(*heading); - myself->iDialog->MessageBox()->SetMessageTextL(messageBase); - CleanupStack::PopAndDestroy( messageBase ); - CleanupStack::PopAndDestroy( heading ); - - // Set the options to the listbox - myself->iDialog->SetChoices(choices); - - myself->iDialog->SetItemTextArray( array ); - myself->iDialog->SetOwnershipType(ELbmOwnsItemArray); // ownership transferred to listbox - myself->iDialog->ListBox()->HandleItemAdditionL(); - - CleanupStack::Pop( thisTime ); - CleanupStack::Pop( automatic ); - CleanupStack::Pop( array ); - myself->iDialog->RunLD(); - - CLOG_LEAVEFN( "CConfirmationQueryNotif::LaunchDialogL" ); - return 0; - } - -// End of File