dependencies/AknTaskList.h
author kashif.sayed
Fri, 26 Mar 2010 04:17:01 +0530
branchv5backport
changeset 31 a3e98f9c292b
permissions -rw-r--r--
added missing files user: kashif.sayed added dependencies/AknTaskList.h added dependencies/DRMEvent.h added dependencies/DRMEventObserver.h added dependencies/DRMNotifier.h added dependencies/SchemeDefs.hrh added dependencies/SchemeHandler.h added dependencies/SchemeHandler.inl added dependencies/aiwcommon.hrh added dependencies/aiwdialdata.h added dependencies/drmrightsinfo.h added dependencies/drmutilitytypes.h added dependencies/javaattribute.h added dependencies/javadomainpskeys.h added dependencies/javaregistry.h added dependencies/javaregistryapplicationentry.h added dependencies/javaregistryentry.h added dependencies/javaregistryentrytype.h added dependencies/javaregistrypackageentry.h added dependencies/mjavaattribute.h added dependencies/swi/bld.inf added dependencies/swi/sispackagetrust.h added dependencies/swi/sisregistryentry.h added dependencies/swi/sisregistrylog.h added dependencies/swi/sisregistrysession.h changed .cproject changed dependencies/S3libs/bld.inf changed dependencies/bld.inf
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
31
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
     1
/*
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
     2
* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
     3
* All rights reserved.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
     4
* This component and the accompanying materials are made available
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
     6
* which accompanies this distribution, and is available
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
     8
*
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
     9
* Initial Contributors:
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    11
*
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    12
* Contributors:
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    13
*
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    14
* Description: 
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    15
*
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    16
*
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    17
*/
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    18
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    19
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    20
#ifndef AKNTASKLIST_H
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    21
#define AKNTASKLIST_H
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    22
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    23
// INCLUDES
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    24
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    25
#include <w32std.h>
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    26
#include <apgtask.h>
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    27
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    28
// CLASS DECLARATION
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    29
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    30
/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    31
*  Class for finding out about running applications.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    32
*  This class specialises in locating and identifying root applications,
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    33
*  those applications who do not have any parent window group.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    34
*  It can be used along-side TApaTaskList.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    35
*
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    36
*  @since Series 60 3.0
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    37
*/
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    38
class CAknTaskList : public CBase
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    39
	{
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    40
public:
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    41
    /**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    42
    * Factory function
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    43
    * @param aWsSession an open session to the window server, often from CEikonEnv::WsSession()
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    44
    * @return a new fully constructed instance of CAknTaskList
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    45
    */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    46
	IMPORT_C static CAknTaskList* NewL(RWsSession& aWsSession);
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    47
    /**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    48
    * Factory function
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    49
    * @param aWsSession an open session to the window server, often from CEikonEnv::WsSession()
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    50
    * @return a new fully constructed instance of CAknTaskList, which is on the cleanup stack
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    51
    */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    52
	IMPORT_C static CAknTaskList* NewLC(RWsSession& aWsSession);
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    53
    /**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    54
    * Destructor.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    55
    */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    56
	IMPORT_C ~CAknTaskList();
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    57
	
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    58
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    59
	* Refresh the window group array
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    60
	*/
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    61
	IMPORT_C void UpdateListL();
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    62
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    63
	* Accessor for the window group array
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    64
	* @return an array containing the window groups of running applications.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    65
	*/
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    66
	IMPORT_C const RArray<RWsSession::TWindowGroupChainInfo>& WgArray() const;
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    67
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    68
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    69
	* Find an application with the requested UID 3, which is running as a root application
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    70
	* @param aAppUid the UID 3 of the target application.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    71
	* @return a TApaTask which refers to the running instance of the application.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    72
	* if the application is not running, the TApaTask's Exists() function will return EFalse.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    73
	*/	
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    74
	IMPORT_C TApaTask FindRootApp(TUid aAppUid) const;
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    75
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    76
	* Query whether an application's window group is running as a root application.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    77
	* @param aWgId the window group identifier of the target application.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    78
	* @return ETrue if this window group is running as a root window group.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    79
	*/
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    80
	IMPORT_C TBool IsRootWindowGroup(TInt aWgId) const;
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    81
	
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    82
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    83
	* Find the parent window group. If there is no parent, 0 is returned.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    84
	* @param aWgId the window group id that you want to find the parent of.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    85
	* @return The window group id of the parent, or 0 if there is no parent.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    86
	*/
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    87
	IMPORT_C TInt FindParentWgId(TInt aWgId) const;
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    88
	/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    89
	* Find the child window group. If there is no child, 0 is returned.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    90
	* @param aWgId the window group id that you want to find the child of.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    91
	* @return The window group id of the child, or 0 if there is no child.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    92
	*/
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    93
	IMPORT_C TInt FindChildWgId(TInt aWgId) const;
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    94
	
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    95
private:
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    96
	CAknTaskList(RWsSession& aWsSession);
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    97
	void ConstructL();
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    98
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    99
private:
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   100
	RWsSession& iWs;
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   101
	RArray<RWsSession::TWindowGroupChainInfo> iWgs;
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   102
	};
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   103
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   104
#endif