deviceupdatesui/deviceupdates/src/deviceupdatemoniter.cpp
author hgs
Fri, 15 Oct 2010 11:39:02 +0530
changeset 67 fdbfe0a95492
parent 47 d316aecb87fd
permissions -rw-r--r--
201041
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;
67
hgs
parents: 47
diff changeset
    29
    CleanupStack::PushL( h );
47
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    30
    h->iObserver = aObserver;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    31
    h->ConstructL();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    32
    FLOG(_L("CDeviceUpdateMoniter::NewL <<"));
67
hgs
parents: 47
diff changeset
    33
    CleanupStack::Pop( h );
47
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    34
    return h;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    35
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    36
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    37
void CDeviceUpdateMoniter::ConstructL()
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    38
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    39
    FLOG(_L("CDeviceUpdateMoniter::ConstructL >>"));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    40
    TInt err = RProperty::Define(TUid::Uid(KOmaDMAppUid), KFotaServerActive, RProperty::EInt);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    41
    
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    42
    if(err == KErrAlreadyExists)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    43
        {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    44
        TInt value;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    45
        RProperty::Get(TUid::Uid(KOmaDMAppUid), KFotaServerActive, value);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    46
        if(value)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    47
            iObserver->UpdateDMUI(EFalse);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    48
        }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    49
    err = iProperty.Attach(TUid::Uid(KOmaDMAppUid), KFotaServerActive);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    50
    if(err == KErrNone)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    51
        {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    52
        iProperty.Subscribe(iStatus);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    53
        if ( !IsActive() )
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    54
            {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    55
            SetActive();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    56
            }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    57
        }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    58
    FLOG(_L("CDeviceUpdateMoniter::ConstructL <<"));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    59
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    60
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    61
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    62
void CDeviceUpdateMoniter::StartMoniter()
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    63
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    64
    FLOG(_L("CDeviceUpdateMoniter::StartMoniter() >>"));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    65
    iProperty.Subscribe(iStatus);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    66
    if ( !IsActive() )
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    67
        {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    68
        SetActive();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    69
        }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    70
    FLOG(_L("CDeviceUpdateMoniter::StartMoniter <<"));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    71
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    72
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    73
// --------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    74
CDeviceUpdateMoniter::CDeviceUpdateMoniter()
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    75
            : CActive(EPriorityNormal)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    76
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    77
    FLOG(_L("CDeviceUpdateMoniter::CDeviceUpdateMoniter() >>"));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    78
    CActiveScheduler::Add( this );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    79
    FLOG(_L("CDeviceUpdateMoniter::CDeviceUpdateMoniter <<"));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    80
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    81
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    82
// --------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    83
CDeviceUpdateMoniter::~CDeviceUpdateMoniter()
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    84
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    85
    FLOG(_L("CDeviceUpdateMoniter::~CDeviceUpdateMoniter >>"));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    86
    //iNotifier.Close(); FOTA_10.1 changes
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    87
    //Cancel();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    88
    FLOG(_L("CDeviceUpdateMoniter::~CDeviceUpdateMoniter <<"));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    89
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    90
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    91
// --------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    92
void CDeviceUpdateMoniter::RunL()
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    93
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    94
    FLOG(_L("CDeviceUpdateMoniter::RunL >>"));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    95
    TInt value;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    96
    TUid uid = {0x102072C4};
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    97
    
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    98
    RProperty::Get(TUid::Uid(KOmaDMAppUid), KFotaServerActive, value);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    99
    if(value)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   100
        iObserver->UpdateDMUI(EFalse);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   101
    else
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   102
        iObserver->UpdateDMUI(ETrue);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   103
    StartMoniter();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   104
    FLOG(_L("CDeviceUpdateMoniter::RunL <<"));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   105
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   106
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   107
// --------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   108
TInt CDeviceUpdateMoniter::RunError(TInt aError)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   109
    {   
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   110
    FLOG(_L("CDeviceUpdateMoniter::RunL %d"),aError);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   111
    return aError;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   112
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   113
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   114
TInt CDeviceUpdateMoniter::CancelRequest()
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   115
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   116
    FLOG(_L("CDeviceUpdateMoniter::CancelRequest %d"));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   117
    
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   118
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   119
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   120
// --------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   121
void CDeviceUpdateMoniter::DoCancel()
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   122
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   123
    FLOG(_L("CDeviceUpdateMoniter::DoCancel >>"));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   124
    iProperty.Cancel();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   125
    FLOG(_L("CDeviceUpdateMoniter::DoCancel <<"));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   126
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   127