Attempt to represent the S^2->S^3 header reorganisation as a series of "hg rename" operations
2 * Copyright (c) 2002-2007 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
18 #ifndef __AKNAPPUI_H__
19 #define __AKNAPPUI_H__
27 #include <AknTouchPaneObserver.h>
29 // FORWARD DECLARATIONS
30 class CEikButtonGroupContainer;
32 class CAknAppUiExtension;
33 class CAknWsEventMonitor;
34 class CAknKeySoundSystem;
35 class CAknAppUiBaseExtension;
38 class CAknPointerEventModifier;
41 #define iAvkonAppUi ((CAknAppUi*)CEikonEnv::Static()->EikAppUi())
42 #define iAvkonAppUiBase ((CAknAppUiBase*)CEikonEnv::Static()->EikAppUi())
45 * Avkon key resolver interface
49 class MAknAliasKeyCodeResolver
53 * Resolves keyboard layout dependent keycode for the given event
56 * @param aCode reference to variable to contain new keycode
57 * @param aKeyEvent reference to original, complete, event
58 * @param aType indicating original event type
59 * @return KErrNone on success, otherwise system wide error codes
61 virtual TInt GetAliasKeyCode(TUint& aCode, const TKeyEvent& aKeyEvent,TEventCode aType)=0;
67 * Abstract Avkon application UI base class
71 class CAknAppUiBase : public CEikAppUi
74 friend class CAknAppUi;
77 EAppOrientationSpecifiedFlag = 0x00010000, // In area reserved for System Guis
78 EAppOrientationLandscapeFlag = 0x00020000,
79 EAppOrientationAutomaticFlag = 0x00040000,
80 EAknEnableSkinFlag = 0x00080000,
82 EAknDisableHighlightAnimationFlag = 0x00100000,
83 EAknEnableMSKflag = 0x00200000,
85 * When enabled, avkon does not complete startup effect
86 * application has to do it by itself.
91 EAknExplicitStartupEffectCompletionFlag = 0x00400000,
94 * Application supports touch (doesn't need keyboard). If the flag
95 * is missing and compatibility mode is enabled in a device,
96 * application is run in a compatibility mode (QVGA window with a
101 EAknTouchCompatibleFlag = 0x00800000
106 enum TAppUiOrientation
109 * Use the default device screen rotation of the product for this
110 * application. This is the default rotation setting for an
111 * application, and it should be used by nearly all applications.
113 EAppUiOrientationUnspecified,
115 * Use a portrait screen rotation for this application.
116 * This should only be used when an application specifically wants
117 * portrait rotation. The device will select an appropriate portrait
118 * rotation, if one is available.
120 EAppUiOrientationPortrait,
122 * Use a landscape screen rotation for this application.
123 * This should only be used when an application specifically wants
124 * landscape rotation. The device will select an appropriate landscape
125 * rotation, if one is available.
127 EAppUiOrientationLandscape,
129 * Use the normal device screen rotation for this application.
130 * Both portrait and landscape screen rotations are possible. The
131 * application rotation follows device screen rotation.
133 EAppUiOrientationAutomatic
138 * Flag indicating that default skin parameters should be provided by
139 * UI controls created within the scope of this AppUi instance.
140 * This value (or binary combination with some other values) should
141 * be given as a parameter to <code>BaseConstructL</code> in case
142 * the application wants to enable default skin parameters for all
143 * the Avkon controls supporting them.
145 * Note: The value can be queried by using
146 * <code>AknsUtils::AvkonSkinEnabled()</code> from AknSkins.lib.
150 EAknEnableSkin = EAknEnableSkinFlag,
151 EAppOrientationPortrait = EAppOrientationSpecifiedFlag,
152 EAppOrientationLandscape = EAppOrientationSpecifiedFlag
153 | EAppOrientationLandscapeFlag,
154 EAppOrientationAutomatic = EAppOrientationSpecifiedFlag
155 | EAppOrientationAutomaticFlag,
157 EAknDisableHighlightAnimation = EAknDisableHighlightAnimationFlag,
159 EAknEnableMSK = EAknEnableMSKflag,
161 EAknExplicitStartupEffectCompletion = EAknExplicitStartupEffectCompletionFlag,
163 EAknTouchCompatible = EAknTouchCompatibleFlag
167 EDisableSendKeyShort = 0x01, // Short press of send key
168 EDisableSendKeyLong = 0x02 // Long press of send key
175 IMPORT_C ~CAknAppUiBase();
178 * C++ Default constructor.
180 IMPORT_C CAknAppUiBase();
184 * Initialises this Avkon base app UI with standard values.
185 * @c aAppUiFlags values are common with
186 * @c CEikAppUi::BaseConstructL(aAppUiFlags).
187 * @param aAppUiFlags Application user interface flags.
189 IMPORT_C void BaseConstructL( TInt aAppUiFlags );
192 * Handles changes in keyboard focus when an application switches to,
193 * or from, the foreground. This function calls
194 * @c CEikAppUi::HandleForegroundEventL.
195 * @param aForeground @c ETrue if the application is in the foreground,
196 * otherwise @c EFalse.
198 IMPORT_C void HandleForegroundEventL(TBool aForeground);
200 public: // From CEikAppUi
203 * From @c CEikAppUi. Completes construction. The implementation of
204 * @c ConstructL() in @c CAknAppUiBase simply calls @c BaseConstructL().
206 IMPORT_C void ConstructL(); // virtual
209 * From @c CEikAppUi. Closes the app UI.
211 IMPORT_C void Exit(); //virtual
214 * From @c CEikAppUi. Sets whether the windows are faded.
215 * @param aFaded @c ETrue if windows are faded, otherwise windows are
218 IMPORT_C void SetFadedL(TBool aFaded); // virtual
221 * From @c CEikAppUi. Handles a change to the application's resources which
222 * are shared across the environment. This function calls
223 * @c CEikAppUi::HandleResourceChangeL except when @c aType is
224 * @c KEikDynamicLayoutVariantSwitch.
225 * @param aType The type of resources that have changed.
227 IMPORT_C void HandleResourceChangeL(TInt aType); // virtual
230 * From @c CEikAppUi. Gets the total area of the screen available to the
231 * application. This includes the space that is available for a toolbar,
232 * toolband or title band, if the application requires them.
233 * @return The total area of the screen available to the application.
235 IMPORT_C TRect ApplicationRect() const; //virtual
237 public: // from CCoeAppUiBase
240 * From @c CCoeAppUiBase. Performs pre-exit processing by calling
241 * @c CEikAppUi::PrepareToExit() to ensure the application will exit
244 IMPORT_C void PrepareToExit();
245 public: // New Functions
247 * Determines whether the system is faded.
248 * @return @c ETrue if system is faded
250 IMPORT_C TBool IsFaded() const;
253 * Returns the object which allows events to be spyed upon in addition to
254 * normal event handling.
255 * @return Pointer to window server event monitor object.
257 IMPORT_C CAknWsEventMonitor* EventMonitor() const;
260 * Gets a pointer to KeySound API object.
261 * @return Pointer to KeySound API object.
263 IMPORT_C CAknKeySoundSystem* KeySounds() const;
266 * Determines whether the application is full screen application.
267 * @return @c ETrue if the application is full screen application.
269 IMPORT_C TBool IsFullScreenApp() const;
272 * Determines whether the application is layout aware.
273 * @return @c ETrue if the application is layout aware.
275 IMPORT_C TBool IsLayoutAwareApp() const;
278 * Determines whether the application has MSK enabled.
279 * @return @c ETrue if the application has MSK enabled.
283 TBool IsMSKEnabledApp() const;
286 * Determines whether the application is closing.
287 * In practice this means that CEikonEnv has been destroyed.
288 * @return @c ETrue if the application is closing.
292 TBool IsAppClosing() const;
295 * Set application layout aware.
296 * @param aLayoutAwareApp @c ETrue if the application is layout aware,
297 * @c EFlase otherwise.
299 IMPORT_C void SetLayoutAwareApp(TBool aLayoutAwareApp);
302 * Determines whether the application is foreground.
303 * @return @c ETrue if the application is foreground.
305 IMPORT_C TBool IsForeground() const;
308 * Determines whether the application is partially foreground.
309 * @return @c ETrue if the application is partially foreground.
311 IMPORT_C TBool IsPartialForeground() const;
314 * Gets the application screen orientation.
315 * @return Application screen orientation.
317 IMPORT_C TAppUiOrientation Orientation() const;
320 * Tests whether it is possible for this app to have a
321 * practical effect on the screen orientation, through
324 * @return ETrue if SetOrientationL can change the orientation, EFalse otherwise.
326 IMPORT_C TBool OrientationCanBeChanged() const;
329 * Sets the application screen orientation.
330 * Note: this API has no effect on non-full-screen app UIs.
331 * @param aOrientation application screen orientation.
333 IMPORT_C void SetOrientationL(TAppUiOrientation aOrientation);
336 * Find the window group ID of the application below this application.
337 * @return the window group ID of the application below this application.
339 TInt FindAppWgIdBelowMeL();
342 * Simply return @c KEikPartialForeground if @c aPartialFg == @c ETrue,
343 * otherwise if @c aForeground == @c ETrue then return @c EEventFocusGained
344 * else return @c EEventFocusLost.
345 * @return if @c aPartialFg then return KEikPartialForeground.
347 TInt EventForForegroundState(TBool aPartialFg, TBool aForeground);
350 * Determines whether the thread owning this application window group is
352 * @return @c ETrue if the thread owning this application window group is
353 * foreground, @c EFlase otherwise.
355 TBool ThreadIsForeground() const;
358 * Simulates an event being received from wserv
359 * @param aEvent the event id being simulated.
361 void SimulateWsEventL(TInt aEvent);
364 * Gets the application local zoom
365 * @return Application local zoom
368 IMPORT_C TAknUiZoom LocalUiZoom() const;
371 * Sets the application local zoom. However, in order to have any
372 * effect, it may be necessary to make a subsequent call to
373 * @c ApplyLayoutChangeL.
375 * @param aZoom application local zoom
378 IMPORT_C void SetLocalUiZoom(TAknUiZoom aZoom);
381 * Can be used to apply changes to settings that affect the current layout,
382 * such as changes to the local zoom. Optionally reports the change
383 * to the layout to all controls in the application. There are a number of
384 * different possible usages of this API:
386 * <li> Can be used to immediately change the local zoom, by passing in
387 * ETrue for the reporting parameter.</li>
388 * <li> Can be called before BaseConstructL without leaving, the effect
389 * is the same as passing EFalse for the reporting parameter, as
390 * the correct layout data is picked up later on during control layout.</li>
391 * <li>Can be used by implementors of the
392 * @c MAknSettingCacheUpdatePlugin interface, in order to set the local
393 * zoom whilst updating the settings cache. By passing in EFalse for the
394 * reporting parameter, the layout switch is deferred to the usual
395 * processing in @c UpdateSettingCacheAndForwardEventL.</li>
396 * <li> Can be used by controls that require a different local zoom to
397 * the underlying application, such as a dialog. By not
398 * reporting the change during construction, the dialog will lay itself out
399 * correctly. However, the dialog must then report the change back to the
400 * app zoom level when it closes, ignoring the resulting resource changed
401 * layout switch event.</li>
404 * @param aReportChange if this is true, then the layout event will be
405 * reported to controls on the control stack
408 IMPORT_C void ApplyLayoutChangeL(TBool aReportChange);
411 * Checks if application UI has full or partial foreground status.
413 * @return ETrue if application UI has full or partial foreground status.
416 TBool HasFullOrPartialForeground() const;
419 * Sets the flags for default key event handling
421 * @param aFlags which can be a combination of flags
422 * declared in enumeration TKeyEventFlag
424 IMPORT_C void SetKeyEventFlags( const TInt aFlags );
427 * Returns a pointer to appui's pointer event modifier. This method is
428 * intended for internal usage only.
431 * @return pointer event modifier
433 IMPORT_C CAknPointerEventModifier* PointerEventModifier();
436 * Checks if the application is touch compatible i.e. it has been
437 * constructed with the flag EAknTouchCompatible.
440 * @return ETrue if the application is touch compatible
442 IMPORT_C TBool IsTouchCompatible() const;
444 protected: // From CCoeAppUiBase
446 * From @c CCoeAppUiBase.
447 * Calls CCoeAppUi::HandleScreenDeviceChangedL().
449 IMPORT_C virtual void HandleScreenDeviceChangedL(); // was Reserved_1()
451 protected: // From CCoeAppUi
454 * From @c CCoeAppUi. Handles an application specific event.
455 * @param aType The type of the event that occurred. This should be a
456 * unique identifier constant.
457 * @param aEvent The window server event that occurred.
459 IMPORT_C virtual void HandleApplicationSpecificEventL(TInt aType,
460 const TWsEvent& aEvent);
462 protected: // New functions
464 * Set the application to be a full screen application.
465 * @param aIsFullScreen is @c ETrue if the application is a full screen
466 * application, @c EFlase otherwise.
468 IMPORT_C void SetFullScreenApp(TBool aIsFullScreen);
471 * Replace current key sound server with new one.
472 * @param aUid ID of the new key sound server.
474 IMPORT_C void ReplaceKeySoundsL( TInt aUid );
476 protected: // from MObjectProvider
477 IMPORT_C virtual TTypeUid::Ptr MopSupplyObject(TTypeUid aId);
479 public: // not exported
480 void SetScreenModeL(TInt aModeNumber);
481 TInt ScreenMode() const;
484 void UpdateSettingCacheAndForwardEventL( TInt aEventId );
485 // Method tests on aError. If < KErrNone, it calls CCoeEnv::SetAppUi in order to pass
486 // ownership to the environment. CCoeEnv then will delete the AppUi at the usual point in the destruct order
487 void SetAppUiAndLeaveIfErrorL( TInt aError );
488 TBool AlwaysForwardEvent( TInt aEventId );
489 void RelinquishPriorityToForegroundAppLC();
492 // Avkon app ui class flags
495 // Added for Avkon. Monitor events for emergency call support
496 CAknWsEventMonitor* iEventMonitor;
498 // Added for Avkon. Provides access to keysound server.
499 // Moved from CAknAppUi, because CEikSrvUi needs it as well
500 CAknKeySoundSystem* iKeySounds;
502 CAknAppUiBaseExtension* iAppUiBaseExtension;
506 * Abstract Avkon application UI class
511 class CAknAppUi : public CAknAppUiBase, MEikStatusPaneObserver,
512 public MCoeViewDeactivationObserver,
513 public MAknTouchPaneObserver
518 * Initialises this Avkon app UI with standard values. @c aAppUiFlags
519 * values are common with @c CEikAppUi::BaseConstructL(aAppUiFlags).
520 * Additionally those @c aAppUiFlags values can be bitwise ORed with
521 * @c EAknEnableSkin flag to provide default skin parameters for this AppUi
523 * @param aAppUiFlags Application user interface flags.
525 IMPORT_C void BaseConstructL(TInt aAppUiFlags=EStandardApp);
530 IMPORT_C ~CAknAppUi();
532 public: // From CEikAppUi
534 * From @c CEikAppUi. Completes construction. The implementation of
535 * @c ConstructL() in @c CAknAppUi simply calls @c BaseConstructL().
537 IMPORT_C void ConstructL(); // virtual
541 * Gets a pointer to the status pane.
542 * @return Pointer to the status pane
544 IMPORT_C CEikStatusPane* StatusPane();
546 * Gets a pointer to the Command Button Area.
547 * @return Pointer to the CBA
549 IMPORT_C CEikButtonGroupContainer* Cba();
552 * Gets a pointer to the touch pane.
553 * @return Pointer to the the touch pane
556 IMPORT_C CAknTouchPane* TouchPane();
559 * Gets a pointer to the application toolbar.
560 * @return Pointer to the applicaton toolbar or NULL
563 IMPORT_C CAknToolbar* PopupToolbar() const;
566 * Gets a pointer to the current toolbar( view toolbar is priority ).
567 * @return Pointer to the current toolbar or NULL
570 IMPORT_C CAknToolbar* CurrentPopupToolbar() const;
573 * Gets a pointer to the current fixed toolbar( view toolbar is priority ).
574 * @return Pointer to the current fixed toolbar or NULL
577 IMPORT_C CAknToolbar* CurrentFixedToolbar() const;
581 * Hides popup toolbar if it is visible
584 void StopDisplayingPopupToolbar();
588 * Processes user commands.
589 * This function passes @c aCommand (except values @c EAknSoftkeyOptions,
590 * @c EAknCmdExit, @c EEikCmdCanceled) to user derived @c HandleCommandL.
591 * @param aCommand A command ID.
593 IMPORT_C void ProcessCommandL(TInt aCommand);
598 * @param aError The error code.
599 * @param aExtErr For extended error messages. Not used.
600 * @param aErrorText Error text. Not used.
601 * @param aContextText Text describing the context of the error. Not used.
602 * @return @c ENoDisplay if Error handled proper way, else
603 * @c EErrorNotHandled
605 IMPORT_C TErrorHandlerResponse HandleError (TInt aError,
606 const SExtendedError& aExtErr, TDes& aErrorText, TDes& aContextText);
609 * Run the application shutter if it exists.
611 IMPORT_C void RunAppShutter();
614 * Determines whether the application shutter is active.
615 * @return @c ETrue if application shutter is active.
617 IMPORT_C TBool IsAppShutterRunning() const;
620 * Determines whether the application is hidden in background.
621 * (i.e. HideInBackground has been called and application has not
622 * yet been activated)
623 * @return @c ETrue if application is hidden in background.
625 TBool IsAppHiddenInBackground() const;
627 public: // MCoeViewDeactivationObserver
630 * From @c MCoeViewDeactivationObserver.
631 * Handles the deactivation of the view identified by
632 * @c aViewIdToBeDeactivated before the newly activated view with id
633 * @c aNewlyActivatedViewId is marked as current.
634 * Default implementation calls @c iAvkonEnv->CloseAllIntermediateStates()
635 * without using @c aViewIdToBeDeactivated and @c aNewlyActivatedViewId.
636 * @param aViewIdToBeDeactivated
637 * @param aNewlyActivatedViewId
639 IMPORT_C virtual void HandleViewDeactivation(
640 const TVwsViewId& aViewIdToBeDeactivated,
641 const TVwsViewId &aNewlyActivatedViewId);
643 public: // from CCoeAppUiBase
646 * From @c CCoeAppUiBase. Performs pre-exit processing to ensure the
647 * application will exit cleanly.
649 IMPORT_C void PrepareToExit();
651 public: // from MAknTouchPaneObserver
654 * From @MAknTouchPaneObserver.
655 * Handles a change in the size or position of touch pane.
657 IMPORT_C void HandleTouchPaneSizeChange();
660 // from MEikStatusPaneObserver
662 * From @c MEikStatusPaneObserver. Handles a change in the position or size
663 * of the screen area occupied by the status pane.
665 IMPORT_C void HandleStatusPaneSizeChange();
669 * From @c CCoeAppUi. Handles system events generated by the window server.
670 * @param aEvent The window server event that occurred.
672 IMPORT_C void HandleSystemEventL(const TWsEvent& aEvent);
674 protected: // formerly from MTopSetMember<CEikMenuBar>, now reserved
675 IMPORT_C virtual void Reserved_MtsmPosition();
676 IMPORT_C virtual void Reserved_MtsmObject();
680 * Handles changes in keyboard focus when an application switches to,
681 * or from, the foreground.
682 * @param aForeground @c ETrue if the application is in the foreground,
683 * otherwise @c EFalse.
685 IMPORT_C void HandleForegroundEventL(TBool aForeground);
688 * Handles window server events.
689 * @param aEvent The window server event that occurred.
690 * @param aDestination The control associated with the event.
692 IMPORT_C void HandleWsEventL(const TWsEvent& aEvent,
693 CCoeControl* aDestination);
696 * Set key block mode.
697 * In default mode, the S60 Developer Platform blocks simultaneous key
699 * @param aMode @c ENoKeyBlock if no key block, otherwise
700 * @c EDefaultBlockMode
702 IMPORT_C void SetKeyBlockMode(TAknKeyBlockMode aMode);
703 IMPORT_C void HandleErrorL(TInt aError, HBufC** aErrorDesc, TBool aShowNote = ETrue );
708 * Prints out information about the control and all its subcontrols to
710 * @param aControl object to be printed.
711 * @param aLevel positioning constant.
712 * @param aDebug stream for printing.
714 void DumpControl(CCoeControl* aControl, TInt aLevel, RDebug& aDebug);
717 * Try to set window server buffer size to @c KAknDefaultWsBufferSize.
719 void DecideWsClientBufferSizesL();
722 void UpdateKeyBlockMode();
723 TBool SimulateHashKeyMarkingEvent(const TWsEvent& aEvent);
726 TBool iDumpNextControl;
727 CAknAppShutter* iAppShutter;// May be set to NULL by the app shutter itself
728 TAknKeyBlockMode iBlockMode;
729 CAknAppUiExtension * iExtension;
733 * Hide application from Fast-swap window.
735 * @param aHide @c ETrue if application is hided from Fast-swap window, otherwise
738 IMPORT_C void HideApplicationFromFSW(TBool aHide=ETrue);
741 * Gets keyboard layout specific keycode. Uses given resolver
742 * SetAliasKeyCodeResolverL() if set, by default
743 * fetches alternative code from avkon server.
746 * @param aCode reference to variable to contain new keycode
747 * @param aKeyEvent reference to original, complete, event
748 * @param aType indicating original event type
750 IMPORT_C void GetAliasKeyCodeL(TUint& aCode, const TKeyEvent& aKeyEvent,TEventCode aType);
753 * Sets custom resolver for keycode aliases
754 * Creates iExtension if it doesn't exist
756 * @param aHandler instance implementing MAknAliasKeyCodeResolver
758 IMPORT_C void SetAliasKeyCodeResolverL(MAknAliasKeyCodeResolver* aResolver);
761 * This is same as RWindowGroup::CaptureKey, except that this version takes
762 * S60 keymappings into account and captures the key that produces requested
763 * aKeyCode according to S60 keymappings. Standard RWindowgroup::CaptureKey
764 * functionality takes place before S60 AppUi framework and has no knowledge
765 * of S60 keymappings.
766 * Note: This method requires same capabilites as RWindowGroup::CaptureKey()
769 * @param aKeycode The key code for the key to be captured. Key codes for
770 * special keys are defined in TKeyCode.
771 * @param aModifier Mask Only the modifier keys in this mask are tested against
772 * the states specified in aModifier.
773 * @param aModifier The key is captured only when the modifier keys specified in
774 * aModifierMask match these states, where 1=modifier set,
775 * and 0=modifier not set. Modifier key states are defined
777 * @return A handle identifying the capture key, or one of the system-wide error
778 * codes (if <0). Handles should be kept in order to be passed to
779 * CancelCaptureKey() later.
781 IMPORT_C TInt32 CaptureKey(TUint aKeycode, TUint aModifierMask, TUint aModifier);
784 * This is same as RWindowGroup::CaptureKey, except that this version takes
785 * S60 keymappings into account and captures the key that produces requested
786 * aKeyCode according to S60 keymappings. This version leaves instead of returning
787 * an error code. Standard RWindowgroup::CaptureKey functionality takes place
788 * before S60 AppUi framework and has no knowledge of S60 keymappings.
789 * Note: This method requires same capabilites as RWindowGroup::CaptureKey()
792 * @param aKeycode The key code for the key to be captured. Key codes for
793 * special keys are defined in TKeyCode.
794 * @param aModifier Mask Only the modifier keys in this mask are tested against
795 * the states specified in aModifier.
796 * @param aModifier The key is captured only when the modifier keys specified in
797 * aModifierMask match these states, where 1=modifier set,
798 * and 0=modifier not set. Modifier key states are defined
800 * @param aHandle identifying the capture key. Handles should be kept in order
801 * to be passed to CancelCaptureKey() later.
803 IMPORT_C void CaptureKeyL(TUint aKeycode, TUint aModifierMask, TUint aModifier, TInt32& aHandle);
806 * This tells the application if it is allowed to hide itself in the
807 * background in response to a user (menu or softkey) exit command,
808 * instead of actually exiting.
809 * If the application appears to exit, but actually leaves itself in
810 * memory, it may appear to start faster next time the user activates it.
813 * @return ETrue if the application can hide itself in the background,
814 * EFalse if it must exit properly by calling Exit().
816 IMPORT_C TBool ExitHidesInBackground() const;
819 * Hide the running instance of this application from the user, which
820 * makes it appear as if the application has exited.
821 * This is done by placing the application in the background, behind
822 * all other apps, and removing the application from the Fast Swap Window.
823 * When the application comes to the foreground again, it will be
824 * restored to the Fast Swap Window (in HandleForegroundEventL). If the
825 * application is not supposed to be in the Fast Swap Window, it will have
826 * to remove itself again.
829 IMPORT_C void HideInBackground();
832 * Disables next key sound (and repeated key sounds until pointer up event).
835 * @param aScanCode Scan code of disabled key.
837 IMPORT_C void DisableNextKeySound( TInt aScanCode );
840 TBool ExitHidesInBackgroundL() const;