diff -r 000000000000 -r 15bf7259bb7c uiacceltk/hitchcock/plugins/alftranseffect/alftfxserverplugin/inc/alftfxserverdef.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uiacceltk/hitchcock/plugins/alftranseffect/alftfxserverplugin/inc/alftfxserverdef.h Tue Feb 02 07:56:43 2010 +0200 @@ -0,0 +1,289 @@ +/* +* Copyright (c) 2006 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: TFX server definitions. Contains various names and numbers +* used in the server. +* +*/ + + +#ifndef _SERVERDEF_H_ +#define _SERVERDEF_H_ + +#include + +_LIT(KTfxServerName,"TfxServer"); +_LIT(KTfxServerImageName, "TfxServer"); +_LIT(KAnyName, "*"); + +/** transition server version numbers */ +const TInt KTfxServerMajorVN = 0; +const TInt KTfxServerMinorVN = 6; +const TInt KTfxServerBuildVN = 0; + +/** transition server uid */ +const TUid KTfxServerUid = { 0x10281F7D }; + +/** RProperty value for server status */ +const TUint KTfxServerStatus = 0x10281F7D; + +/** transition server stack size */ +const TInt KTfxServerStackSize = KDefaultStackSize; +/** transition server minimum heap size */ +const TInt KTfxServerHeapMinSize = 64*1024; //64KB +/** transition server maximum heap size */ +const TInt KTfxServerHeapMaxSize = 4*1024*1024; //4MB + +/** The time between start of frames the engine will try to keep, in ms. (1000/fps) */ +const TInt KDefaultWantedTime = 67; +/** The minimum time between end of a frame to start of next frame allowed, in ms + increase this to give more time to other threads. + A high number will decrease framerate on complex scenes. */ +const TInt KDefaultMinTime = 22; + +/* + default values for cache size + see TCacheSizeProperties for comments +*/ +const TInt KDefaultMaxBytesOngoing = 1024*1024; // 1MB +const TInt KDefaultMaxBytesBetween = 0; // + +/* + The maximum cache size between effects + if the phone is low on ram +*/ +const TInt KLowMemoryMaxBytesBetween = 0; + +/** priority of repository handler. Has to be higher then message loop to ensure repository changes are heeded */ +const TInt KTfxServerRepositoryHandler = 110; +/** priority of CServer2 object. only repository handler is higher. */ +const TInt KTfxServerMessageLoopPrio = 100; +/** priority of frame timer. needs to be kept high, but lower then message loop */ +const TInt KTfxServerFrameTimerPrio = 80; +/** priority of the requesthandler. needs to be higher then the frame timer, but lower then message loop */ +const TInt KTfxServerRequestHandlerPrio = 90; + +/** microseconds to wait after InitControltransition before assuming client has failed */ +const TInt KStartControlTransitionTimeout = 2000000; //2s + +/** Window Server Secure ID */ +const TInt KWServSID = 268450592; + +/** Nokia VID: = VID_DEFAULT */ +const TInt KNokiaVID = 0x101FB657; + +/** Ranges for TFX messages */ +const TInt KTfxRanges[] = + { + 0, //range is 0-10 inclusive + 10, //range is 11-254 inclusive + 255 // message 255 (shutdown) + }; + +/** Element Indexes for PolicyElement */ +const TUint8 KTfxElementsIndex[] = + { + 0, + CPolicyServer::EAlwaysPass, + 1 + }; + +/** Policy Elements */ +const CPolicyServer::TPolicyElement KTfxElements[] = + { + {_INIT_SECURITY_POLICY_S0(KWServSID), CPolicyServer::EFailClient}, + {_INIT_SECURITY_POLICY_V0(KNokiaVID), CPolicyServer::EFailClient} + }; + +/** Policy definition */ +const CPolicyServer::TPolicy KTfxPolicy = + { + CPolicyServer::EAlwaysPass, //specifies all connect attempts should pass + sizeof(KTfxRanges) / sizeof(TInt), + KTfxRanges, + KTfxElementsIndex, + KTfxElements, + }; + +/** opcodes used in message passing between client and server */ +enum TTfxServerServRqst + { +//Wserv only: + ETfxServerOpRegisterControlDrawer, //0 + ETfxServerOpDeregisterControlDrawer, +//Wserv only: + ETfxServerOpStartTransition, + ETfxServerOpFullscreenBegin, + ETfxServerOpFullscreenEnd, +//Wserv only: + ETfxServerOpDSABegin, //5 + ETfxServerOpDSAEnd, +//Wserv only: + ETfxServerOpFailedControlTransition, +//Wserv only: + ETfxServerOpReqUnredirEvent, + ETfxServerOpCancelUnredirEvent, +//Any thread: + ETfxServerOpSendStartTick, //10 + ETfxServerOpRequestFinishedEvent, +//Any thread: + ETfxServerOpFullscreenAbort, + ETfxServerOpControlPolicyUpdate, + ETfxServerOpBeginGroup, + ETfxServerOpEndGroup, //15 + ETfxServerOpAddFullscreenKML, + ETfxServerOpRemoveFullscreenKML, + ETfxServerOpControlPolicyRemove, + ETfxServerOpControlPolicyGet, //20 + ETfxServerOpControlPolicyRequest, + ETfxServerOpBlockFullscreenUid, + ETfxServerOpRegisterControlKml, + ETfxServerOpRemoveControlKml, + ETfxServerOpControlCancelPolicyUpdate, //25 +//Any thread: + ETfxServerOpSetWantedTime, + ETfxServerOpSetMinTime, + ETfxServerVerifyConnection, + ETfxServerOpAddFullscreenKMLEx, +//Any thread: + ETfxServerOpDumpClients, //30 +//Any thread: + ETfxServerOpHandover, + ETfxServerOpUpdateLiveBuffer, + ETfxServerOpControlTransitionAbort, + ETfxServerOpRemoveAllKml, + ETfxServerOpFreeRam, + ETfxServerOpMemoryGood, //36 + ETfxServerOpRegisterControlKmlEx, + ETfxServerOpControlSetFrameTime, + ETfxServerOpControlSetMinFrameTime, +// ListBox opcodes + ETfxServerOpListBoxStart = 100, + ETfxServerOpListBoxRegister, + ETfxServerOpListBoxMakeMove, + ETfxServerOpListBoxGetObsoleteItems, + ETfxServerOpListBoxRequestFrame, + ETfxServerOpListBoxGetDirtyRect, + ETfxServerOpListBoxInvalidate, + ETfxServerOpListBoxSetFrameTime, + ETfxServerOpListBoxSetMinFrameTime, + ETfxServerOpListBoxDeregister, + ETfxServerOpListBoxVerifyKML, + ETfxServerOpListBoxSetBorderDims, + ETfxServerOpListBoxRegisterKML, + ETfxServerOpListBoxUnregisterKML, + ETfxServerOpListBoxInPosition, + ETfxServerOpListBoxSetDrawing, +#ifdef RD_UI_TRANSITION_EFFECTS_TOUCH_P2 + ETfxServerOpListBoxLongTapStart, + ETfxServerOpListBoxLongTapEnd, +#endif + + ETfxServerOpListBoxEnd, + // Shutdown + ETfxServerOpShutdown = 255 + }; + +enum TTfxServPanic + { + EAlreadyRegistered, + ENotRegistered + }; + +/** +* This is a utility class that retrieves the name and version number +* of the tfxserver. +*/ +class KSCliDefinitions + { +public: + static const TDesC& ServerAndThreadName(); + static const TDesC& ServerImageName(); + static TUidType ServerUidType(); + static TVersion Version(); +}; + +/** + * Holds animation and cache priority information of a fullscreen transition + */ +class TFullscreenInfo + { +public: + TFullscreenInfo(); + TFullscreenInfo(TInt aActionId, TInt aCachePriority, TInt aWantedTime, TInt aMinTime); + TInt iActionId; + TInt iCachePriority; + TInt iWantedTime; + TInt iMinTime; + }; + +/** + * Holds cache size properties + */ +class TCacheSizeProperties + { +public: +/* + Maximum amount of bytes that may be cached while a transition + is ongoing. If this value is less than the total size of the + decoded images in the effect the images has to be decoded every + frame which will have a huge impact on performance. + Default is KDefaultMaxBytesOngoing +*/ + TInt32 iMaxBytesOngoing; +/* + Maximum amount of bytes that may be cached when a transition + is not ongoing. + Default is KDefaultMaxBytesBetween. +*/ + TInt32 iMaxBytesBetween; + }; + +struct TParticipantInfo + { + TPoint iTl; + TInt iBitmapHandle; + TUint32 iId; + }; + +struct TWantedTimes +{ + TInt32 iWantedTime : 16; + TInt32 iMinTime : 16; +}; + +union TWantedTimesPacked +{ + struct TWantedTimes times; + TInt32 packed; +}; + +const TUint KMaxDirtyRegions = 5; + +/** + * The time between start of frames the engine will try to keep, + * in microseconds. + */ +const TInt KDefaultListBoxWantedTime = 33; + +/** + * The minimum time between end of a frame to start of next frame allowed, + * in microseconds. + * Increase this to give more time to other threads. + * A high number will decrease framerate on complex scenes. + */ +const TInt KDefaultListBoxMinTime = 10; + +_LIT( KTfxListBoxMutexName, "TfxListBox%d" ); + +#endif