diff -r 25fce757be94 -r e02eb84a14d2 usbuis/usbuinotif/src/usbuinotifotgwarning.cpp --- a/usbuis/usbuinotif/src/usbuinotifotgwarning.cpp Tue Aug 31 16:13:57 2010 +0300 +++ b/usbuis/usbuinotif/src/usbuinotifotgwarning.cpp Wed Sep 01 12:20:49 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2007, 2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2007-2010 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" @@ -17,15 +17,17 @@ // INCLUDE FILES -#include -#include -#include "usbuinotifotgwarning.h" // Own class definition -#include "usbuinotifdebug.h" // Debugging macros +#include // Eikon environment +#include +#include // BAFL utils (for language file) +#include // Localisation stringloader +#include // for cover display support +#include // Own resources +#include // Dialog index for cover UI +#include "usbuinotifotgwarning.h" // Own class definition +#include "usbuinotifdebug.h" // Debugging macros -// CONSTANTS -/** granularity for allocating warning strings */ -const TInt KUsbOtgWarningGranularity = 1; // ================= MEMBER FUNCTIONS ========================================= @@ -52,7 +54,7 @@ // ---------------------------------------------------------------------------- // CUsbUiNotifOtgWarning::CUsbUiNotifOtgWarning() : - iStringIds(NULL), iNote( NULL) + iStringIds( KUsbUiNotifOtgGeneralNoteGranularity), iNote( NULL) { FLOG(_L("[USBUINOTIF]\t CUsbUiNotifOtgWarning::constructor()")); } @@ -67,7 +69,6 @@ //Make sure that the request is completed. Note that inside the destructor, //this virtual function call is to local CUsbUiNotifOtgWarning::Cancel, //not to any possibly derived class implementation. - delete iStringIds; Cancel(); FLOG(_L("[USBUINOTIF]\t CUsbUiNotifOtgWarning::destructor completed()")); } @@ -75,9 +76,7 @@ void CUsbUiNotifOtgWarning::ConstructL() { CUSBUINotifierBase::ConstructL(); - iStringIds = new (ELeave) CDesCArrayFlat(KUsbOtgWarningGranularity); - _LIT(KPartiallySupported, "txt_usb_info_partially_supported_usb_device_connec"); - iStringIds->AppendL( KPartiallySupported); + iStringIds.AppendL( R_USB_OTG_WARNING_PARTIAL_SUPPORT); } // ---------------------------------------------------------------------------- @@ -106,11 +105,10 @@ if (iNote) { FLOG(_L("[USBUINOTIF]\t CUsbUiNotifOtgWarning::Cancel - delete iNote")); - iNote->Close(); delete iNote; iNote = NULL; } - CUSBUINotifierBase::Cancel(); + CompleteMessage( KErrNone ); FLOG(_L("[USBUINOTIF]\t CUsbUiNotifOtgWarning::Cancel() completed")); } @@ -121,73 +119,67 @@ // This notifier is synchronous so this function is not used. // ---------------------------------------------------------------------------- // -void CUsbUiNotifOtgWarning::StartDialogL(const TDesC8& aBuffer, +void CUsbUiNotifOtgWarning::GetParamsL(const TDesC8& aBuffer, TInt aReplySlot, const RMessagePtr2& aMessage) { - FLOG(_L("[USBUINOTIF]\t CUsbUiNotifOtgWarning::StartDialogL")); - if (iReplySlot != 0 || iNeedToCompleteMessage) + FLOG(_L("[USBUINOTIF]\t CUsbUiNotifOtgWarning::GetParamsL")); + if (iNote || iReplySlot != 0 || iNeedToCompleteMessage) { User::Leave( KErrInUse ); } - - InitializeTextResolver(); - - iMessage = aMessage; - iNeedToCompleteMessage = ETrue; - iReplySlot = aReplySlot; // Get parameters // TPckgC pckg( iNoteId ); pckg.Set( aBuffer ); iNoteId = pckg(); - FTRACE(FPrint(_L("[USBUINOTIF]\t CUsbUiNotifOtgWarning::GetParamsL iNoteId: %d"), iNoteId )); - if ( iNoteId < 0 || iNoteId >= iStringIds->MdcaCount()) + + FTRACE(FPrint(_L("[USBUINOTIF]\t CUsbUiNotifOtgWarning::GetParamsL iNoteId: %d"), iNoteId )); + if ( iNoteId < 0 || iNoteId >= iStringIds.Count() ) { User::Leave( KErrArgument); - } - if (iNote) - { - delete iNote; - iNote = NULL; - } - - iNote = CHbDeviceMessageBoxSymbian::NewL( - CHbDeviceMessageBoxSymbian::EWarning, this); - HBufC* stringHolder = HbTextResolverSymbian::LoadLC(iStringIds->MdcaPoint(iNoteId) ); - iNote->SetTextL(*stringHolder); - iNote->ShowL(); - CleanupStack::PopAndDestroy( stringHolder ); - - FLOG(_L("[USBUINOTIF]\t CUsbUiNotifOtgWarning::StartDialogL completed")); + } + + iMessage = aMessage; + iNeedToCompleteMessage = ETrue; + iReplySlot = aReplySlot; + + SetActive(); + iStatus = KRequestPending; + TRequestStatus* stat = &iStatus; + User::RequestComplete( stat, KErrNone ); + FLOG(_L("[USBUINOTIF]\t CUsbUiNotifOtgWarning::GetParamsL() completed")); } // ---------------------------------------------------------------------------- -// Call back function to observe device message box closing. +// CUsbUiNotifOtgWarning::RunL +// Mandatory for Active Objects. This notifier is synchronous +// so this function is not used. // ---------------------------------------------------------------------------- // -void CUsbUiNotifOtgWarning::MessageBoxClosed( - const CHbDeviceMessageBoxSymbian* /*aMessageBox*/, - CHbDeviceMessageBoxSymbian::TButtonId aButton) +void CUsbUiNotifOtgWarning::RunL() { - FLOG(_L("[USBUINOTIF]\t CUsbUiNotifMSMMError::MessageBoxClosed")); - int returnValue = KErrNone; - - //iQuery will be deleted in Cancel. If Cancel is not called, it will be - //deleted next time the query is shown. + FLOG(_L("[USBUINOTIF]\t CUsbUiNotifOtgWarning::RunL")); - if (aButton == CHbDeviceMessageBoxSymbian::EAcceptButton) + // Create confirmation note + // + HBufC* str = StringLoader::LoadL( iStringIds[iNoteId] ); + CleanupStack::PushL( str ); + iNote = new (ELeave) CAknWarningNote( ETrue ); + + iNote->SetTimeout( CAknNoteDialog::ENoTimeout ); + + if (iCoverDisplaySupported) { - returnValue = KErrNone; - } - else - { - returnValue = KErrCancel; + iNote->PublishDialogL( iNoteId, KUsbUiNotifOtgWarning ); } - CompleteMessage( returnValue ); - - FLOG(_L("[USBUINOTIF]\t CUsbUiNotifMSMMError::MessageBoxClosed completed")); + TInt t = iNote->ExecuteLD( *str ); + iNote = NULL; + CleanupStack::PopAndDestroy( str ); + + CompleteMessage( KErrNone ); + FLOG(_L("[USBUINOTIF]\t CUsbUiNotifOtgWarning::RunL() completed")); } // End of File