diff -r 13d7c31c74e0 -r b183ec05bd8c fotaapplication/fotaserver/src/fotanotifiers.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fotaapplication/fotaserver/src/fotanotifiers.cpp Tue Aug 31 16:04:06 2010 +0300 @@ -0,0 +1,122 @@ +/* + * 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 "fotanotifiers.h" +#include "FotaDlMgrClient.h" +_LIT(KHbNotifier,"com.nokia.hb.devicemanagementdialog/1.0"); + +// -------------------------------------------------------------------------- +// CFotaDownloadNotifHandler::NewL +// -------------------------------------------------------------------------- +// +CFotaDownloadNotifHandler* CFotaDownloadNotifHandler::NewL( + MfotadevicedialogObserver* aObserver) + { + FLOG(_L("CFotaDownloadNotifHandler::NewL >>")); + __ASSERT_ALWAYS( aObserver, User::Panic(KFotaPanic, KErrArgument) ); + CFotaDownloadNotifHandler* h = new (ELeave) CFotaDownloadNotifHandler; + h->iObserver = aObserver; + + FLOG(_L("CFotaDownloadNotifHandler::NewL <<")); + + return h; + } + +// -------------------------------------------------------------------------- +CFotaDownloadNotifHandler::CFotaDownloadNotifHandler() : + iDevDialog(NULL), iDialogID(0) + { + FLOG(_L("CFotaDownloadNotifHandler::CFotaDownloadNotifHandler()")); + } + +// -------------------------------------------------------------------------- +CFotaDownloadNotifHandler::~CFotaDownloadNotifHandler() + { + FLOG(_L("CFotaDownloadNotifHandler::~CFotaDownloadNotifHandler >>")); + if (iDevDialog) + delete iDevDialog; + FLOG(_L("CFotaDownloadNotifHandler::~CFotaDownloadNotifHandler <<")); + } + +// --------------------------------------------------------------------------- +// CFotaDownloadNotifHandler::LaunchNotifierL +// This function is used the observer which uses this notifer to lauch the notifier +// It puts the necessary parameters to lauch the notifier in CHbSymbianVariantMap +// --------------------------------------------------------------------------- +// +void CFotaDownloadNotifHandler::LaunchNotifierL( + CHbSymbianVariantMap *aNotifParams, TInt aDialogId) + { + FLOG(_L("CFotaDownloadNotifHandler::LaunchNotifierL() >>")); + if (!iDevDialog) + iDevDialog = CHbDeviceDialogSymbian::NewL(); + FLOG(_L("CFotaDownloadNotifHandler::CHbDeviceDialogSymbian::NewL()")); + if (iDevDialog == NULL) + FLOG(_L("Error in CHbDeviceDialogSymbian::NewL()")); + + iDialogID = aDialogId; + //connect(mDeviceDialog, SIGNAL(dataReceived(QVariantMap)), this, SLOT(dataReceived(QVariantMap))); + + TInt Err = iDevDialog->Show(KHbNotifier, *aNotifParams, this); + FLOG( + _L("CFotaDownloadNotifHandler::CHbDeviceDialogSymbian::Show() - %d"), + Err); + + FLOG(_L("CFotaDownloadNotifHandler::LaunchNotifierL() <<")); + } + +void CFotaDownloadNotifHandler::Cancel() + { + FLOG(_L("CFotaDownloadNotifHandler::Cancel >>")); + if (iDialogID) + iDevDialog->Cancel(); + FLOG(_L("CFotaDownloadNotifHandler::Cancel <<")); + } + +// --------------------------------------------------------------------------- +// CFotaDownloadNotifHandler::DataReceived +// This slot is called when user gives a keypress event to the device dialog(through deviceDialogData signal). +// CHbSymbianVariantMap is passed from the device dialog which contains the information +// of the user input. +// --------------------------------------------------------------------------- +// +void CFotaDownloadNotifHandler::DataReceived(CHbSymbianVariantMap& aData) + { + FLOG(_L("CFotaDownloadNotifHandler::DataReceived() >>")); + iDevDialog->Cancel(); + TFwUpdNoteTypes ret; + const CHbSymbianVariant* dialogId = aData.Get(KResult); + ret = *(TFwUpdNoteTypes *) dialogId->Value (); + TInt temp = iDialogID; + iDialogID = 0; + iObserver->HandleDialogResponse(ret, temp); + + FLOG(_L("CFotaDownloadNotifHandler::DataReceived() <<")); + } + +// --------------------------------------------------------------------------- +// CFotaDownloadNotifHandler::DeviceDialogClosed +// This slot is called when the device dialog is closed due to some error. +// aCompletionCode gives the error information on which the dialog is closed. +// --------------------------------------------------------------------------- +// +void CFotaDownloadNotifHandler::DeviceDialogClosed(TInt aCompletionCode) + { + FLOG(_L("CFotaDownloadNotifHandler::DeviceDialogClosed() >>")); + + FLOG(_L("CFotaDownloadNotifHandler::DeviceDialogClosed() <<")); + } +