taskswitcher/client/s60/inc/tstaskmonitor_p.h
author hgs
Mon, 13 Sep 2010 13:26:33 +0300
changeset 116 305818acdca4
child 127 7b66bc3c6dc9
permissions -rw-r--r--
201036
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
116
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2009 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: 
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
#ifndef TSTASKMONITOR_P_H
hgs
parents:
diff changeset
    18
#define TSTASKMONITOR_P_H
hgs
parents:
diff changeset
    19
hgs
parents:
diff changeset
    20
hgs
parents:
diff changeset
    21
#include <w32std.h>
hgs
parents:
diff changeset
    22
hgs
parents:
diff changeset
    23
#include <QList>
hgs
parents:
diff changeset
    24
#include <QSharedPointer>
hgs
parents:
diff changeset
    25
#include <QPair>
hgs
parents:
diff changeset
    26
#include <QDateTime>
hgs
parents:
diff changeset
    27
hgs
parents:
diff changeset
    28
#include "tstaskmonitorobserver.h"
hgs
parents:
diff changeset
    29
#include "tstasklauncher.h"
hgs
parents:
diff changeset
    30
#include "tstaskmonitor.h"
hgs
parents:
diff changeset
    31
hgs
parents:
diff changeset
    32
class RDesReadStream;
hgs
parents:
diff changeset
    33
class TsTask;
hgs
parents:
diff changeset
    34
class TsTaskContent;
hgs
parents:
diff changeset
    35
class CTsTaskMonitorClient;
hgs
parents:
diff changeset
    36
class TsTaskMonitorHistory;
hgs
parents:
diff changeset
    37
hgs
parents:
diff changeset
    38
class TsTaskMonitorPrivate : public MTsTaskMonitorObserver, public TsTaskLauncher
hgs
parents:
diff changeset
    39
{
hgs
parents:
diff changeset
    40
public:
hgs
parents:
diff changeset
    41
    TsTaskMonitorPrivate(TsTaskMonitor *q);
hgs
parents:
diff changeset
    42
    virtual ~TsTaskMonitorPrivate();
hgs
parents:
diff changeset
    43
    
hgs
parents:
diff changeset
    44
public:
hgs
parents:
diff changeset
    45
    QList<TsTaskChange> changeList(bool fullList = false);
hgs
parents:
diff changeset
    46
hgs
parents:
diff changeset
    47
public: // from MTsTaskMonitorObserver
hgs
parents:
diff changeset
    48
    virtual void HandleRunningAppChange();
hgs
parents:
diff changeset
    49
hgs
parents:
diff changeset
    50
public: // from TsTaskLauncher
hgs
parents:
diff changeset
    51
    virtual void openTask(const QByteArray &key);
hgs
parents:
diff changeset
    52
    virtual void closeTask(const QByteArray &key);
hgs
parents:
diff changeset
    53
    
hgs
parents:
diff changeset
    54
private: // helper methods
hgs
parents:
diff changeset
    55
    TsTaskMonitorHistory internalizeContentL(RDesReadStream &dataStream,
hgs
parents:
diff changeset
    56
                             QSharedPointer<TsTaskContent> &content );
hgs
parents:
diff changeset
    57
    QDateTime dateTimeFromS60(const TTime &s60Time);
hgs
parents:
diff changeset
    58
    
hgs
parents:
diff changeset
    59
    //for comparing algorithm
hgs
parents:
diff changeset
    60
    int         findItemIndex(const QList<TsTaskMonitorHistory> &historyList,
hgs
parents:
diff changeset
    61
                              const TsTaskMonitorHistory &item );
hgs
parents:
diff changeset
    62
    QList<int>  findInserts(const QList<TsTaskMonitorHistory> &newHistory);
hgs
parents:
diff changeset
    63
    QList<int>  findDeletes(const QList<TsTaskMonitorHistory> &newHistory);
hgs
parents:
diff changeset
    64
    QList<TsTaskChange> getDeletesChangeset(const QList<int> &deleteList);
hgs
parents:
diff changeset
    65
    QList<TsTaskChange> getInsertsChangeset(const QList<int> &insertList,
hgs
parents:
diff changeset
    66
                                   const QList< QSharedPointer<TsTaskContent> > &taskList);
hgs
parents:
diff changeset
    67
    QList<TsTaskMonitorHistory> substractInsertsFromNew(
hgs
parents:
diff changeset
    68
                                          const QList<int> &insertList,
hgs
parents:
diff changeset
    69
                                          const QList<TsTaskMonitorHistory> &newHistory );
hgs
parents:
diff changeset
    70
    QList<TsTaskMonitorHistory> substractDeletesFromOld(
hgs
parents:
diff changeset
    71
                                          const QList<int> &deleteList);
hgs
parents:
diff changeset
    72
    QList<TsTaskChange> findMovesAndUpdates(
hgs
parents:
diff changeset
    73
                                   const QList<TsTaskMonitorHistory> &newMinusInserts,
hgs
parents:
diff changeset
    74
                                   const QList< QSharedPointer<TsTaskContent> > &taskList,
hgs
parents:
diff changeset
    75
                                   QList<TsTaskMonitorHistory> &workingList);
hgs
parents:
diff changeset
    76
    
hgs
parents:
diff changeset
    77
private:    
hgs
parents:
diff changeset
    78
    TsTaskMonitor *q_ptr;
hgs
parents:
diff changeset
    79
    CTsTaskMonitorClient *mClient;
hgs
parents:
diff changeset
    80
    RWsSession &mWsSession;
hgs
parents:
diff changeset
    81
    QList<TsTaskMonitorHistory> mTaskHistory;
hgs
parents:
diff changeset
    82
};
hgs
parents:
diff changeset
    83
hgs
parents:
diff changeset
    84
#endif //TSTASKMONITOR_P_H