fotaapplication/fotaserver/src/fotanotifiers.cpp
author hgs
Fri, 15 Oct 2010 11:46:45 +0530
changeset 73 ae69c2e8bc34
parent 51 2e64dc50f295
permissions -rw-r--r--
201041
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
 *
73
hgs
parents: 51
diff changeset
    14
 * Description: The class is responsible for showing the device dialog from fotaserver.
51
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;
73
hgs
parents: 51
diff changeset
    32
    h->ConstructL();
51
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() :
73
hgs
parents: 51
diff changeset
    40
    iDevDialog(NULL)
51
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
// ---------------------------------------------------------------------------
73
hgs
parents: 51
diff changeset
    55
// CFotaDownloadNotifHandler::ConstructL
hgs
parents: 51
diff changeset
    56
// ---------------------------------------------------------------------------
hgs
parents: 51
diff changeset
    57
//
hgs
parents: 51
diff changeset
    58
hgs
parents: 51
diff changeset
    59
void CFotaDownloadNotifHandler::ConstructL()
hgs
parents: 51
diff changeset
    60
    {
hgs
parents: 51
diff changeset
    61
    FLOG(_L("CFotaDownloadNotifHandler::ConstructL() >>"));
hgs
parents: 51
diff changeset
    62
    iDevDialog = CHbDeviceDialogSymbian::NewL();
hgs
parents: 51
diff changeset
    63
    FLOG(_L("CFotaDownloadNotifHandler::ConstructL() <<"));
hgs
parents: 51
diff changeset
    64
    }
hgs
parents: 51
diff changeset
    65
hgs
parents: 51
diff changeset
    66
// ---------------------------------------------------------------------------
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    67
// CFotaDownloadNotifHandler::LaunchNotifierL
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    68
// This function is used the observer which uses this notifer to lauch the notifier
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    69
// It puts the necessary parameters to lauch the notifier in CHbSymbianVariantMap
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    70
// ---------------------------------------------------------------------------
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    71
//
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    72
void CFotaDownloadNotifHandler::LaunchNotifierL(
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    73
        CHbSymbianVariantMap *aNotifParams, TInt aDialogId)
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    74
    {
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    75
    FLOG(_L("CFotaDownloadNotifHandler::LaunchNotifierL() >>"));
73
hgs
parents: 51
diff changeset
    76
    
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    77
    if (iDevDialog == NULL)
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    78
        FLOG(_L("Error in CHbDeviceDialogSymbian::NewL()"));
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    79
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    80
    TInt Err = iDevDialog->Show(KHbNotifier, *aNotifParams, this);
73
hgs
parents: 51
diff changeset
    81
    FLOG(_L("CFotaDownloadNotifHandler::CHbDeviceDialogSymbian::Show() - %d"),
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    82
            Err);
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    83
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    84
    FLOG(_L("CFotaDownloadNotifHandler::LaunchNotifierL() <<"));
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    85
    }
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    86
73
hgs
parents: 51
diff changeset
    87
// ---------------------------------------------------------------------------
hgs
parents: 51
diff changeset
    88
// CFotaDownloadNotifHandler::Cancel
hgs
parents: 51
diff changeset
    89
// To Cancel the notifier manually.
hgs
parents: 51
diff changeset
    90
// ---------------------------------------------------------------------------
hgs
parents: 51
diff changeset
    91
//
hgs
parents: 51
diff changeset
    92
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    93
void CFotaDownloadNotifHandler::Cancel()
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    94
    {
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    95
    FLOG(_L("CFotaDownloadNotifHandler::Cancel >>"));
73
hgs
parents: 51
diff changeset
    96
    if(iDevDialog)
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    97
        iDevDialog->Cancel();
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    98
    FLOG(_L("CFotaDownloadNotifHandler::Cancel <<"));
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    99
    }
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   100
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   101
// ---------------------------------------------------------------------------
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   102
// CFotaDownloadNotifHandler::DataReceived
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   103
// This slot is called when user gives a keypress event to the device dialog(through deviceDialogData signal).
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   104
// CHbSymbianVariantMap is passed from the device dialog which contains the information
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   105
// of the user input.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   106
// ---------------------------------------------------------------------------
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   107
//
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   108
void CFotaDownloadNotifHandler::DataReceived(CHbSymbianVariantMap& aData)
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   109
    {
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   110
    FLOG(_L("CFotaDownloadNotifHandler::DataReceived() >>"));
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   111
    iDevDialog->Cancel();
73
hgs
parents: 51
diff changeset
   112
    TInt ret;
hgs
parents: 51
diff changeset
   113
    TFwUpdNoteTypes DialogId;
hgs
parents: 51
diff changeset
   114
    
hgs
parents: 51
diff changeset
   115
    const CHbSymbianVariant* dialogId = aData.Get(KKeyDialog);
hgs
parents: 51
diff changeset
   116
    DialogId = *(TFwUpdNoteTypes *) dialogId->Value<TInt> ();
hgs
parents: 51
diff changeset
   117
    
hgs
parents: 51
diff changeset
   118
    const CHbSymbianVariant* retVal = aData.Get(KResult);
hgs
parents: 51
diff changeset
   119
    ret = *(retVal->Value<TInt> ());
hgs
parents: 51
diff changeset
   120
    
hgs
parents: 51
diff changeset
   121
    iObserver->HandleDialogResponse(ret, DialogId);
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   122
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   123
    FLOG(_L("CFotaDownloadNotifHandler::DataReceived() <<"));
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   124
    }
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   125
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   126
// ---------------------------------------------------------------------------
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   127
// CFotaDownloadNotifHandler::DeviceDialogClosed
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   128
// This slot is called when the device dialog is closed due to some error.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   129
// aCompletionCode gives the error information on which the dialog is closed.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   130
// ---------------------------------------------------------------------------
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   131
//
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   132
void CFotaDownloadNotifHandler::DeviceDialogClosed(TInt aCompletionCode)
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   133
    {
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   134
    FLOG(_L("CFotaDownloadNotifHandler::DeviceDialogClosed() >>"));
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   135
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   136
    FLOG(_L("CFotaDownloadNotifHandler::DeviceDialogClosed() <<"));
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   137
    }
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   138