Applied patch 1, to provide a syborg specific minigui oby file.
Need to compare this with the "stripped" version currently in the tree.
This supplied version applies for Nokia builds, but need to repeat the
test for SF builds to see if pruning is needed, or if the file needs to
be device-specific.
// Copyright (c) 2003-2010 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:
// Window server panics
//
//
#ifndef __PANICS_H__
#define __PANICS_H__
#include <e32def.h>
#include <e32cmn.h>
enum TWservPanic
{
EWsPanicTemp = 0, // Used for panics that aren't intended to be left in the code
EWsPanicInvalidInvalidArea = 1,
EWsPanicArea = 2,
EWsPanicRegion = 3,
EWsPanicQueueUpdateCount = 4,
EWsPanicUnknownCaptureKey = 5,
EWsPanicInvalidCursorType = 6,
EWsPanicInvalidRegion = 7,
EWsPanicInvalidArea = 8,
EWsPanicTextCursorFocus = 9,
EWsPanicWindowType = 10,
EWsPanicRootCommand = 11,
EWsPanicWindowCheck = 12,
EWsPanicFailedToInitialise = 13,
EWsPanicBadActiveGcList = 14,
//EWsPanicShadowLockingError = 15,
EWsPanicBackupRegion = 16,
EWsPanicKeyRepeat = 17 ,
EWsPanicErrorInRegion = 18,
EWsPanicRedrawQueueError = 19,
EWsPanicRegionErrorCheck = 20, // NOT USED
EWsPanicPointerRepeatTimerStatus = 21,
EWsPanicCheckEventQueue = 22,
EWsPanicEventQueueCopy = 23,
EWsPanicFontCacheCount = 24,
//EWsPanicNegativeShadow = 25,
EWsPanicPointerClaimGrab = 26,
EWsPanicPointerCursorAccessCount = 27,
EWsPanicSetOrdinalPos = 28,
EWsPanicGcStructSizeError = 29,
EWsPanicPointerTimer = 30,
EWsPanicNullDeviceHandle = 31, //A function returned a NULL device handle unexpectantly
EWsPanicColorModeInconsitency = 32, //Logic error while analysing the nature of Color Modes
EWsPanicCurrentlyFaded = 33, //Should not do while window is fadded
EWsPanicEventType = 34, //Must be a pointer event
EWsPanicObjectIndexError = 35, //Object being removed has wrong type
EWsPanicAnimHasNoWindow = 36, //This AnimDLL function needs the Anim to have a window
EWsPanicSpriteAlreadyActive = 37, //An attempt to activate an active sprite
EWsPanicAlreadyHaveBackup = 38, //Getting backup behind when already got it
EWsPanicSpriteHiddenCount = 39, //The Sprite's hidden count is inconsistent with the action being performed on it
EWsPanicRawEventsTypeChanged = 40, //Changes to the Raw Event Type List will probably break this code
EWsPanicEventHandlerInconsistency = 41, //The number of things claiming to be event handlers doesn't make sence
EWsPanicBackupStateError = 42, //Something has gone wrong with the state of the Backup classes
EWsPanicRegionNull = 43, //A region shouldn't be NULL or set to the nullRegion at this point
//EWsPanicShadowError = 44, //The shadows have not be updated correctly
EWsPanicDirectScreenAccess = 45, //Error in the state machine of or logic error in Direct Screen Access code
EWsPanicClickPluginNotLoaded = 46, //Trying to call function in Click PlugIn when there isn't one loaded
EWsPanicChangeClickPlugin = 47, //Trying to change keyclick plugin when it's fixed
EWsPanicInvalidScreenSizeMode = 48, //The current screen size mode is one that does not exist
EWsPanicDrawCommandsBufferCorrupt = 49, //The draw commands buffer contains some inconsistent information
EWsPanicDrawCommandsInvalidState = 50, //The draw commands state doesn't match with the action that is occuring
EWsPanicDrawCommandsNullSession = 51, //Session NULL when it shouldn't be
EWsPanicBitmapOpcodeInvalid = 52, //At least one of the bitmap opcodes is invalid
EWsPanicNoDisplayModeFound = 53, //No display mode has been found when creating the off-screen bitmap
EWsCreatedOffScreenBitmapInWrongDimensions = 54, //There is not enough memory to swap the width and the height as the bitmap was not created with the right dimensions
EWsFailedToAllocateForOffScreenBitmapDevice = 55, //Couldn't allocate memory for the device after deleting it
EWsPanicTransparentInvalidState = 56, //Something required for transparency is not available
EWsPanicBadDescriptor = 57, //The descriptor has been badly constructed
EWsPanicAlphaBlendBadParams = 58, //Bad parameters were passed in our call to the Alpha Blending function
EWsPanicInvalidMessageHandle = 59, //The current screen size mode is one that does not exist
EWsPanicWindowNull = 60, //Window handle NULL when it shouldn't be
EWsPanicPanicFlagError = 61, //The panic flag setting is inconsistent with other information
EWsPanicGCDrawingToWrongDevice = 62, //The device a GC is drawing to has been changed unexpectantly.
EWsPanicScreenInformationError = 63, //Conflict between number of screens defined in INI file and HAL
EWsPanicGroupWindowChainError = 64, //An error has occured in the group window chain algorithms
EWsPanicNoScreen = 65, //There is no screen when there should be one
EWsPanicWrongNumberBitmapDevices = 66, //The number of OSB bitmap devices does not match the number of screen modes
EWsPanicHiddenInvalidError = 67, //The Hidden Invalid contains area outside of the FullRect of the window
EWsPanicWsGraphic = 68, //An issue in internal state in the CWsGraphicDrawer mechanisms, thrown in debug builds only
EWsPanicOffScreenBitmapMissing = 69, //Found an unexpected NULL pointer to an OffScreenBitmap
EWsPanicGCDrawRegionError = 70,//NOT USED//A logic error in the code to decide which region to be drawing too
EWsPanicFailedToSetThread = 71, //Setting wserv thread to system permananent is failed
EWsPanicAnimationNotScheduled = 72, //Animation ran when not scheduled
EWsPanicAnimationAlreadyAnimating = 73, //Animation already marked as animating
EWsPanicSpriteBitmapSizeChange = 74, //A sprite member bitmap has been made larger, since the sprite was activated, without calling UpdateMember
EWsPanicMsgQueueError = 75, //Error occurs if inactive message queue doesn't have expected number of messages
EWsPanicRedrawRegionArrayEmpty = 76, //Trying to retrieve the current redraw region when the redraw region array is empty
EWsPanicIllegalInvalidArea = 77, //Invalid area includes region outside visible area of the window.
// EWsPanicTransparencyManagerNotFreed = 78, // incorrect session shutdown
// EWsPanicFailedToSetProcess = 79, //For future extention
EWsPanicDebugRegionMemoryLeak = 80, //Panic code for RRegionWserv memory leak
EWsPanicDefaultHotKeyNotFound = 81, //Default hot key was not found
// EWsPanicInvalidRedrawStoreDiscardParameter = 82, // Invalid parameter specified for redraw store discard detection algorithm.
// EWsPanicOverflowRedrawStoreDiscardParameter = 83, // Parameter specified for redraw store discard detection algorithm will cause overflow.
EwsPanicDisplayModeNotSupported = 84, //Display mode is not supported by screen
EWsPanicCommandBufferStillBeingProcessed = 85, //Previous command buffer still being processed when another one arrives
EWsPanicNullClientMessage = 86, //Processing a client message that is NULL
EWsPanicNoWindowElement = 87, //Element not found for window
EWsPanicInvalidNotificationFlag = 88, //Invalid Notification event
EWsPanicNotificationTableIsNull = 89, //Notification table is unexpectedly NULL
EWsPanicInvalidOperation = 90, //An internal use of an operation was invalid
EWsPanicCompositionNotSupported = 91, //An attempt to use compositor on a screen which doesn't support it XXX UNUSED??
EWsPanicCompositionErrorIgnored = 92, //In release the composition error would have been ignored. Occurs in debug builds only. XXX UNUSED??
EWsPanicExpectedSurfaceChange = 93, //Surfaces returned by different screen devices unexpectedly match
EWsPanicSurfaceMapError = 94, //There was a problem when unregistering a surface from the registered surface map.
EWsPanicScheduledRedraw = 95, //Something went horribly wrong in the redraw scheduling code
EWsPanicRedrawSegmentsInvalidState = 96, //The redraw segments are in a state they should never be able to reach
EWsPanicMemoryManager = 97, //The memory manager encountered an inconsistant environment somehow
EWsPanicAccessList = 98, //The access list is invalid
EWsPanicScreenFallback = 99, //The screens low memory fallback system has failed
EWsPanicActiveScheduler = 100, //The active scheduler encountered an inconsistant environment somehow
EWsPanicDrawFailure = 101, //A draw function which can't leave left
EWsPanicMemoryLock = 102, //The memory lock/unlock for memory management failed
EWsPanicRecycleElement = 103, //No element to recycle
EWsPanicUnexpectedOpacity = 104, //Unexpected opacity being set on a window
EWsPanicMaxPointersOutOfRange = 105, //HALData::EPointerMaxPointers is out of range
EWsPanicMaxPointersInconsistent = 106, //HALData::EPointerMaxPointers is inconsistent with TXYInputType reported by HAL
EWsPanicPointer3DInconsistent = 107, //HALData::EPointer3D is inconsistent with TXYInputType reported by HAL
EWsPanicProxThresholdsInconsist = 108, //HALData::EPointer3DEnterCloseProximityThreshold is settable, but EPointer3DExitCloseProximityThreshold is not
EWsPanicPressThresholdsInconsist = 109, //HALData::EPointer3DEnterHighPressureThreshold is settable, EPointer3DExitHighPressureThreshold is not
EWsPanicScreenDeviceMissing = 110, //Can't find an instance of MWsScreenDevice
EWsPanicSceneMissing = 111, //Can't find an instance of MWsScene
EWsPanicNoRenderStagePipeline = 112, //Failed to create/connect the render stage pipeline
EWsPanicInvalidChromaKeyColor = 113, //Chroma key color has to be fully opaque
EWsPanicTextCursorInterfaceMissing = 114, //The interface in the Render Stage to support Text Cursors is missing
EWsPanicSceneErrorIgnored = 115, //In release the scene error would have been ignored. Occurs in debug builds only.
EWsPanicNoDisplayControl = 116, //Display control expected
EWsPanicVisibleRegionTracking = 117,
EWsPanicNoChangetracking = 118, //CHANGETRACKING mode is expected to be set
EWsPanicNoSprite = 119,
EWsPanicAnim = 120,
EWsPanicFloatingSprite = 121,
EWsPanicRenderstageAPIs = 122,
EWsPanicBitmapArrayNotEmpty = 123, //Bitmap array is not empty, when it is expected to be empty
EWsPanicCounterValue = 124, //Counter value is not the expected one
EWsPanicUnexpectedBitmapHandleInArray = 125, //Bitmap handle in array with no matching bitmap object in bitmap ref array
EWsPanicBitmapNotFound = 126, //Failed to find a bitmap in the bitmap ref array
EWsPanicInvalidRotation = 127, //Invalid rotation used
EWsPanicInvalidPointerOffset = 128, //The pointer offset value in wsini.ini is invalid.
EWsPanicArrayInsertFailed = 129, //Array insert failed.
EWsPanicCompleteNullMessage = 130, //RMessage2 is NULL prior to calling Complete().
};
void Panic(TWservPanic aPanic);
void PanicWithInfo(TWservPanic aPanic, const TDesC& aFileName, const TDesC& aPanicName, TInt aLine);
void PanicWithCondAndInfo(TWservPanic aPanic, const TDesC& aCondition, const TDesC& aFileName, const TDesC& aPanicName, TInt aLine);
// helper macros
#define WS_ASSERT_FILENAME(f) _LIT(KPanicFileName, f);
#define WS_ASSERT_PANICNAME(p) _LIT(KPanicEnum ## p, # p);
#define WS_ASSERT_CONDITION(c) _LIT(KPanicCondition, c);
/* Use these macros for WServ server Asserts & Panics with diagnostic logging:
WS_ASSERT_ALWAYS, WS_PANIC_ALWAYS, WS_ASSERT_DEBUG and WS_PANIC_DEBUG
Note that the "do { ... } while (0)" construction forces the invocation to have a ';'
and makes the macro expansion safe in nested "if ... else ..." clauses that forget to use the
{ braces } in the Coding Standard.
*/
#define WS_ASSERT_ALWAYS(c, p) \
do { \
if (!(c)) \
{ \
WS_ASSERT_FILENAME(__FILE__); \
WS_ASSERT_PANICNAME(p); \
WS_ASSERT_CONDITION(#c); \
PanicWithCondAndInfo(p, KPanicCondition, KPanicFileName, KPanicEnum ## p, __LINE__); \
} \
} while (0)
#define WS_PANIC_ALWAYS(p) \
do { \
WS_ASSERT_FILENAME(__FILE__); \
WS_ASSERT_PANICNAME(p); \
PanicWithInfo(p, KPanicFileName, KPanicEnum ## p, __LINE__); \
} while (0)
#if defined(_DEBUG)
#define WS_ASSERT_DEBUG(c, p) \
do { \
if (!(c)) \
{ \
WS_ASSERT_FILENAME(__FILE__); \
WS_ASSERT_PANICNAME(p); \
WS_ASSERT_CONDITION(#c); \
PanicWithCondAndInfo(p, KPanicCondition, KPanicFileName, KPanicEnum ## p, __LINE__); \
} \
} while (0)
#define WS_PANIC_DEBUG(p) \
do { \
WS_ASSERT_FILENAME(__FILE__); \
WS_ASSERT_PANICNAME(p); \
PanicWithInfo(p, KPanicFileName, KPanicEnum ## p, __LINE__); \
} while (0)
#else
#define WS_ASSERT_DEBUG(c, p)
#define WS_PANIC_DEBUG(p)
#endif
#endif