fotaapplication/fotaserver/src/fotanotifiers.cpp
author hgs
Thu, 19 Aug 2010 17:35:34 +0530
changeset 60 eb6690d0d439
parent 51 2e64dc50f295
child 73 ae69c2e8bc34
permissions -rw-r--r--
201033
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     1
/*
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     2
 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     3
 * All rights reserved.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     8
 *
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     9
 * Initial Contributors:
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    11
 *
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    12
 * Contributors:
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    13
 *
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    14
 * Description: 
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    15
 *
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    16
 */
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    17
#include "fotanotifiers.h"
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    18
#include "FotaDlMgrClient.h"
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    19
_LIT(KHbNotifier,"com.nokia.hb.devicemanagementdialog/1.0");
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    20
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    21
// --------------------------------------------------------------------------
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    22
// CFotaDownloadNotifHandler::NewL 
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    23
// --------------------------------------------------------------------------
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    24
//
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    25
CFotaDownloadNotifHandler* CFotaDownloadNotifHandler::NewL(
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    26
        MfotadevicedialogObserver* aObserver)
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    27
    {
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    28
    FLOG(_L("CFotaDownloadNotifHandler::NewL >>"));
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    29
    __ASSERT_ALWAYS( aObserver, User::Panic(KFotaPanic, KErrArgument) );
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    30
    CFotaDownloadNotifHandler* h = new (ELeave) CFotaDownloadNotifHandler;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    31
    h->iObserver = aObserver;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    32
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    33
    FLOG(_L("CFotaDownloadNotifHandler::NewL <<"));
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    34
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    35
    return h;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    36
    }
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    37
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    38
// --------------------------------------------------------------------------
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    39
CFotaDownloadNotifHandler::CFotaDownloadNotifHandler() :
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    40
    iDevDialog(NULL), iDialogID(0)
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    41
    {
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    42
    FLOG(_L("CFotaDownloadNotifHandler::CFotaDownloadNotifHandler()"));
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    43
    }
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    44
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    45
// --------------------------------------------------------------------------
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    46
CFotaDownloadNotifHandler::~CFotaDownloadNotifHandler()
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    47
    {
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    48
    FLOG(_L("CFotaDownloadNotifHandler::~CFotaDownloadNotifHandler >>"));
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    49
    if (iDevDialog)
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    50
        delete iDevDialog;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    51
    FLOG(_L("CFotaDownloadNotifHandler::~CFotaDownloadNotifHandler <<"));
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    52
    }
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    53
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    54
// ---------------------------------------------------------------------------
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    55
// CFotaDownloadNotifHandler::LaunchNotifierL
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    56
// This function is used the observer which uses this notifer to lauch the notifier
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    57
// It puts the necessary parameters to lauch the notifier in CHbSymbianVariantMap
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    58
// ---------------------------------------------------------------------------
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    59
//
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    60
void CFotaDownloadNotifHandler::LaunchNotifierL(
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    61
        CHbSymbianVariantMap *aNotifParams, TInt aDialogId)
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    62
    {
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    63
    FLOG(_L("CFotaDownloadNotifHandler::LaunchNotifierL() >>"));
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    64
    if (!iDevDialog)
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    65
        iDevDialog = CHbDeviceDialogSymbian::NewL();
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    66
    FLOG(_L("CFotaDownloadNotifHandler::CHbDeviceDialogSymbian::NewL()"));
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    67
    if (iDevDialog == NULL)
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    68
        FLOG(_L("Error in CHbDeviceDialogSymbian::NewL()"));
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    69
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    70
    iDialogID = aDialogId;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    71
    //connect(mDeviceDialog, SIGNAL(dataReceived(QVariantMap)), this, SLOT(dataReceived(QVariantMap)));
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    72
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    73
    TInt Err = iDevDialog->Show(KHbNotifier, *aNotifParams, this);
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    74
    FLOG(
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    75
            _L("CFotaDownloadNotifHandler::CHbDeviceDialogSymbian::Show() - %d"),
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    76
            Err);
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    77
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    78
    FLOG(_L("CFotaDownloadNotifHandler::LaunchNotifierL() <<"));
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    79
    }
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    80
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    81
void CFotaDownloadNotifHandler::Cancel()
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    82
    {
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    83
    FLOG(_L("CFotaDownloadNotifHandler::Cancel >>"));
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    84
    if (iDialogID)
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    85
        iDevDialog->Cancel();
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    86
    FLOG(_L("CFotaDownloadNotifHandler::Cancel <<"));
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    87
    }
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    88
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    89
// ---------------------------------------------------------------------------
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    90
// CFotaDownloadNotifHandler::DataReceived
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    91
// This slot is called when user gives a keypress event to the device dialog(through deviceDialogData signal).
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    92
// CHbSymbianVariantMap is passed from the device dialog which contains the information
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    93
// of the user input.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    94
// ---------------------------------------------------------------------------
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    95
//
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    96
void CFotaDownloadNotifHandler::DataReceived(CHbSymbianVariantMap& aData)
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    97
    {
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    98
    FLOG(_L("CFotaDownloadNotifHandler::DataReceived() >>"));
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    99
    iDevDialog->Cancel();
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   100
    TFwUpdNoteTypes ret;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   101
    const CHbSymbianVariant* dialogId = aData.Get(KResult);
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   102
    ret = *(TFwUpdNoteTypes *) dialogId->Value<TInt> ();
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   103
    TInt temp = iDialogID;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   104
    iDialogID = 0;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   105
    iObserver->HandleDialogResponse(ret, temp);
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   106
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   107
    FLOG(_L("CFotaDownloadNotifHandler::DataReceived() <<"));
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   108
    }
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   109
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   110
// ---------------------------------------------------------------------------
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   111
// CFotaDownloadNotifHandler::DeviceDialogClosed
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   112
// This slot is called when the device dialog is closed due to some error.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   113
// aCompletionCode gives the error information on which the dialog is closed.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   114
// ---------------------------------------------------------------------------
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   115
//
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   116
void CFotaDownloadNotifHandler::DeviceDialogClosed(TInt aCompletionCode)
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   117
    {
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   118
    FLOG(_L("CFotaDownloadNotifHandler::DeviceDialogClosed() >>"));
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   119
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   120
    FLOG(_L("CFotaDownloadNotifHandler::DeviceDialogClosed() <<"));
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   121
    }
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   122