--- a/btobexprofiles/obexserviceman/utils/src/obexutilsdialog.cpp Tue Aug 31 15:25:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,472 +0,0 @@
-/*
-* Copyright (c) 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"
-* 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 FILES
-#include "obexutilsdialog.h"
-#include "obexutilsdialogtimer.h"
-#include "obexutilsdebug.h"
-#include <hbdevicenotificationdialogsymbian.h>
-#include <btservices/bluetoothdevicedialogs.h>
-#include <hbtextresolversymbian.h>
-
-_LIT(KSendingDialog, "com.nokia.hb.btdevicedialog/1.0");
-_LIT(KCurrentFileIndex,"currentFileIdx" );
-_LIT(KTotalFileCount, "totalFilesCnt");
-_LIT(KDestinationName, "destinationName");
-_LIT(KFileName,"fileName");
-_LIT(KFileSizeTxt,"fileSzTxt");
-_LIT(KFileSize,"fileSz");
-_LIT(KProgressValue,"progressValue");
-
-_LIT(KSendingCancelledText, "txt_bt_dpophead_sending_cancelled");
-_LIT(KDeviceText,"txt_bt_dpopinfo_sent_to_1");
-
-const TInt KMaxDescriptionLength = 256;
-const TInt KMinStringSize = 10;
-const TInt KMinFileSize = 1024;
-
-_LIT(KLocFileName, "btdialogs_");
-_LIT(KPath, "z:/resource/qt/translations/");
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-CObexUtilsDialog::CObexUtilsDialog( MObexUtilsDialogObserver* aObserverPtr ) :
- iDialogObserverPtr( aObserverPtr )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CObexUtilsDialog::NewL
-// -----------------------------------------------------------------------------
-EXPORT_C CObexUtilsDialog* CObexUtilsDialog::NewL( MObexUtilsDialogObserver* aObserverPtr )
- {
- CObexUtilsDialog* self = new ( ELeave ) CObexUtilsDialog( aObserverPtr );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return( self );
- }
-
-// -----------------------------------------------------------------------------
-// CObexUtilsDialog::NewLC
-// -----------------------------------------------------------------------------
-EXPORT_C CObexUtilsDialog* CObexUtilsDialog::NewLC( MObexUtilsDialogObserver* aObserverPtr )
- {
- CObexUtilsDialog* self = new ( ELeave ) CObexUtilsDialog( aObserverPtr );
- CleanupStack::PushL( self );
- self->ConstructL();
- return( self );
- }
-
-// -----------------------------------------------------------------------------
-// CObexUtilsDialog::ConstructL
-// Symbian OS default constructor can leave.
-// -----------------------------------------------------------------------------
-void CObexUtilsDialog::ConstructL()
- {
- FLOG(_L("[OBEXUTILS]\t CObexUtilsDialog::ConstructL()"));
-
- if (!iDialogObserverPtr)
- {
- // The observer pointer was not given as an argument.
- //
- User::Leave(KErrArgument);
- }
- FLOG(_L("[OBEXUTILS]\t CObexUtilsDialog::ConstructL() completed"));
- }
-
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-EXPORT_C CObexUtilsDialog::~CObexUtilsDialog()
- {
- FLOG(_L("[OBEXUTILS]\t CObexUtilsDialog::~CObexUtilsDialog()"));
- iDeviceName.Close();
- delete iWaitDialog;
- delete iProgressDialog;
- delete iObexDialogTimer;
- delete iMessageBox;
- FLOG(_L("[OBEXUTILS]\t CObexUtilsDialog::~CObexUtilsDialog() completed"));
- }
-
-// -----------------------------------------------------------------------------
-// CObexUtilsDialog::LaunchProgressDialogL
-// -----------------------------------------------------------------------------
-EXPORT_C void CObexUtilsDialog::LaunchProgressDialogL(
- MObexUtilsProgressObserver* aObserverPtr, TInt aFileCount,
- const TDesC& aDeviceName, TInt aTimeoutValue )
- {
- FLOG(_L("[OBEXUTILS]\t CObexUtilsDialog::LaunchProgressDialogL()"));
-
- TBuf<KMinStringSize> key;
- if ( aObserverPtr )
- {
- // The observerPtr was given, so store it and start a timer
- //
- iProgressObserverPtr = aObserverPtr;
-
- if ( !iObexDialogTimer )
- {
- iObexDialogTimer = CObexUtilsDialogTimer::NewL( this );
- }
- iObexDialogTimer->Cancel();
- iObexDialogTimer->SetTimeout( aTimeoutValue );
- }
-
- iFileCount = aFileCount;
- iDeviceName.Close();
- iDeviceName.CreateL(aDeviceName);
- iProgressDialog = CHbDeviceDialogSymbian::NewL();
-
- CHbSymbianVariantMap* map = CHbSymbianVariantMap::NewL();
- CleanupStack::PushL(map);
- TInt data = TBluetoothDialogParams::ESend;
- key.Num(TBluetoothDialogParams::EDialogType);
- AddDataL( map, key, &data, CHbSymbianVariant::EInt );
- User::LeaveIfError(iProgressDialog->Show(KSendingDialog(),*map,this));
- CleanupStack::PopAndDestroy(map);
-
- if ( iProgressObserverPtr )
- {
- iObexDialogTimer->Tickle();
- }
-
- FLOG(_L("[OBEXUTILS]\t CObexUtilsDialog::LaunchProgressDialogL() completed"));
- }
-
-
-EXPORT_C void CObexUtilsDialog::UpdateProgressNoteL( TInt aFileSize,TInt aFileIndex, const TDesC& aFileName )
- {
- FLOG(_L("[OBEXUTILS]\t CObexUtilsDialog::UpdateProgressNoteL()"));
- HBufC* key = HBufC::NewL(KMaxDescriptionLength);
- CleanupStack::PushL(key);
-
- CHbSymbianVariantMap* map = CHbSymbianVariantMap::NewL();
- CleanupStack::PushL(map);
-
- iFileIndex = aFileIndex+1;
- key->Des().Copy(KCurrentFileIndex());
- AddDataL( map, *key, &iFileIndex, CHbSymbianVariant::EInt );
-
- key->Des().Copy(KTotalFileCount());
- AddDataL( map, *key, &iFileCount, CHbSymbianVariant::EInt );
-
- key->Des().Copy(KDestinationName());
- AddDataL( map, *key, &iDeviceName, CHbSymbianVariant::EDes );
-
- key->Des().Copy(KFileName());
- AddDataL( map, *key, &aFileName, CHbSymbianVariant::EDes );
-
- // todo: localiation is needed for code below:
- HBufC* value = HBufC::NewL(KMaxDescriptionLength);
- CleanupStack::PushL(value);
- key->Des().Copy(KFileSizeTxt());
- value->Des().Zero();
- if(aFileSize < KMinFileSize)
- {
- value->Des().AppendNum(aFileSize);
- value->Des().Append(_L(" Bytes"));
- }
- else
- {
- TInt filesize = aFileSize/KMinFileSize;
- value->Des().AppendNum(filesize);
- value->Des().Append(_L(" KB"));
- }
- AddDataL( map, *key, value, CHbSymbianVariant::EDes );
- CleanupStack::PopAndDestroy( value );
-
- key->Des().Copy(KFileSize());
- AddDataL( map, *key, &aFileSize, CHbSymbianVariant::EInt );
- TInt ret = iProgressDialog->Update(*map);
- CleanupStack::PopAndDestroy(map);
- CleanupStack::PopAndDestroy(key);
- FLOG(_L("[OBEXUTILS]\t CObexUtilsDialog::UpdateProgressNoteL()Completed"));
- }
-
-// -----------------------------------------------------------------------------
-// CObexUtilsDialog::LaunchWaitDialogL
-// -----------------------------------------------------------------------------
-EXPORT_C void CObexUtilsDialog::LaunchWaitDialogL( const TDesC& aDisplayText )
- {
- FLOG(_L("[OBEXUTILS]\t CObexUtilsDialog::LaunchWaitDialogL()"));
-
- if ( iWaitDialog || iProgressDialog )
- {
- // Allow only one dialog at a time
- //
- User::Leave( KErrInUse );
- }
- iWaitDialog = CHbDeviceProgressDialogSymbian::NewL(CHbDeviceProgressDialogSymbian::EWaitDialog,this);
- iWaitDialog->SetTextL(aDisplayText);
- iWaitDialog->ShowL();
-
- FLOG(_L("[OBEXUTILS]\t CObexUtilsDialog::LaunchWaitDialogL() completed"));
- }
-
-// -----------------------------------------------------------------------------
-// CObexUtilsDialog::CancelWaitDialogL
-// -----------------------------------------------------------------------------
-EXPORT_C void CObexUtilsDialog::CancelWaitDialog()
- {
- FLOG(_L("[OBEXUTILS]\t CObexUtilsDialog::CancelWaitDialogL()"));
-
- if( iWaitDialog )
- {
- iWaitDialog->Close();
- delete iWaitDialog;
- iWaitDialog = NULL;
- }
-
- FLOG(_L("[OBEXUTILS]\t CObexUtilsDialog::CancelWaitDialogL() completed"));
- }
-
-// -----------------------------------------------------------------------------
-// CObexUtilsDialog::CancelProgressDialogL
-// -----------------------------------------------------------------------------
-EXPORT_C void CObexUtilsDialog::CancelProgressDialog()
- {
- FLOG(_L("[OBEXUTILS]\t CObexUtilsDialog::CancelProgressDialogL()"));
-
- if( iProgressDialog )
- {
- iProgressDialog->Cancel();
- delete iProgressDialog;
- iProgressDialog = NULL;
- delete iObexDialogTimer;
- iObexDialogTimer = NULL;
- }
-
- FLOG(_L("[OBEXUTILS]\t CObexUtilsDialog::CancelProgressDialogL() completed"));
- }
-
-// -----------------------------------------------------------------------------
-// CObexUtilsDialog::UpdateProgressDialogL
-// -----------------------------------------------------------------------------
-EXPORT_C void CObexUtilsDialog::UpdateProgressDialogL( TInt aProgressValue )
- {
- FLOG(_L("[OBEXUTILS]\t CObexUtilsDialog::UpdateProgressDialogL()"));
-
- if ( iProgressDialog )
- {
- HBufC* key = HBufC::NewL(KMaxDescriptionLength);
- CleanupStack::PushL(key);
-
- CHbSymbianVariantMap* map = CHbSymbianVariantMap::NewL();
- CleanupStack::PushL(map);
-
- key->Des().Copy(KProgressValue());
- AddDataL( map, *key, &aProgressValue, CHbSymbianVariant::EInt );
-
- HBufC* value = HBufC::NewL(KMaxDescriptionLength);
- CleanupStack::PushL(value);
- key->Des().Copy(KCurrentFileIndex());
- value->Des().AppendNum(iFileIndex);
- AddDataL( map, *key, value, CHbSymbianVariant::EDes );
- CleanupStack::PopAndDestroy(value);
-
- TInt ret = iProgressDialog->Update(*map);
-
- CleanupStack::PopAndDestroy(map);
- CleanupStack::PopAndDestroy(key);
- }
-
- FLOG(_L("[OBEXUTILS]\t CObexUtilsDialog::UpdateProgressDialogL() completed"));
- }
-
-// -----------------------------------------------------------------------------
-// CObexUtilsDialog::UpdateProgressDialog
-// -----------------------------------------------------------------------------
-void CObexUtilsDialog::UpdateProgressDialog()
- {
- FLOG(_L("[OBEXUTILS]\t CObexUtilsDialog::UpdateProgressDialog()"));
-
- TRAPD( ignoredError, UpdateProgressDialogL(
- iProgressObserverPtr->GetProgressStatus()) );
-
- if (ignoredError != KErrNone)
- {
- FLOG(_L("Ignore this error"));
- }
-
- if ( iObexDialogTimer )
- {
- iObexDialogTimer->Tickle();
- }
-
- FLOG(_L("[OBEXUTILS]\t CObexUtilsDialog::UpdateProgressDialog() completed"));
- }
-
-// -----------------------------------------------------------------------------
-// CObexUtilsDialog::LaunchQueryDialogL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CObexUtilsDialog::LaunchQueryDialogL( const TDesC& aConfirmText )
- {
- FLOG(_L("[OBEXUTILS]\t CObexUtilsDialog::LaunchQueryDialogL()"));
- if ( iMessageBox )
- {
- //todo: Already one dialog is displayed, currently not supported for
- //multiple dialogs at the same time.
- User::Leave( KErrGeneral );
- }
- iMessageBox = CreateAndShowMessageBoxL( CHbDeviceMessageBoxSymbian::EQuestion,
- aConfirmText, this, 0 );
- }
-
-
-// -----------------------------------------------------------------------------
-// CObexUtilsUiDialog::ShowErrorNoteL
-// -----------------------------------------------------------------------------
-EXPORT_C void CObexUtilsDialog::ShowErrorNoteL( const TDesC& aTextId )
- {
- FLOG(_L("[OBEXUTILS]\t CObexUtilsUiDialog::ShowErrorNoteL"));
- if ( iMessageBox )
- {
- //todo: Already one dialog is displayed, currently not supported for
- //multiple dialogs at the same time.
- User::Leave( KErrGeneral );
- }
- iMessageBox = CreateAndShowMessageBoxL( CHbDeviceMessageBoxSymbian::EWarning,
- aTextId, this, 0 );
- FLOG(_L("[OBEXUTILS]\t CObexUtilsUiDialog::ShowErrorNoteL completed"));
- }
-
-// -----------------------------------------------------------------------------
-// CObexUtilsUiDialog::ShowInformationNoteL
-// -----------------------------------------------------------------------------
-EXPORT_C void CObexUtilsDialog::ShowInformationNoteL( const TDesC& aTextId )
- {
- FLOG(_L("[OBEXUTILS]\t CObexUtilsUiDialog::ShowInformationNoteL"));
- if ( iMessageBox )
- {
- //todo: Already one dialog is displayed, currently not supported for
- //multiple dialogs at the same time.
- User::Leave( KErrGeneral );
- }
- iMessageBox = CreateAndShowMessageBoxL( CHbDeviceMessageBoxSymbian::EInformation,
- aTextId, this, 0 );
- FLOG(_L("[OBEXUTILS]\t CObexUtilsUiDialog::ShowInformationNoteL completed"));
- }
-
-void CObexUtilsDialog::ProgressDialogCancelled(const CHbDeviceProgressDialogSymbian* aDialog)
- {
- FLOG(_L("[BTSU]\t CObexUtilsDialog::ProgressDialogCancelled(), cancelled by user"));
- (void) aDialog;
- if ( iDialogObserverPtr )
- {
- iDialogObserverPtr->DialogDismissed(ECancelButton);
- }
- delete iWaitDialog;
- iWaitDialog = NULL;
- }
-
-// -----------------------------------------------------------------------------
-// CObexUtilsDialog::MessageBoxClosed
-// -----------------------------------------------------------------------------
-void CObexUtilsDialog::MessageBoxClosed(const CHbDeviceMessageBoxSymbian *aMessageBox,
- CHbDeviceMessageBoxSymbian::TButtonId aButton)
- {
- FLOG(_L("[OBEXUTILS]\t CObexUtilsUiDialog::MessageBoxClosed"));
- (void)aMessageBox;
- delete iMessageBox;
- iMessageBox = NULL;
- if(iDialogObserverPtr)
- {
- //ETrue if user selects Yes, otherwise EFalse.
- iDialogObserverPtr->DialogDismissed(
- (aButton == CHbDeviceMessageBoxSymbian::EAcceptButton) ?
- EYesButton : ENoButton );
- }
- FLOG(_L("[OBEXUTILS]\t CObexUtilsUiDialog::MessageBoxClosed completed"));
- }
-
-void CObexUtilsDialog::ProgressDialogClosed(const CHbDeviceProgressDialogSymbian* aDialog)
- {
- (void) aDialog;
- }
-
-void CObexUtilsDialog::DataReceived(CHbSymbianVariantMap& aData)
- {
- (void) aData;
- }
-
-void CObexUtilsDialog::DeviceDialogClosed(TInt aCompletionCode)
- {
- FLOG(_L("[BTSU]\t CObexUtilsDialog::DeviceDialogClosed()"));
- (void) aCompletionCode;
-
- delete iObexDialogTimer;
- iObexDialogTimer = NULL;
- delete iProgressDialog;
- iProgressDialog = NULL;
-
- TBool ok = HbTextResolverSymbian::Init(KLocFileName, KPath);
- if(ok)
- {
- TRAP_IGNORE(
- HBufC* deviceName = HbTextResolverSymbian::LoadLC(KDeviceText,iDeviceName);
- HBufC* sendText = HbTextResolverSymbian::LoadLC(KSendingCancelledText);
- CHbDeviceNotificationDialogSymbian::NotificationL(
- KNullDesC, deviceName->Des(), sendText->Des());
- CleanupStack::PopAndDestroy( sendText );
- CleanupStack::PopAndDestroy( deviceName );
- );
- }
- else
- {
- CHbDeviceNotificationDialogSymbian::NotificationL(
- KNullDesC, KDeviceText(), KSendingCancelledText());
- }
- if ( iDialogObserverPtr )
- {
- iDialogObserverPtr->DialogDismissed(ECancelButton);
- }
- }
-
-void CObexUtilsDialog::AddDataL(CHbSymbianVariantMap* aMap, const TDesC& aKey,
- const TAny* aData, CHbSymbianVariant::TType aDataType)
- {
- CHbSymbianVariant* value = CHbSymbianVariant::NewL(aData, aDataType);
- CleanupStack::PushL( value );
- User::LeaveIfError( aMap->Add( aKey, value ) ); // aMap takes the ownership of value
- CleanupStack::Pop( value );
- }
-
-CHbDeviceMessageBoxSymbian* CObexUtilsDialog::CreateAndShowMessageBoxL(
- CHbDeviceMessageBoxSymbian::TType aType,
- const TDesC& aText, MHbDeviceMessageBoxObserver* aObserver,
- TInt aTimeout )
- {
- CHbDeviceMessageBoxSymbian* messageBox =
- CHbDeviceMessageBoxSymbian::NewL( aType );
- CleanupStack::PushL(messageBox);
- //ToDo: Need to use localised strings.
- messageBox->SetTextL(aText);
- messageBox->SetObserver(aObserver);
- messageBox->SetTimeout(aTimeout);
- messageBox->ShowL();
- CleanupStack::Pop(messageBox);
- return messageBox;
- }
-
-// End of File