deviceupdatesui/deviceupdates/src/deviceupdatemoniter.cpp
author hgs
Tue, 13 Jul 2010 04:01:20 +0530
changeset 47 d316aecb87fd
child 67 fdbfe0a95492
permissions -rw-r--r--
201025_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
47
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     1
/*
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     2
 * Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     3
 * All rights reserved.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     8
 *
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     9
 * Initial Contributors:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    11
 *
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    12
 * Contributors:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    13
 *
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    14
 * Description:   Fota server update and download functionality 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    15
 *
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    16
 */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    17
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    18
#include "deviceupdatemoniter.h"
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    19
#include "DeviceUpdateDebug.h"
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    20
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    21
// --------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    22
// CDeviceUpdateMoniter::NewL 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    23
// --------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    24
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    25
CDeviceUpdateMoniter* CDeviceUpdateMoniter::NewL (MDeviceMoniterObserver* aObserver)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    26
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    27
    FLOG(_L("CDeviceUpdateMoniter::NewL >>"));    
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    28
    CDeviceUpdateMoniter* h=new (ELeave)CDeviceUpdateMoniter;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    29
    h->iObserver = aObserver;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    30
    h->ConstructL();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    31
    FLOG(_L("CDeviceUpdateMoniter::NewL <<"));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    32
    return h;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    33
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    34
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    35
void CDeviceUpdateMoniter::ConstructL()
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    36
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    37
    FLOG(_L("CDeviceUpdateMoniter::ConstructL >>"));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    38
    TInt err = RProperty::Define(TUid::Uid(KOmaDMAppUid), KFotaServerActive, RProperty::EInt);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    39
    
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    40
    if(err == KErrAlreadyExists)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    41
        {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    42
        TInt value;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    43
        RProperty::Get(TUid::Uid(KOmaDMAppUid), KFotaServerActive, value);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    44
        if(value)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    45
            iObserver->UpdateDMUI(EFalse);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    46
        }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    47
    err = iProperty.Attach(TUid::Uid(KOmaDMAppUid), KFotaServerActive);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    48
    if(err == KErrNone)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    49
        {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    50
        iProperty.Subscribe(iStatus);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    51
        if ( !IsActive() )
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    52
            {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    53
            SetActive();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    54
            }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    55
        }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    56
    FLOG(_L("CDeviceUpdateMoniter::ConstructL <<"));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    57
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    58
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    59
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    60
void CDeviceUpdateMoniter::StartMoniter()
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    61
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    62
    FLOG(_L("CDeviceUpdateMoniter::StartMoniter() >>"));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    63
    iProperty.Subscribe(iStatus);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    64
    if ( !IsActive() )
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    65
        {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    66
        SetActive();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    67
        }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    68
    FLOG(_L("CDeviceUpdateMoniter::StartMoniter <<"));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    69
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    70
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    71
// --------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    72
CDeviceUpdateMoniter::CDeviceUpdateMoniter()
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    73
            : CActive(EPriorityNormal)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    74
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    75
    FLOG(_L("CDeviceUpdateMoniter::CDeviceUpdateMoniter() >>"));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    76
    CActiveScheduler::Add( this );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    77
    FLOG(_L("CDeviceUpdateMoniter::CDeviceUpdateMoniter <<"));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    78
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    79
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    80
// --------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    81
CDeviceUpdateMoniter::~CDeviceUpdateMoniter()
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    82
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    83
    FLOG(_L("CDeviceUpdateMoniter::~CDeviceUpdateMoniter >>"));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    84
    //iNotifier.Close(); FOTA_10.1 changes
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    85
    //Cancel();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    86
    FLOG(_L("CDeviceUpdateMoniter::~CDeviceUpdateMoniter <<"));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    87
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    88
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    89
// --------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    90
void CDeviceUpdateMoniter::RunL()
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    91
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    92
    FLOG(_L("CDeviceUpdateMoniter::RunL >>"));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    93
    TInt value;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    94
    TUid uid = {0x102072C4};
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    95
    
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    96
    RProperty::Get(TUid::Uid(KOmaDMAppUid), KFotaServerActive, value);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    97
    if(value)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    98
        iObserver->UpdateDMUI(EFalse);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    99
    else
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   100
        iObserver->UpdateDMUI(ETrue);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   101
    StartMoniter();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   102
    FLOG(_L("CDeviceUpdateMoniter::RunL <<"));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   103
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   104
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   105
// --------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   106
TInt CDeviceUpdateMoniter::RunError(TInt aError)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   107
    {   
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   108
    FLOG(_L("CDeviceUpdateMoniter::RunL %d"),aError);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   109
    return aError;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   110
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   111
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   112
TInt CDeviceUpdateMoniter::CancelRequest()
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   113
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   114
    FLOG(_L("CDeviceUpdateMoniter::CancelRequest %d"));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   115
    
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   116
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   117
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   118
// --------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   119
void CDeviceUpdateMoniter::DoCancel()
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   120
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   121
    FLOG(_L("CDeviceUpdateMoniter::DoCancel >>"));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   122
    iProperty.Cancel();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   123
    FLOG(_L("CDeviceUpdateMoniter::DoCancel <<"));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   124
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   125