diff -r e8c1ea2c6496 -r 8758140453c0 localisation/apparchitecture/inc/APGTASK.H --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/localisation/apparchitecture/inc/APGTASK.H Thu Jan 21 12:53:44 2010 +0000 @@ -0,0 +1,195 @@ +// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of the License "Symbian Foundation License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + +#ifndef __APGTASK_H__ +#define __APGTASK_H__ + +#include +#include + +class RWsSession; +struct TKeyEvent; + +/** @internalTechnology */ +static const TInt KApaSystemEventsWithPowerMgmtCapabilityStart = 100; +/** @internalTechnology */ +static const TInt KApaSystemEventsWithPowerMgmtCapabilityEnd = 199; + +/** Defines the event types that a TApaTask object can send to its window group. + +The events are sent by TApaTask::SendSystemEvent() and are handled by CEikAppUi::HandleSystemEventL(). + +@publishedAll +@released +@see TApaTask::SendSystemEvent() +@see CEikAppUi +@see CCoeAppUi::HandleSystemEventL() */ +enum TApaSystemEvent + { + /** The task is being closed. */ + EApaSystemEventShutdown=1, + /** Reserved for future use. */ + EApaSystemEventBackupStarting, + /** Reserved for future use. */ + EApaSystemEventBackupComplete, + /** The task is being brought to the foreground. */ + EApaSystemEventBroughtToForeground, + /** Close any tasks including system tasks. + Events in the range @c KApaSystemEventsWithPowerMgmtCapabilityStart to + @c KApaSystemEventsWithPowerMgmtCapabilityEnd requires capability PowerMgmt*/ + EApaSystemEventSecureShutdown = KApaSystemEventsWithPowerMgmtCapabilityStart + }; + +#ifdef _UNICODE +/** +@publishedAll +@released +*/ +#define KUidApaMessageSwitchOpenFile KUidApaMessageSwitchOpenFile16 + +/** +@publishedAll +@released +*/ +#define KUidApaMessageSwitchCreateFile KUidApaMessageSwitchCreateFile16 + +/** +@publishedAll +@released +*/ +#define KUidApaMessageSwitchOpenFileValue KUidApaMessageSwitchOpenFileValue16 + +/** +@publishedAll +@released +*/ +#define KUidApaMessageSwitchCreateFileValue KUidApaMessageSwitchCreateFileValue16 +#else +#define KUidApaMessageSwitchOpenFile KUidApaMessageSwitchOpenFile8 +#define KUidApaMessageSwitchCreateFile KUidApaMessageSwitchCreateFile8 +#define KUidApaMessageSwitchOpenFileValue KUidApaMessageSwitchOpenFileValue8 +#define KUidApaMessageSwitchCreateFileValue KUidApaMessageSwitchCreateFileValue8 +#endif + +/** +@internalComponent +*/ +const TInt KUidApaMessageSwitchOpenFileValue16=0x10003A39; + +/** +@internalComponent +*/ +const TUid KUidApaMessageSwitchOpenFile16={KUidApaMessageSwitchOpenFileValue16}; + +/** +@internalComponent +*/ +const TInt KUidApaMessageSwitchCreateFileValue16=0x10003A3A; + +/** +@internalComponent +*/ +const TUid KUidApaMessageSwitchCreateFile16={KUidApaMessageSwitchCreateFileValue16}; + +class TApaTask +/** Application task. + +A task is a running application. At any one time, for any given application, +there may be zero, one, or more tasks running on a device. + +A task is identified by its association with the running application's window +group. + +An instance of the TApaTaskList class is used to find and access specific +tasks. + +@publishedAll +@released +@see TApaTaskList +@see RWindowGroup +@see RWsSession */ + { +public: + + IMPORT_C TApaTask(RWsSession& aWsSession); + IMPORT_C void SetWgId(TInt aWgId); + IMPORT_C TInt WgId() const; + IMPORT_C TBool Exists() const; + IMPORT_C TThreadId ThreadId() const; + IMPORT_C void BringToForeground(); + IMPORT_C void SendToBackground(); + IMPORT_C void EndTask(); + IMPORT_C void KillTask(); + IMPORT_C void SendKey(TInt aKeyCode,TInt aModifiers); + IMPORT_C void SendKey(const TKeyEvent& aKey); + IMPORT_C void SendSystemEvent(TApaSystemEvent aEvent); + IMPORT_C TInt SwitchOpenFile(const TDesC& aFilename); + IMPORT_C TInt SwitchCreateFile(const TDesC& aFilename); + IMPORT_C TInt SendMessage(TUid aUid, const TDesC8& aParams); + +private: + TInt CheckSwitchFile() const; + void SendSystemEvent(TApaSystemEvent aEvent, TEventCode aType); +private: + RWsSession& iWsSession; + TInt iWgId; + TInt iTApaTask_Reserved1; + }; + +class TApaTaskList +/** Accesses tasks running on a device. + +Tasks can be identified by document, application specific UID or by caption +name. + +Users of this class can also cycle through a set of tasks running a specific +application, bringing each one, in turn, into the foreground. + +@publishedAll +@released +@see TApaTask */ + { +public: + /** Defines the direction in which tasks are cycled to the foreground. This is used + by the CycleTasks() function. + + @see TApaTaskList::CycleTasks() */ + enum TCycleDirection + { + /** Cycles the task list forwards, i.e. the foreground task is moved to background, + bringing the next foremost task to the foreground. */ + EForwards, + /** Cycles the list backwards, i.e. the task furthest from the foreground is brought + to the foreground, pushing what was the foremost task to the next ordinal + position. */ + EBackwards + }; +public: + IMPORT_C TApaTaskList(RWsSession& aWsSession); + IMPORT_C TApaTask FindApp(const TDesC& aAppName); + IMPORT_C TApaTask FindDoc(const TDesC& aDocName); + IMPORT_C TApaTask FindByPos(TInt aPos); + IMPORT_C TApaTask FindApp(TUid aAppUid); + IMPORT_C TInt CycleTasks(TUid aAppUid,TCycleDirection aDirection=EForwards); + +private: + void FindByPosL(TApaTask& aTask,TInt aPos); +private: + RWsSession& iWsSession; + TInt iTApaTaskList_Reserved1; + }; + + +#endif