diff -r 000000000000 -r 5d03bc08d59c windowing/windowserver/inc/openwfc/W32Debug.H --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/windowing/windowserver/inc/openwfc/W32Debug.H Tue Feb 02 01:47:50 2010 +0200 @@ -0,0 +1,124 @@ +// Copyright (c) 2008-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: +// Debug definitions designed to be used by client side test apps +// requiring access to the related special debug features. +// +// + +#ifndef W32DEBUG_H_ +#define W32DEBUG_H_ + +/** +@file +@publishedpartner +@released +*/ + +enum TWsDebugInfoFunc + { + EWsDebugInfoHeap=1, + EWsDebugSetCheckHeapOnDisconnectClient, + EWsDebugSetCheckHeapOnDisconnectMode, + EWsDebugFetchCheckHeapResult, + EWsDebugHeartBeatState, + EWsDebugSetAutoHeartBeatPauseState, + EWsDebugSetEventQueueTest, + + //Insert more unclassified diagnostics above + + EWsDebugUnclassifiedMax, //Please insert new unclassified IDs before this + + EWsDebugClassMask= 0xFF000000, + EWsDebugClassUnclassified= 0x00000000, + + EWsDebugClassScreenUiElement= 0x01000000, //specify EWsDebugArgScreenMask + EWsDebugGetFastpathMode, //return: TInt + EWsDebugSetFastpathMode, //set new mode in EWsDebugArgExtraMask (use 2-param method) + EWsDebugGetUIElementInfoList, //return: TInt[[ElementCount], [ElementId, ElementType, IsDisabled] * ElementCount]. + EWsDebugGetUIElementBase, //return: TRect[] + EWsDebugSetFastpathTestMode, //return: TBool + EWsDebugSetFastpathOomMode, //return: TInt + EWsDebugGetUIElementIds, //return: TInt[] + EWsDebugGetSceneElementIdOrder, //return: TInt[] + EWsDebugGetUIElementConfig, //return: TSurfaceConfig //Index UI Element via EWsDebugArgElementMask + EWsDebugGetUIRegionCommittedTime, //return: TTime + EWsDebugGetLastOptimizerError, //return: TInt + EWsDebugGetFastpathTypeDetected, //return: TInt + + EWsDebugClassScreenUiElementMax, + EWsDebugClassScreenElementSet= 0x02000000, //specify EWsDebugArgScreenMask + EWsDebugSerialSurfacesUpdated, //return: TInt - Note non-param version returns value not length + EWsDebugSurfaceWindowList, //return: TWsDebugWindowId[] + + EWsDebugClassScreenElementMax, + EWsDebugClassElementSetWindow= 0x03000000, //specify EWsDebugArgScreenMask, EWsDebugArgWindowMask + EWsDebugElementIdList, //return: TInt[] //entry 0 reserved for background + EWsDebugBackgroundConfig, //return: TSurfaceConfig + EWsDebugBackgroundBase, //return: TRect[] + EWsDebugBackgroundFlags, //return: TInt[2] + EWsDebugClassElementSetWindowMax, + EWsDebugClassElementSetElement= 0x04000000, //specify EWsDebugArgScreenMask, EWsDebugArgWindowMask, EWsDebugArgElementMask + EWsDebugPlacedConfig, //return: TSurfaceConfig + EWsDebugPlacedBase, //return: TRect[] + EWsDebugPlacedFlags, //return: TInt[2] + + EWsDebugClassElementSetElementMax, + //next elementset based class + EWsDebugClassElementNextAvail= 0x05000000, + + EWsDebugClassNonScreen= 0x10000000, + EWsDebugClassClientWindow= 0x11000000, //specify client identifier in aParam. Only owned windows can be accessed. + //Window diagnostics were not used during development so function ids and code have been removed. + EWsDebugCliWinGroupIdMask= 0x00FFFF00, + EWsDebugCliWinGroupIdShift= 16, + + }; + +struct TWsDebugWindowId + { //Root window has GroupId of 0x0000ffff, and clientid=screen number... + TInt iClientId; //Should be unique across all windows per client + TInt iOtherGroupId; //If zero, the window is owned by the calling RWsSession instance, + }; //else the wserv generated group ID is enough to map to other sessions. + +/** Use these masks with aParam to index the object being accessed + * + **/ +enum TWsDebugClassArgMask + { + EWsDebugArgScreenMask= 0x000000ff, + EWsDebugArgScreenShift= 0, + EWsDebugArgWindowMask= 0x0000ff00, + EWsDebugArgWindowShift= 8, + EWsDebugArgElementMask= 0x00ff0000, + EWsDebugArgElementShift= 16, + EWsDebugArgExtraMask= 0xff000000, + EWsDebugArgExtraShift= 24, + }; + +enum TWsCheckHeapOnDisconnectMode + { + EWsCheckHeapOnDisconnectModeNone=1, + EWsCheckHeapOnDisconnectModeOnce, + EWsCheckHeapOnDisconnectModeAlways, + }; + +struct TWsDebugHeapInfo + { + TInt iCount; + TInt iTotal; + TInt iAvailable; + TInt iLargestAvailable; + }; + +#endif //W32DEBUG_H_