phoneapp/phoneuiutils/inc/phoneconstants.h
changeset 37 ba76fc04e6c2
child 45 6b911d05207e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/inc/phoneconstants.h	Fri Jun 04 10:19:18 2010 +0100
@@ -0,0 +1,498 @@
+/*
+* Copyright (c) 2005-2007 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:  Common constant values needed through PhoneUI module.
+
+*
+*/
+
+#ifndef PHONECONSTANTS_H
+#define PHONECONSTANTS_H
+
+//  INCLUDES
+#include <e32base.h>
+#ifdef RD_UIKON_UNBRANCH
+#include    <AknDef.h>
+#include    <aknconsts.h>
+#endif // RD_UIKON_UNBRANCH
+#include "telinternalsingletonuids.h"
+
+
+// CONSTANTS
+
+// SECURITY POLICIES
+
+    // Read capability: AlwaysPass.
+    _LIT_SECURITY_POLICY_PASS( KPhoneReadPolicyAlwaysPass );
+    
+    // Read capability: ReadDeviceData.
+    _LIT_SECURITY_POLICY_C1( KPhoneReadPolicy, ECapabilityReadDeviceData );
+    
+    // Write capability: WriteDeviceData.
+    _LIT_SECURITY_POLICY_C1( KPhoneWritePolicy, ECapabilityWriteDeviceData );
+    
+// Application UIDs
+const TUid KUidPhoneApplication = { 0x100058B3 };   // Phone application
+const TUid KPhoneUidAppPhonebook = { 0x101F4CCE };  // PhoneBook
+const TUid KPhoneUidAppPhoneInfo = { 0x101fc0ef };  // Phone Info
+const TUid KPhoneUidAppFTD = { 0x100058F2 };        // Field Test Display
+const TUid KDeviceManagerUid = {0x101F6DE5};        // Device manager application  
+const TUid KUidStartupApplication = { 0x100058F4 }; // Startup application
+const TUid KUidSpdia = { 0x1000590A };              // Speeddial application.
+const TUid KVtUiAppUidValue = { 0x101F8681 };       // Video Telephony application
+
+// Contants below define which view will be activated. 
+const TInt KTouchDiallerViewCommand = 1;
+const TInt KTouchCallHandlingVievCommand = 2;
+
+// Defination for launching PhoneInfo application
+const TUid KPhoneUidViewPhoneInfo = { 1 };  
+
+// Defination for launching Log application
+const TUid KPhoneUidViewLogLastDial = { 1 };        // Last dialled view ID of Log application
+const TUid KPhoneUidLogStm = { 0x01002982 };        // Id for stm for Log application
+_LIT8( KPhoneStmLoadMagicString, "outside" );       // Message for activating view of an application
+
+// Used in CPhoneKeyEventHandler
+// Seconds in microseconds
+const TInt KPhoneSecondInMicroseconds = 1000000;
+// For long press of end key while external
+const TInt KPhoneLongPressKeyEventDuration = 
+    ( KPhoneSecondInMicroseconds * 6 ) / 10; // 0.6 sec
+
+// Used in CPhoneUIController
+//
+// Delay between Phone Engine start tries
+const TInt KPeRetryDelay = 500000;
+// PE start retry times
+const TInt KPeRetryCount = 10;
+
+// ServiceId value: service not determined
+const TInt  KUnknownService = 0;
+
+// Used in CPhoneViewController
+// Voice Mail Box key "1"
+const TInt KPhoneVoiceMailBoxLocation = 1;  
+// Video Mail Box key "2"
+const TInt KPhoneVideoMbxLocation = 2;
+// Path to soft reject resource
+_LIT( KPhoneSoftRejectResource, "z:softreject.rsc" );
+
+// Used in CPhoneMenuController
+// valid phone number length
+const TInt KPhoneValidPhoneNumberLength = 3;
+
+// Used in CPhoneState
+// Maximum length of the Call header label
+const TInt KPhoneCallHeaderLabelMaxLength = 50;
+// Line feed
+_LIT( KPhoneLineFeed, "\n");
+// Length of the text to display call duration - 
+// at least double the length of (HH:MM:SS)
+const TInt KPhoneMaxTimeDisplayTextLength = 16;
+// Length of the profile display date string
+const TInt KPhoneMaxDateDisplayTextLength = 100;
+
+// Used in CPhoneStateIncoming
+// Array granularity for soft reject array.
+const TInt KPhoneSoftRejectArrayGranularity = 2;
+// Length of SMS.
+const TInt KPhoneSMSLength = 160;
+
+// Used in CPhoneStateInCall
+// Default CBA resource ID for single item fetch dialog
+const TInt KPhoneDefaultFetchCBA = 0; 
+
+// Used in CPhoneBubbleWrapper
+const TInt KPhoneNumberEntryBufferSize = 100;
+const TInt KMaxNumberOfCallerBubbles = 20;
+const TInt KNumberOfActiveCalls = 2;
+
+// Constant to indicate 'no resource'
+const TInt KPhoneBubbleNoResource = KErrNotFound;
+const TInt KPhoneContactNameMaxLength = 101;    // 50+50 first & last names + 1 for space between
+// Conference case
+const TInt KPhoneConferenceInitialSize = 2;
+const TInt KConferenceMaxParticipants = 5;
+
+// Used in CPhoneStatusPane
+const TInt KPhoneTitlePaneTextSize = 128;
+const TInt KPhoneTitlePaneForOperatorName = 1;
+const TInt KPhoneTitlePaneForPbkSigleFetch = 2;
+const TInt KPhoneTitlePaneListGranularity = 4;
+const TInt KPhoneNaviPaneListGranularity = 4;
+
+// Resource enumeration uid's
+const TUid KUidRssPhoneBase                       = { 0x01 };
+const TUid KUidRssPhoneGSM                        = { 0x02 };
+
+// For CPhoneView use
+const TUid KUidViewId = { 0x10282D81 };
+const TUid KUidAppId = { 0x100058B3 };
+ 
+// Amount of regions to be reserved.
+const TInt KPhoneRegionAmount = 16;
+
+const TInt KDefaultCallHeaderLeft = 12;
+const TInt KDefaultCallHeaderTop = 6;
+const TInt KDefaultCallHeaderRight = 19;
+const TInt KDefaultCallHeaderBottom = 12;
+const TInt KCallHeaderLeft = 156;
+const TInt KCallHeaderTop = 6;
+const TInt KCallHeaderRight = 164;
+const TInt KCallHeaderBottom = 12;
+
+const TInt KClockWindowActive = 3;
+const TInt KClockWindowIdle = 2;
+
+
+// Used in CPhoneKeys
+// The character to be used as the 'wait' character, by DTMF code.
+const TUint KPhoneDtmfWaitCharacter  = 'w';
+
+// The character to be used as the 'soft pause' character, by DTMF code.
+const TUint KPhoneDtmfPauseCharacter = 'p';
+
+// The character to be used as the 'speed-dial' character, by DTMF code.
+const TUint KPhoneDtmfSpeedDialCharacter = '+';
+
+// The length of the speed dial prefix, used to prevent buffer overflow
+const TUint KPhoneDtmfSpeedDialPrefixLength = 1;
+
+// Following, are the standard DTMF characters...
+const TInt KPhoneDtmfHashCharacter    = '#';
+const TInt KPhoneDtmfStarCharacter    = '*';
+const TInt KPhoneDtmf0Character       = '0';
+const TInt KPhoneDtmf1Character       = '1';
+const TInt KPhoneDtmf2Character       = '2';
+const TInt KPhoneDtmf3Character       = '3';
+const TInt KPhoneDtmf4Character       = '4';
+const TInt KPhoneDtmf5Character       = '5';
+const TInt KPhoneDtmf6Character       = '6';
+const TInt KPhoneDtmf7Character       = '7';
+const TInt KPhoneDtmf8Character       = '8';
+const TInt KPhoneDtmf9Character       = '9';
+
+// Check second #
+const TInt KSecondKeyEvent = 2;
+
+// Used in CPhoneStringContainer
+const TInt KPhoneStringContainerReserved = 50;
+const TInt KPhoneStringContainerGranularity = 10;
+
+// Used in test shutdown
+_LIT( KExit, "*#1234#" );
+/// ROM drive.
+_LIT( KDriveZ, "z:" );
+
+_LIT( KPhoneResourceFile, "phoneui.rsc" );
+_LIT( KPhoneResourceFileVoIP, "phoneuivoip.rsc" );
+_LIT( KPhoneResourceFileCHUI, "callhandlingui.rsc" );
+_LIT( KPhoneResourceFilePHTC, "phoneuitouch.rsc" );
+
+// Used in CPhoneAppUI
+// Priority of application window groups.
+const TInt KPhoneApplicationWindowGroupPriority = 0;
+
+// Ordinal position of phone application when sending to background.
+// NOTE: 0 - foreground application
+//       1 - server side status pane
+//       2 - phone application
+const TInt KPhoneWindowGroupPositionBackground = 2;
+
+// Here is priority for capturing keys, used in cpaappuibase.cpp :
+const TInt KPhoneCapturePriority = 10;
+
+// Name of the EIKON server window group.
+_LIT( KPhoneEikonServer, "EikonServer" );
+
+// For CPhoneLogger use
+const TInt KMaxLogLineLength = 256;
+const TInt KMaxAppendLength = 64;
+
+// From CPhoneNoteUtilities
+const TInt KPhoneNoteSoftkeysUseDefault = 0;
+const TInt KPhoneNoteGraphicNone = -1;
+const TInt KPhoneNoteNoTimeout = -1;
+
+// State machine ordinal number
+static const TInt KPhoneUiStateMachineOrdinal = 1;
+
+static const TUid KUidAppGSMStates = { 0x101F7CAC };
+static const TUid KUidAppVoIPExtensionStates = { 0x101F7CA9 };
+
+// Log folder and log file name
+_LIT( KPhoneLogFolder, "PhoneUI");
+_LIT( KPhoneLogFileName, "PhoneUI.log" );
+
+// Paths to CentRep
+_LIT( KGSMProtocol, "phoneuistates.dll" );
+_LIT( KVoIPExtension, "phoneuivoipextension.dll" );
+
+// Literals for formatting log messages
+_LIT( KPEDefaultMsgToPhoneUI,   "PE ----> PHONEUI <%S> message from PE. CallId: %d.");
+_LIT( KPEDefaultMsgToPE,        "PE <---- PHONEUI        <%S> to PE.");
+_LIT( KPEDefaultMsgToPhoneUIEnd,"PE ----> PHONEUI_COMPLETED    <%S> message from PE  executed succesfully");
+_LIT( KPEDefaultMsgToPEEnd,     "PE <---- PHONEUI_COMPLETED    <%S> message to PE  sended succesfully");
+_LIT( KPEDefaultStateChange,    "PHONEUI_STATE_CHANGE     <%S> -> <%S> ");
+_LIT( KPEDefaultMsgToView,      "PHONEUI ----> VIEW <%S> message from Control. CallId: %d.");
+
+// Component literals for CPhoneMethodLogger
+_LIT( KPhoneUI, "PhoneUI: " );
+_LIT( KPhoneUIControl, "PhoneUIControl: " );
+_LIT( KPhoneUIView, "PhoneUIView: " );
+_LIT( KPhoneUIStates, "PhoneUIStates: " );
+_LIT( KPhoneUIUtils, "PhoneUIUtils: " );
+_LIT( KPhoneMediatorCenter, "PhoneMediatorCenter: " );
+_LIT( KLessThan, "<" );
+_LIT( KGreaterThan, ">" );
+
+// Used in PhoneStateDefinitions*
+const TInt KPhoneStateCommonFirst = 0;
+const TInt KPhoneStateProtocolFirst = 100;
+
+// Used in PhoneViewCommandDefinitions*
+const TInt KPhoneViewCommandCommonFirst = 1; // can't be 0 due to mediator
+const TInt KPhoneViewCommandCarrierFirst = 1000;
+const TInt KPhoneViewResponseCommonFirst = 0;
+const TInt KPhoneViewResponseCarrierFirst = 1000;
+
+// Used in PhoneRss*
+const TInt KPhoneRssCommonFirst = 0;
+const TInt KPhoneRssProtocolFirst = 1000;
+
+// Used in CPhoneNoteController
+const TInt KPhoneMaxCharsInNote = 256;
+
+// Used in CPhoneCenRepProxy
+// Variant read only default value
+const TInt KPhoneVariantReadOnlyDefaultValue = 0x00000000;
+const TInt KPhoneCenRepObserversGranularity = 16;
+
+// Used in CPhonePubSubProxy
+const TInt KPhonePubSubProxyObserverArrayGranularity = 16;
+const TInt KPhonePubSubArrayGranularity = 16;
+
+// Used in CPhoneInCallIndicator
+const TInt KPhoneIncallIndicatorDefaultValue = 0;
+const TInt KPhoneIncallIndicatorArrayGranularity = 8;
+
+// Used in CPhoneApplicationExit
+// Default buffer size. Do not rely on this. Use MaxLength instead.
+const TInt KPhoneTemporaryBufferMaxLength = 1024;
+// UID range separator.
+const TInt KPhoneApplicationRangeSeparator = '-';
+// Drive identifier.
+const TInt KPhoneApplicationDriveIdentifier = ':';
+// Retry five times.
+const TInt KPhoneApplicationRetryCount = 5;
+// Interval between retry attempts.
+const TInt KPhoneApplicationRetryInterval = 100000;
+// Any application 
+_LIT( KPhoneApplicationAnyApp, "*" );
+// OOM idenfier.
+_LIT( KPhoneApplicationOom, "OOM" );
+
+// Emergency call id
+const TInt KEmergencyCallId = 7;
+
+// Conference call id
+const TInt KConferenceCallId = 8;
+
+// LifeTimer const
+const TInt KPhoneLifeTimerHoursLength   = 6;
+const TInt KPhoneLifeTimerMinutesLength = 2;
+const TInt KTimerTextLength             = 64;
+const TInt KTimerMinuteSeparator        = 2;
+
+//AudioVolume const
+// CONSTANTS
+const TInt KPhoneDefaultVolume = 4;
+
+const TInt KPhoneVolumeMinValue = 0;
+const TInt KPhoneVolumeMaxValue = 10;
+
+const TInt KPhoneVolumeWinsVolumeDivider = 10;
+
+// Used in CPhoneRemoteControlHandler
+#ifdef RD_UIKON_UNBRANCH
+// Volume repeat delay.
+const TInt KPhoneButtonRepeatDelay = KAknStandardKeyboardRepeatRate;
+#else // RD_UIKON_UNBRANCH
+// Volume repeat delay.
+const TInt KPhoneButtonRepeatDelay = (1000000/6);
+#endif // RD_UIKON_UNBRANCH
+
+// First voice call id
+const TInt KVoiceCallIdFirst = 0;
+
+// Video telephony call ids
+const TInt KVideoTelephonyCallId1 = 9;
+const TInt KVideoTelephonyCallId2 = 10;
+  
+// Used in MPhoneAudioPlayerObserver
+const TInt KPhoneAudioPlayerNotSpecified = -1;
+
+// Used in CPhoneAudioPlayer
+// One second pause between ringing repeats.
+const TInt KPhoneRingingRepeatsTrailPause = 1000000;
+// For ascending and descending, each level is played for 3 seconds
+const TInt KPhoneAudioAscendingRampDuration = 3000000;
+// For repeating the audio tone forever
+const TInt KPhoneMdaAudioToneRepeatForever = -2;
+// Value how much to shift variable
+const TInt KTimesToMultiply = 2; 
+
+// Used in CPhoneRingingTone
+_LIT( KPhoneRingingToneDriveZ, "z:" );
+#ifdef RD_VIDEO_AS_RINGING_TONE
+    _LIT( KPhoneRingingToneVideoMime, "video/*" );
+    _LIT( KPhoneRingingToneRealVideoMime, "*realmedia" );
+#endif    
+
+// Used in CPhoneRingingTonePlayerAO
+// Tts volumes
+const TInt KTtsVolumeBoost = 9;
+const TInt KTtsVolumeMin = 2;
+const TInt KTtsVolumeAscendingRepeat = 4;
+const TInt KPlayerVolumeAscendingRepeat = 3;
+const TInt KTtsVolumeAscendingDecrease = 2;
+
+// Header that is added to the text-to-say, that makes this text recognizable 
+// as Text-To-Speech data
+_LIT( KPhoneTtsHeader, "(tts)");
+// If the ringing tone for line1, line2 or personal ringing tone is not played
+// in 3 seconds, then try next. 
+const TInt KPhoneMaxRingingWaiting = 3000000;
+const TInt KPhoneTtsAscendingStep = 3000000; 
+// Delays between periods of Text-To-Speech playing
+// e.g. { 3 000 000, 4 000 000} means the following order of playiong:
+// 3 secs tone, then TTS, then 4 secs of tone, then TTS, then tone forever.
+const TInt KPhoneTtsDelays[] = { 3000000, 4000000 }; //2000000, 3000000
+// Amount of elements in KPhoneTtsDelays array.
+const TInt KPhoneTtsDelaysCount = sizeof( KPhoneTtsDelays ) / sizeof ( TInt );
+// Audio preference for Text to Speech
+const TUint KAudioPrefTextToSpeechCallHardCoded = 0x01370001;
+// Sound files
+#ifdef __WINS__
+    _LIT( KPhoneDefaultSoundFile, "z:test.wav" );
+    _LIT( KPhoneSilentSoundFile, "z:test.wav" );
+    _LIT( KPhoneBeepOnceSoundFile, "z:test.wav" );
+#else
+    _LIT( KPhoneDefaultSoundFile, "\\System\\Sounds\\Simple\\Nokia tune.wav" );
+    // Sequence for silent call ringing tone. Don't touch these sequence.
+    _LIT8( KPhoneNoSoundSequence, "\x00\x11\x0A\x05\xFC\x0A\x08\x40\x32\x0A\
+\xF7\x40\x64\x06\x0B" );
+    // Sequence for beep call ringing tone. Don't touch these sequence.
+    _LIT8( KPhoneBeepSequence, "\x00\x11\x0A\x0A\x08\x73\x0A\x40\x28\x0A\xF7\
+\x05\xFC\x40\x64\x0A\x08\x40\x32\x0A\xF7\x06\x0B" );
+    // Sequence for unsecure VoIP call warning tone. Donīt touch these sequence.
+    _LIT8( KPhoneUnsecureVoIPCall, "\x00\x11\x0B\x67\x04\x40\x04\x67\x04\x40\
+\x04\x6C\x04\x40\x04\x6D\x04\x0B" );
+#endif // __WINS__
+
+// Used in CPhoneVideoPlayer
+const TInt KPhoneVideoMinVolumeLevel = 0;
+const TInt KPhoneVideoMaxVolumeLevel = 10;
+const TInt KPhoneVideoVolumeRampInterval = 3000000;
+const TInt KPhoneVideoVolumeRampStep = 1;
+const TInt KPhoneVideoSubQCCIFWidth = 128;
+const TInt KPhoneVideoSubQCCIFHeight = 96;
+
+const TInt KBaseScaleFactor = 100;
+const TInt KHalfBaseScale = 50;
+const TInt KFullScaleFactor = 1.0;
+const TInt KHalfScaleFactor = 0.5;
+const TInt KCentering = 2;
+
+
+// Used in mediator for receiving and sending events and commands
+const TUid KPhoneUiCategory = { 0x100058B3 };
+
+// Our mediator interface versions
+const TInt KCommandIfVersionMajor = 1;
+const TInt KCommandIfVersionMinor = 0;
+const TInt KCommandIfVersionBuild = 0;
+const TInt KEventIfVersionMajor = 1;
+const TInt KEventIfVersionMinor = 0;
+const TInt KEventIfVersionBuild = 0;
+
+// Mediator interface command's time out
+const TInt KPhoneUiMediatorIfTimeout = 10000;
+
+// Name of Call UI dll which is loaded polymorficly in CPhoneQueryController
+_LIT( KPhoneCaUiLoadedLib, "cauiengine.dll" );
+
+// CPhoneTextQuery constants
+const TInt KLeftCbaId = 0;
+const TInt KRightCbaId = 2;
+
+// Used in CPhoneNoteTimer
+// Time in milliseconds that the timer runs.
+const TInt KDtmfWaitNoteTimeoutValue = 100000;
+
+// Als line change timer 2,4 seconds.
+// Together with long keypress (0.6) seconds
+// it is 3 seconds like in the specification.
+const TInt KAlsLineChangeTimerValue = 2400000;
+
+// Wlan MAC address length, separator and formatter
+const TInt  KPhoneWlanMacAddressLength = 50;
+const TUint KPhoneWlanSeparator (':');
+_LIT( KWLanMACDataFormat, "%02x");
+
+// BTA Disconnect handler timeout
+// 1 minute in microseconds.
+const TInt KPhoneBtaaConnectionLostQueryTimeout = 60000000; 
+
+// Time cap between information note and reconnect query
+const TInt KInformationNoteDisplayTime = 3000000;
+
+// HELP
+_LIT( KINCAL_HLP_CALL_HANDLING, "INCAL_HLP_CALL_HANDLING" );
+_LIT( KINCAL_HLP_VIDEOCALL, "INCAL_HLP_VIDEO_CALL" );
+_LIT( KDATA_DIALER_HLP_MAIN, "DIALER_HLP_MAIN" );
+_LIT( KDATA_DIALER_HLP_SEND_DTMF, "DIALER_HLP_SEND_DTMF" );
+
+// Maximum length of file path for caller image theme
+const TInt KMaxFilePathLength = 256;
+
+// Used in Ringingtone handling
+const TInt Kkilo = 1024;
+
+// Allow name in call header in setup state after 1.5s
+const TInt KTimeoutAllowName = 1500000;
+
+// It enumerates different screen saver states.
+enum TPhoneScreensaverState
+    {
+    EPhoneScreensaverNotAllowed = 1,
+    EPhoneScreensaverAllowed = 0
+    };
+
+// VoIP variation
+const TInt KDynamicVoIPOff = 0;
+const TInt KDynamicVoIPOn = 1;
+
+// Max param lenght.
+const TInt KPhoneMaxParamLength = 10;
+
+// Video call setup failed query timeout
+const TInt KPhoneVideoCallSetupFailedQueryTimeout = 5; 
+
+// Key event value for long press
+const TInt EEventLongPress = 1100;
+
+#endif  // PHONECONSTANTS_H
+
+// End of File