taskswitcher/server/inc/tsrunningappstorageimp.h
author hgs
Mon, 18 Oct 2010 10:44:15 +0300
changeset 127 7b66bc3c6dc9
parent 125 26079c1bb561
permissions -rw-r--r--
201041

/*
 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
 * Initial Contributors:
 * Nokia Corporation - initial contribution.
 *
 * Contributors:
 *
 * Description :
 *
 */
#ifndef TSREUNNINGAPPSTORAGEIMP_H
#define TSREUNNINGAPPSTORAGEIMP_H

#include "tsrunningappstorage.h"
#include "tsrunningappimp.h"

class CTsRunningAppStorage: public CBase,
                            public MTsRunningApplicationStorage
{
public:
    static CTsRunningAppStorage* NewLC();
    static CTsRunningAppStorage* NewL();
    ~CTsRunningAppStorage();
    void HandleWindowGroupChanged( 
           MTsResourceManager &aResources, 
           const TArray<RWsSession::TWindowGroupChainInfo> & aWindowGroups );
    void HandleWindowGroupChanged( 
           MTsResourceManager &aResources, 
           const TArray<RWsSession::TWindowGroupChainInfo>& aWindowGroups,
           const TArray<RWsSession::TWindowGroupChainInfo>& aFilteredWindowGroups);
public:
    MTsRunningApplication& operator[] (TInt aOffset) const;
    TInt Count() const;
    TInt ParentIndex( const MTsRunningApplication& aRunningApp ) const;
    TArray<TInt> BlockedWindowGroups() const;
    TInt GenerateKey( TTsEntryKey& aReturnKey, TInt aWindowGroupId) const;
    
private:
    TInt ParentIndex( TInt aOffset ) const;
    TInt Find(TInt aWindowGroupId, TInt aOffset =0) const;
    TInt GenerateKey( TTsEntryKey& aReturnKey, 
                      TInt aWindowGroupId, 
                      TInt aOffset) const;

private:
    CTsRunningAppStorage();

private:
    CArrayPtr<CTsRunningApp> *iRunningApps;
    RArray<TInt> iBlockedWindowGroups;

};
#endif//TSREUNNINGAPPSTORAGEIMP_H