First public contribution.
1 // Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
14 // Debug definitions designed to be used by client side test apps
15 // requiring access to the related special debug features.
31 EWsDebugSetCheckHeapOnDisconnectClient,
32 EWsDebugSetCheckHeapOnDisconnectMode,
33 EWsDebugFetchCheckHeapResult,
34 EWsDebugHeartBeatState,
35 EWsDebugSetAutoHeartBeatPauseState,
36 EWsDebugSetEventQueueTest,
38 //Insert more unclassified diagnostics above
40 EWsDebugUnclassifiedMax, //Please insert new unclassified IDs before this
42 EWsDebugClassMask= 0xFF000000,
43 EWsDebugClassUnclassified= 0x00000000,
45 EWsDebugClassScreenUiElement= 0x01000000, //specify EWsDebugArgScreenMask
46 EWsDebugGetFastpathMode, //return: TInt
47 EWsDebugSetFastpathMode, //set new mode in EWsDebugArgExtraMask (use 2-param method)
48 EWsDebugGetUIElementInfoList, //return: TInt[[ElementCount], [ElementId, ElementType, IsDisabled] * ElementCount].
49 EWsDebugGetUIElementBase, //return: TRect[]
50 EWsDebugSetFastpathTestMode, //return: TBool
51 EWsDebugSetFastpathOomMode, //return: TInt
52 EWsDebugGetUIElementIds, //return: TInt[]
53 EWsDebugGetSceneElementIdOrder, //return: TInt[]
54 EWsDebugGetUIElementConfig, //return: TSurfaceConfig //Index UI Element via EWsDebugArgElementMask
55 EWsDebugGetUIRegionCommittedTime, //return: TTime
56 EWsDebugGetLastOptimizerError, //return: TInt
57 EWsDebugGetFastpathTypeDetected, //return: TInt
59 EWsDebugClassScreenUiElementMax,
60 EWsDebugClassScreenElementSet= 0x02000000, //specify EWsDebugArgScreenMask
61 EWsDebugSerialSurfacesUpdated, //return: TInt - Note non-param version returns value not length
62 EWsDebugSurfaceWindowList, //return: TWsDebugWindowId[]
64 EWsDebugClassScreenElementMax,
65 EWsDebugClassElementSetWindow= 0x03000000, //specify EWsDebugArgScreenMask, EWsDebugArgWindowMask
66 EWsDebugElementIdList, //return: TInt[] //entry 0 reserved for background
67 EWsDebugBackgroundConfig, //return: TSurfaceConfig
68 EWsDebugBackgroundBase, //return: TRect[]
69 EWsDebugBackgroundFlags, //return: TInt[2]
70 EWsDebugClassElementSetWindowMax,
71 EWsDebugClassElementSetElement= 0x04000000, //specify EWsDebugArgScreenMask, EWsDebugArgWindowMask, EWsDebugArgElementMask
72 EWsDebugPlacedConfig, //return: TSurfaceConfig
73 EWsDebugPlacedBase, //return: TRect[]
74 EWsDebugPlacedFlags, //return: TInt[2]
76 EWsDebugClassElementSetElementMax,
77 //next elementset based class
78 EWsDebugClassElementNextAvail= 0x05000000,
80 EWsDebugClassNonScreen= 0x10000000,
81 EWsDebugClassClientWindow= 0x11000000, //specify client identifier in aParam. Only owned windows can be accessed.
82 //Window diagnostics were not used during development so function ids and code have been removed.
83 EWsDebugCliWinGroupIdMask= 0x00FFFF00,
84 EWsDebugCliWinGroupIdShift= 16,
88 struct TWsDebugWindowId
89 { //Root window has GroupId of 0x0000ffff, and clientid=screen number...
90 TInt iClientId; //Should be unique across all windows per client
91 TInt iOtherGroupId; //If zero, the window is owned by the calling RWsSession instance,
92 }; //else the wserv generated group ID is enough to map to other sessions.
94 /** Use these masks with aParam to index the object being accessed
97 enum TWsDebugClassArgMask
99 EWsDebugArgScreenMask= 0x000000ff,
100 EWsDebugArgScreenShift= 0,
101 EWsDebugArgWindowMask= 0x0000ff00,
102 EWsDebugArgWindowShift= 8,
103 EWsDebugArgElementMask= 0x00ff0000,
104 EWsDebugArgElementShift= 16,
105 EWsDebugArgExtraMask= 0xff000000,
106 EWsDebugArgExtraShift= 24,
109 enum TWsCheckHeapOnDisconnectMode
111 EWsCheckHeapOnDisconnectModeNone=1,
112 EWsCheckHeapOnDisconnectModeOnce,
113 EWsCheckHeapOnDisconnectModeAlways,
116 struct TWsDebugHeapInfo
121 TInt iLargestAvailable;