tstaskmonitor/server/src/tsfswengine.cpp
author hgs
Fri, 28 May 2010 16:17:03 +0300
changeset 96 5d243a69bdda
parent 94 dbb8300717f7
permissions -rw-r--r--
201021
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
94
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:  Task monitor engine
hgs
parents:
diff changeset
    15
 *
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
hgs
parents:
diff changeset
    19
#include "tsfswengine.h"
hgs
parents:
diff changeset
    20
#include "tsfswdatalist.h"
hgs
parents:
diff changeset
    21
hgs
parents:
diff changeset
    22
hgs
parents:
diff changeset
    23
// --------------------------------------------------------------------------
hgs
parents:
diff changeset
    24
// CTsFswEngine::NewL
hgs
parents:
diff changeset
    25
// --------------------------------------------------------------------------
hgs
parents:
diff changeset
    26
//
96
hgs
parents: 94
diff changeset
    27
CTsFswEngine* CTsFswEngine::NewL(MHsDataObserver& observer)
hgs
parents: 94
diff changeset
    28
{
hgs
parents: 94
diff changeset
    29
    CTsFswEngine* self = NewLC(observer);
hgs
parents: 94
diff changeset
    30
    CleanupStack::Pop(self);
94
hgs
parents:
diff changeset
    31
    return self;
96
hgs
parents: 94
diff changeset
    32
}
94
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
// --------------------------------------------------------------------------
hgs
parents:
diff changeset
    35
// CTsFswEngine::NewLC
hgs
parents:
diff changeset
    36
// --------------------------------------------------------------------------
hgs
parents:
diff changeset
    37
//
96
hgs
parents: 94
diff changeset
    38
CTsFswEngine* CTsFswEngine::NewLC(MHsDataObserver& observer)
hgs
parents: 94
diff changeset
    39
{
hgs
parents: 94
diff changeset
    40
    CTsFswEngine* self = new (ELeave) CTsFswEngine(observer);
hgs
parents: 94
diff changeset
    41
    CleanupStack::PushL(self);
94
hgs
parents:
diff changeset
    42
    self->ConstructL();
hgs
parents:
diff changeset
    43
    return self;
96
hgs
parents: 94
diff changeset
    44
}
94
hgs
parents:
diff changeset
    45
hgs
parents:
diff changeset
    46
// --------------------------------------------------------------------------
hgs
parents:
diff changeset
    47
// CTsFswEngine::CTsFswEngine
hgs
parents:
diff changeset
    48
// --------------------------------------------------------------------------
hgs
parents:
diff changeset
    49
//
96
hgs
parents: 94
diff changeset
    50
CTsFswEngine::CTsFswEngine(MHsDataObserver& observer) :
hgs
parents: 94
diff changeset
    51
    mObserver(observer)
hgs
parents: 94
diff changeset
    52
{
hgs
parents: 94
diff changeset
    53
}
94
hgs
parents:
diff changeset
    54
hgs
parents:
diff changeset
    55
// --------------------------------------------------------------------------
hgs
parents:
diff changeset
    56
// CTsFswEngine::ConstructL
hgs
parents:
diff changeset
    57
// --------------------------------------------------------------------------
hgs
parents:
diff changeset
    58
//
hgs
parents:
diff changeset
    59
void CTsFswEngine::ConstructL()
96
hgs
parents: 94
diff changeset
    60
{
hgs
parents: 94
diff changeset
    61
    mDataList = CTsFswDataList::NewL(mObserver);
94
hgs
parents:
diff changeset
    62
    CollectTasksL();
96
hgs
parents: 94
diff changeset
    63
}
94
hgs
parents:
diff changeset
    64
hgs
parents:
diff changeset
    65
// --------------------------------------------------------------------------
hgs
parents:
diff changeset
    66
// CTsFswEngine::~CTsFswEngine
hgs
parents:
diff changeset
    67
// --------------------------------------------------------------------------
hgs
parents:
diff changeset
    68
//
hgs
parents:
diff changeset
    69
CTsFswEngine::~CTsFswEngine()
96
hgs
parents: 94
diff changeset
    70
{
hgs
parents: 94
diff changeset
    71
    delete mDataList;
hgs
parents: 94
diff changeset
    72
}
94
hgs
parents:
diff changeset
    73
hgs
parents:
diff changeset
    74
// --------------------------------------------------------------------------
hgs
parents:
diff changeset
    75
// CTsFswEngine::FswDataL
hgs
parents:
diff changeset
    76
// --------------------------------------------------------------------------
hgs
parents:
diff changeset
    77
//
hgs
parents:
diff changeset
    78
const RTsFswArray& CTsFswEngine::FswDataL()
96
hgs
parents: 94
diff changeset
    79
{
hgs
parents: 94
diff changeset
    80
    return mDataList->FswDataL();
hgs
parents: 94
diff changeset
    81
}
94
hgs
parents:
diff changeset
    82
hgs
parents:
diff changeset
    83
// --------------------------------------------------------------------------
hgs
parents:
diff changeset
    84
// CTsFswEngine::UpdateTaskList
hgs
parents:
diff changeset
    85
// Callback from appui
hgs
parents:
diff changeset
    86
// --------------------------------------------------------------------------
hgs
parents:
diff changeset
    87
//
96
hgs
parents: 94
diff changeset
    88
void CTsFswEngine::DataChanged()
hgs
parents: 94
diff changeset
    89
{
hgs
parents: 94
diff changeset
    90
    TBool changed = EFalse;
hgs
parents: 94
diff changeset
    91
    TRAPD( err, changed = CollectTasksL() );
hgs
parents: 94
diff changeset
    92
    if (err == KErrNone && changed) {
hgs
parents: 94
diff changeset
    93
        mObserver.DataChanged();
94
hgs
parents:
diff changeset
    94
    }
96
hgs
parents: 94
diff changeset
    95
}
94
hgs
parents:
diff changeset
    96
hgs
parents:
diff changeset
    97
// --------------------------------------------------------------------------
hgs
parents:
diff changeset
    98
// CTsFswEngine::CollectTasksL
hgs
parents:
diff changeset
    99
// --------------------------------------------------------------------------
hgs
parents:
diff changeset
   100
//
hgs
parents:
diff changeset
   101
TBool CTsFswEngine::CollectTasksL()
96
hgs
parents: 94
diff changeset
   102
{
hgs
parents: 94
diff changeset
   103
    TBool changed = mDataList->CollectTasksL();
94
hgs
parents:
diff changeset
   104
    return changed;
96
hgs
parents: 94
diff changeset
   105
}
94
hgs
parents:
diff changeset
   106
hgs
parents:
diff changeset
   107
// --------------------------------------------------------------------------
96
hgs
parents: 94
diff changeset
   108
// CTsFswEngine::SetScreenshotL
94
hgs
parents:
diff changeset
   109
// --------------------------------------------------------------------------
hgs
parents:
diff changeset
   110
//
96
hgs
parents: 94
diff changeset
   111
void CTsFswEngine::SetScreenshotL(const CFbsBitmap* bitmap, UpdatePriority priority, TInt wgId)
hgs
parents: 94
diff changeset
   112
{
hgs
parents: 94
diff changeset
   113
    TBool changed = mDataList->SetScreenshotL(bitmap, priority, wgId);
hgs
parents: 94
diff changeset
   114
    if (!changed) {
hgs
parents: 94
diff changeset
   115
        User::Leave(KErrAccessDenied);
94
hgs
parents:
diff changeset
   116
    }
96
hgs
parents: 94
diff changeset
   117
}
94
hgs
parents:
diff changeset
   118
hgs
parents:
diff changeset
   119
// --------------------------------------------------------------------------
96
hgs
parents: 94
diff changeset
   120
// CTsFswEngine::SetScreenshotL
94
hgs
parents:
diff changeset
   121
// --------------------------------------------------------------------------
hgs
parents:
diff changeset
   122
//
96
hgs
parents: 94
diff changeset
   123
void CTsFswEngine::RemoveScreenshotL(TInt wgId)
hgs
parents: 94
diff changeset
   124
{
hgs
parents: 94
diff changeset
   125
    TBool changed = mDataList->RemoveScreenshotL(wgId);
hgs
parents: 94
diff changeset
   126
    if (changed) {
hgs
parents: 94
diff changeset
   127
        mObserver.DataChanged();
94
hgs
parents:
diff changeset
   128
    }
96
hgs
parents: 94
diff changeset
   129
}
94
hgs
parents:
diff changeset
   130
// end of file