os/graphics/windowing/windowserver/inc/openwfc/W32Debug.H
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
sl@0
     1
// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0
     2
// All rights reserved.
sl@0
     3
// This component and the accompanying materials are made available
sl@0
     4
// under the terms of "Eclipse Public License v1.0"
sl@0
     5
// which accompanies this distribution, and is available
sl@0
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     7
//
sl@0
     8
// Initial Contributors:
sl@0
     9
// Nokia Corporation - initial contribution.
sl@0
    10
//
sl@0
    11
// Contributors:
sl@0
    12
//
sl@0
    13
// Description:
sl@0
    14
// Debug definitions designed to be used by client side test apps
sl@0
    15
// requiring access to the related special debug features.
sl@0
    16
// 
sl@0
    17
//
sl@0
    18
sl@0
    19
#ifndef W32DEBUG_H_
sl@0
    20
#define W32DEBUG_H_
sl@0
    21
sl@0
    22
/**
sl@0
    23
@file
sl@0
    24
@publishedpartner 
sl@0
    25
@released
sl@0
    26
*/
sl@0
    27
sl@0
    28
enum TWsDebugInfoFunc
sl@0
    29
	{
sl@0
    30
	EWsDebugInfoHeap=1,
sl@0
    31
	EWsDebugSetCheckHeapOnDisconnectClient,
sl@0
    32
	EWsDebugSetCheckHeapOnDisconnectMode,
sl@0
    33
	EWsDebugFetchCheckHeapResult,
sl@0
    34
	EWsDebugHeartBeatState,
sl@0
    35
	EWsDebugSetAutoHeartBeatPauseState,
sl@0
    36
	EWsDebugSetEventQueueTest,
sl@0
    37
	
sl@0
    38
	//Insert more unclassified diagnostics above
sl@0
    39
	
sl@0
    40
	EWsDebugUnclassifiedMax,	//Please insert new unclassified IDs before this 
sl@0
    41
sl@0
    42
	EWsDebugClassMask=				0xFF000000,
sl@0
    43
	EWsDebugClassUnclassified=		0x00000000,
sl@0
    44
	
sl@0
    45
	EWsDebugClassScreenUiElement=		0x01000000,		//specify EWsDebugArgScreenMask
sl@0
    46
		EWsDebugGetFastpathMode,		//return: TInt
sl@0
    47
		EWsDebugSetFastpathMode,		//set new mode in EWsDebugArgExtraMask (use 2-param method)
sl@0
    48
		EWsDebugGetUIElementInfoList,		//return: TInt[[ElementCount], [ElementId, ElementType, IsDisabled] * ElementCount].
sl@0
    49
		EWsDebugGetUIElementBase,			//return: TRect[]
sl@0
    50
		EWsDebugSetFastpathTestMode,	//return: TBool
sl@0
    51
		EWsDebugSetFastpathOomMode,		//return: TInt
sl@0
    52
		EWsDebugGetUIElementIds,			//return: TInt[]
sl@0
    53
		EWsDebugGetSceneElementIdOrder,		//return: TInt[]
sl@0
    54
		EWsDebugGetUIElementConfig,		//return: TSurfaceConfig		//Index UI Element via EWsDebugArgElementMask
sl@0
    55
		EWsDebugGetUIRegionCommittedTime,	//return: TTime
sl@0
    56
		EWsDebugGetLastOptimizerError,	//return: TInt
sl@0
    57
		EWsDebugGetFastpathTypeDetected,	//return: TInt
sl@0
    58
		
sl@0
    59
		EWsDebugClassScreenUiElementMax,
sl@0
    60
	EWsDebugClassScreenElementSet=	0x02000000,		//specify EWsDebugArgScreenMask
sl@0
    61
		EWsDebugSerialSurfacesUpdated,	//return: TInt - Note non-param version returns value not length
sl@0
    62
		EWsDebugSurfaceWindowList,		//return: TWsDebugWindowId[]
sl@0
    63
		
sl@0
    64
		EWsDebugClassScreenElementMax,
sl@0
    65
	EWsDebugClassElementSetWindow=	0x03000000,		//specify EWsDebugArgScreenMask, EWsDebugArgWindowMask
sl@0
    66
		EWsDebugElementIdList,			//return: TInt[]	//entry 0 reserved for background
sl@0
    67
		EWsDebugBackgroundConfig,		//return: TSurfaceConfig
sl@0
    68
		EWsDebugBackgroundBase,			//return: TRect[]
sl@0
    69
		EWsDebugBackgroundFlags,		//return: TInt[2]
sl@0
    70
		EWsDebugClassElementSetWindowMax,
sl@0
    71
	EWsDebugClassElementSetElement=		0x04000000,		//specify EWsDebugArgScreenMask, EWsDebugArgWindowMask, EWsDebugArgElementMask
sl@0
    72
		EWsDebugPlacedConfig,			//return: TSurfaceConfig
sl@0
    73
		EWsDebugPlacedBase,				//return: TRect[]
sl@0
    74
		EWsDebugPlacedFlags,			//return: TInt[2]
sl@0
    75
		
sl@0
    76
		EWsDebugClassElementSetElementMax,
sl@0
    77
	//next elementset based class
sl@0
    78
	EWsDebugClassElementNextAvail=	0x05000000,
sl@0
    79
		
sl@0
    80
	EWsDebugClassNonScreen=			0x10000000,
sl@0
    81
	EWsDebugClassClientWindow=		0x11000000,		//specify client identifier in aParam. Only owned windows can be accessed.
sl@0
    82
		//Window diagnostics were not used during development so function ids and code have been removed.
sl@0
    83
	EWsDebugCliWinGroupIdMask=		0x00FFFF00,
sl@0
    84
	EWsDebugCliWinGroupIdShift=		16,
sl@0
    85
	
sl@0
    86
	};
sl@0
    87
sl@0
    88
struct TWsDebugWindowId
sl@0
    89
	{						//Root window has GroupId of 0x0000ffff, and clientid=screen number...
sl@0
    90
	TInt iClientId;			//Should be unique across all windows per client
sl@0
    91
	TInt iOtherGroupId;		//If zero, the window is owned by the calling RWsSession instance, 
sl@0
    92
	};						//else the wserv generated group ID is enough to map to other sessions.
sl@0
    93
	
sl@0
    94
/** Use these masks with aParam to index the object being accessed
sl@0
    95
 * 
sl@0
    96
 **/
sl@0
    97
enum TWsDebugClassArgMask
sl@0
    98
	{
sl@0
    99
	EWsDebugArgScreenMask=	0x000000ff,
sl@0
   100
	EWsDebugArgScreenShift=	0,
sl@0
   101
	EWsDebugArgWindowMask=	0x0000ff00,
sl@0
   102
	EWsDebugArgWindowShift=	8,
sl@0
   103
	EWsDebugArgElementMask=	0x00ff0000,
sl@0
   104
	EWsDebugArgElementShift=	16,
sl@0
   105
	EWsDebugArgExtraMask=	0xff000000,
sl@0
   106
	EWsDebugArgExtraShift=	24,
sl@0
   107
	};
sl@0
   108
sl@0
   109
enum TWsCheckHeapOnDisconnectMode
sl@0
   110
	{
sl@0
   111
	EWsCheckHeapOnDisconnectModeNone=1,
sl@0
   112
	EWsCheckHeapOnDisconnectModeOnce,
sl@0
   113
	EWsCheckHeapOnDisconnectModeAlways,
sl@0
   114
	};
sl@0
   115
sl@0
   116
struct TWsDebugHeapInfo
sl@0
   117
	{
sl@0
   118
	TInt iCount;
sl@0
   119
	TInt iTotal;
sl@0
   120
	TInt iAvailable;
sl@0
   121
	TInt iLargestAvailable;
sl@0
   122
	};
sl@0
   123
sl@0
   124
#endif //W32DEBUG_H_