diff -r 000000000000 -r 4e1aa6a622a0 sensorservices/sensorserver/inc/common/sensrvdefines.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sensorservices/sensorserver/inc/common/sensrvdefines.h Tue Feb 02 00:53:00 2010 +0200 @@ -0,0 +1,260 @@ +/* +* 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: Internal definitions file +* +*/ + + +#ifndef SENSRVDEFINES_H +#define SENSRVDEFINES_H + +#include +#include "sensrvtrace.h" + +/** +* Sensor server process name +*/ +_LIT(KSensrvProcessName, "!SensorServer"); + +/** +* Sensor server main thread name +*/ +_LIT(KSensrvMainThreadName, "SensrvMain"); + +/** +* SSY thread name prefix. A number is appended to this. +*/ +_LIT(KSensrvSsyThreadNameBase, "Ssy@"); + +/** +* Length of the KSensrvSsyThreadNameBase _LIT +*/ +const TInt KSensrvSsyThreadNameBaseLen(4); + +/** +* SSY Thread name maxlength +*/ +const TInt KSensrvSsyThreadNameMaxLen(16); + +/** +* Sensor server executable name +*/ +_LIT( KSensrvExeName, "sensorserver.exe" ); + +/** +* Drive identifier of the drive where sensor server executable is. +*/ +_LIT( KSensrvExeDrive, "z:" ); + +/** +* Panic category +*/ +_LIT( KSensrvPanicCategory, "SensorServer" ); + +/** +* Number of times sensor server client should try reconneting if session is not found. +*/ +const TInt KSensrvClientTryCount(2); + +/** +* Major version number +*/ +const TInt KSensrvVersionMajor(1); + +/** +* Minor version number +*/ +const TInt KSensrvVersionMinor(0); + +/** +* Build number +*/ +const TInt KSensrvVersionBuild(0); + +/** +* Priority for server's active objects +*/ +const TInt KSensrvCActivePriority(CActive::EPriorityHigh); + +/** +* Async message slots to be used in client server comms. +* - Data listener +* - Condition listener +* - Property listener +* - New channel listener? +*/ +const TInt KSensrvDefaultAsyncSlots(4); + +/** +* Separate TInt needed or DLL's won't compile because of static data if UID is used in some policy lit +*/ +const TInt KSensrvUid2Int(0x1020507E); + +/** +* Sensor server UID +*/ +const TUid KSensrvUid2 = { KSensrvUid2Int }; + +/** +* Millisecond to microsecond multiplier +*/ +const TInt KMillisToMicros(1000); + +/** +* Second to microsecond multiplier +*/ +const TInt KSecondsToMicros(1000000); + +/** +* Default timeout of transactions, in microseconds +*/ +const TInt KSensrvDefaultTransactionTimeout(60000000); + +/** +* SID of the test framework. This is the only process that +* is allowed to shutdown the sensor server. +*/ +const TUint32 KSensrvTestFrameworkUid(0x102073E4); + +/** +* Default data rate multiplier. +* CSensrvChannel.iMaxBufferingCount is set to channel data rate +* times multiplier divided by KSensrvDataBufferLengthMultiplier. +*/ +const TInt KSensrvDefaultDataRateMultiplier(5); + +/** +* Buffer length multiplier. +* Buffer lenght is set to CSensrvChannel.iMaxBufferingCount times this. +* For practical reason, buffering count should always be less than half of buffer size, as +* otherwise getting new block will invalidate some of the just written block. +* To allow some wiggle-room for possible client delays, minimum practical value for this is 3. +*/ +const TInt KSensrvDataBufferLengthMultiplier(4); + +/** +* CSensrvChannel.iMaxBufferingCount will be set to this if it cannot be +* calculated. +*/ +const TInt KSensrvDefaultMaxBufferingCount(64); + +/** +* Buffer length must be at least this much. +*/ +const TInt KSensrvMinimumBufferLength(3); + +/** +* Minimum buffering count for clients and SSY +*/ +const TInt KSensrvMinimumBufferingCount(1); + +/** +* Minumum acceptable buffering period in milliseconds. +* For practical reasons 1/64th of second is the effective +* minimum anyway, as that is the limit of normal timer resolution. +*/ +const TInt KSensrvMinimumBufferingPeriod(15); + +/** +* Maximum allowed buffering period in milliseconds +*/ +const TInt KSensrvMaximumBufferingPeriod(30*60*1000); // 30 minutes + +/** +* Default SSY stack size +*/ +const TInt KSensrvDefaultSsyStackSize(4096); + +/** +* Default SSY heap max size +*/ +const TInt KSensrvDefaultSsyHeapMaxSize(65535); + +/** +* SSY heap initial size +*/ +const TInt KSensrvSsyHeapInitialSize(4096); + +/** +* SSY thread graceful cleanup time, microseconds +*/ +const TInt KSensrvSsyGracefulCleanupTime(15000000); + +/** +* SSY thread inactivity period befor unloading, microseconds +*/ +const TInt KSensrvSsyInactivityPeriod(60000000); + +/** +* Maximum count of conditions with same index in a set +*/ +const TInt KSensrvMaxConditionIndexCount(2); + +/** +* Ecom rescan timer period, also used for proxy deletion +*/ +const TInt KSensrvEcomRescanTimerPeriod(1000000); + + +/** +* Sensor server panic codes +*/ +enum TSensrvPanic + { + // Run error panics + ESensrvPanicMediatorRunError = 0, + ESensrvPanicThreadMonitorRunError = 1, + ESensrvPanicEcomChangeRunError = 3, + + // State panics + ESensrvPanicInvalidPluginState = 10, + ESensrvPanicInvalidChannelState = 11, + ESensrvPanicInvalidTransactionState = 12, + + // Misc panics + ESensrvPanicUnknownTransactionType = 20, + ESensrvPanicWrongProxy = 21, + ESensrvPanicSsyControlExists = 22, + ESensrvPanicUnexpectedSsyCallback = 23, + ESensrvPanicOutOfBounds = 24, + ESensrvPanicPreviousBlockNotYetWritten = 25, + ESensrvPanicRequestedFreeBlockTooSmall = 26, + ESensrvPanicDuplicateListener = 27, + ESensrvPanicBufferTooSmall = 28, + ESensrvPanicInvalidRemoveType = 29, + ESensrvPanicInvalidFunction = 30, + ESensrvPanicUnexpectedBranch = 31, + ESensrvPanicInvalidDataSize = 32, + + // NULL panics + ESensrvPanicNullServerMediator = 100, + ESensrvPanicNullSsyMediator = 101, + ESensrvPanicNullSsyControl = 102, + ESensrvPanicNullChannel = 103, + ESensrvPanicNullTransaction = 104, + ESensrvPanicNullProxy = 105, + ESensrvPanicNullMutex = 106, + ESensrvPanicNullMessage = 107, + ESensrvPanicNullSession = 108, + ESensrvPanicNullProvider = 109, + ESensrvPanicNullListener = 110, + ESensrvPanicNullBuffer = 111, + ESensrvPanicNullCallback = 112, + ESensrvPanicNullScheduler = 113, + ESensrvPanicNullMetData = 114, + ESensrvPanicNullEvaluator = 115, + ESensrvPanicNullImplInfos = 116 + }; + +#endif // SENSRVDEFINES_H