phonesrv_plat/service_provider_settings_api/inc/spdefinitions.h
changeset 0 ff3b6d0fd310
child 19 7d48bed6ce0c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/service_provider_settings_api/inc/spdefinitions.h	Tue Feb 02 01:11:09 2010 +0200
@@ -0,0 +1,247 @@
+/*
+* Copyright (c)  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:  service provider settings definitions
+*
+*/
+
+
+#ifndef SPDEFINITIONS_H
+#define SPDEFINITIONS_H
+
+/**  Maximum length of descriptor data */
+const TInt KSPMaxDesLength = 512;
+
+/** Service attribute mask */
+enum TPropertyServiceAttributes
+	{
+	ESupportsCSVoiceCall 			= 0x00000001, // Supports CS voice call
+	ESupportsCSVideoCall			= 0x00000002, // Supports CS video call
+	ESupportsCSData					= 0x00000004, // Supports CS data transfer
+	ESupportsFax					= 0x00000008, // Service supports fax
+	ESupportsInternetCall			= 0x00000010, // Service supports internet call
+	ESupportsEmergencyCall 			= 0x00000020, // service supports emergency call
+	ESupportsMSISDNAddressing		= 0x00000040, // Service supports MSISDN addressing
+	ESupportsAlphanumericAddressing	= 0x00000080, // Service supports alphanumeric addressing
+	EIsVisibleInCallMenu 			= 0x00000100, // Service is visible in call menu
+	EBootstrapCallProvider			= 0x00000200, // Boostrap call provider
+	ESupportVoIPSS                  = 0x00000400, // Supports VoIP SS
+	ESimplifiedConferenceCallBubble	= 0x00000800  // Simplified conference call bubble
+	};
+	
+/** Supported feature check */	
+enum TSPServiceFeature
+	{
+	ESupportInternetCallFeature,	//ESupportsInternetCall + ESupportsAlphanumericAddressing + EIsVisibleInCallMenu 
+	ESupportCallOutFeature,			//ESupportsInternetCall + ESupportsMSISDNAddressing + EIsVisibleInCallMenu
+	ESupportVoIPSSFeature,			//ESupportVoIPSS
+	ESupportVoIPFeature				//FeatureManager::FeatureSupported()+dynamic voip flag check+with subservice voip
+	};
+
+/**  Service provider ID not defined */
+const TInt KSPNoId = 0;
+/**  Types of service provider settings items in settings table
+     - for internal use */
+enum TSPItemType
+    {
+    EItemTypeNotDefined = 1,
+    EItemTypeDeleted,
+    EItemTypeEntry,
+    EItemTypeProperty,
+
+    // Specifies certain subservice group
+    EItemTypeVoIPSubProperty,
+    EItemTypePresenceSubProperty,
+    EItemTypeIMSubProperty,
+    EItemTypeVMBXSubProperty,
+    };
+
+/**  List of predefined properties */
+enum TServicePropertyName 
+    {
+    EPropertyUnknown                        = 0x00000001, // Unknown property
+    
+    EServiceName                            = 0x00002000, // Service name. Set by RCSE / VoIP adapter
+    
+    // TInt
+    // properties
+    EPropertyServiceAttributeMask           = 0x00003000, // Service attributes, see TPropertyServiceAttributes. Set by RCSE
+    EPropertyCTIPluginId                    = 0x00004000, // Phone Engine CTI plugin UID
+    EPropertyCLIPluginId                    = 0x00005000, // Phone application CLI plugin UID. Set by RCSE
+    EPropertyCallLoggingPluginId            = 0x00006000, // Phone application call logging plugin UID. Set by RCSE
+    EPropertyCallStateIndicatorPluginId     = 0x00007000, // Phone application call state indicator plugin UID. Set by RCSE
+    EPropertyCallMenuHandlerPluginId        = 0x00008000, // Phone application menu handler plugin UID. Set by RCSE
+    EPropertyCallProviderPluginId           = 0x00009000, // CCE call provider plugin UID. Set by RCSE
+    EPropertyPCSPluginId                    = 0x0000A000, // Presence FW PSC plugin UID. Set by RCSE
+    EPropertyVoIPSubServicePluginId         = 0x0000B000, // CCH VoIP subservice connectivity plugin UID. Set by RCSE
+    EPropertyPresenceSubServicePluginId     = 0x0000C000, // CCH Presence subservice connectivity plugin UID. Set by VoIP adapter
+    EPropertyIMSubServicePluginId           = 0x0000D000, // CCH Instant Messaging subservice connectivity plugin UID
+    EPropertyVMBXSubServicePluginId         = 0x0000E000, // CCH VMBX subservice connectivity plugin UID. Set by RCSE
+    EPropertyServiceSetupPluginId           = 0x0000F000, // Service setup plugin UID. Set by RCSE
+    EPropertyContactViewId                  = 0x00010000, // Phonebook2 contact view ID. Set by Phonebook extension
+    EPropertyBrandVersion                   = 0x00011000, // Brand version
+    EPropertyBrandLanguage                  = 0x00012000, // Brand language
+    EPropertyLogCntLinkMaxLength            = 0x00013000, // Maximum length of a serialised contact link. Set by RCSE
+    EPropertyContactViewPluginId            = 0x00014000, // Contact view plugin UID. Set by RCSE
+    EPropertySendFwImPluginId               = 0x00015000, // SendUi service provider UID
+    EPropertyRingtoneTimeout                = 0x00016000, // Ringtone timeout
+
+    // Subproperties
+    // VoIP subproperties
+    ESubPropertyVoIPSettingsId              = 0x00017000, // VoIP settings ID. Set by RCSE
+    ESubPropertyVoIPPreferredSNAPId         = 0x00018000, // Preferred SNAP ID. Set by VoIP adapter
+    ESubPropertyVoIPPreferredIAPId          = 0x00019000, // Preferred IAP ID. Set by VoIP adapter
+    ESubPropertyVoIPTemporaryIAPId          = 0x0001A000, // Temporary IAP ID. Set by Phonebook extension
+
+    // Presence subproperties
+    ESubPropertyPresenceSettingsId          = 0x0001B000, // Presence settings ID. Set by VoIP adapter
+    ESubPropertyPresencePreferredSNAPId     = 0x0001C000, // Preferred SNAP ID
+    ESubPropertyPresencePreferredIAPId      = 0x0001D000, // Preferred IAP ID
+    ESubPropertyPresencePresentityIDFieldType = 0x0001E000, // Presentity ID field type. Set by RCSE
+    ESubPropertyPresenceLaunchMethod        = 0x0001F000, // Presence launching method
+    ESubPropertyPresenceLaunchUid           = 0x00020000, // Presence plugin or application UID
+
+    // IM subproperties
+    ESubPropertyIMSettingsId                = 0x00021000, // IM settings ID
+    ESubPropertyIMPreferredSNAPId           = 0x00022000, // Preferred SNAP ID
+    ESubPropertyIMPreferredIAPId            = 0x00023000, // Preferred IAP ID
+    ESubPropertyIMLaunchMethod              = 0x00024000, // IM launching method
+    ESubPropertyIMLaunchUid                 = 0x00025000, // IM plugin or application UID
+
+    // VMBX subproperties
+    ESubPropertyVMBXSettingsId              = 0x00026000, // VMBX settings ID. Set by VoIP adapter
+    ESubPropertyVMBXPreferredSNAPId         = 0x00027000, // Preferred SNAP ID
+    ESubPropertyVMBXPreferredIAPId          = 0x00028000, // Preferred IAP ID. Set by VoIP adapter
+    ESubPropertyVMBXMWISubscribeInterval    = 0x00029000, // Message waiting indicator, Re-subscribe interval. Set by VoIP adapter
+    ESubPropertyVMBXLaunchMethod            = 0x0002A000, // VMBX launching method
+    ESubPropertyVMBXLaunchUid               = 0x0002B000, // VMBX plugin or application UID
+
+
+    // DES
+    //--------------------------------------------------------------------
+    // Properties
+    EPropertyBrandId                        = 0x0002C000, // Brand ID. Links the service to brand information
+                                                          // stored in the branding server. Set by RCSE
+    EPropertyContactStoreId                 = 0x0002D000, // Virtual phonebook contact store ID. Set by RCSE
+    EPropertyServiceBookmarkUri             = 0x0002E000, // Service provider bookmark URI. Set by VoIP adapter
+    EPropertyIncomingEmailserver            = 0x0002F000, // Service incoming e-mail server
+    			
+
+    // Subproperties
+    // VoIP subproperties
+    ESubPropertyVoIPRelNumber               = 0x00030000, // VoIP release number
+    ESubPropertyVoIPBrandDataUri            = 0x00031000, // VoIP branding data URI. Set by VoIP adapter
+    ESubPropertyVoIPBrandIconUri            = 0x00032000, // VoIP branding icon URI
+    ESubPropertyVoIPAddrScheme              = 0x00033000, // VoIP addressing scheme
+    
+    // Presence subproperties
+    ESubPropertyPresenceAddrScheme          = 0x00034000, // Presence addressing scheme
+    
+    // IM subproperties
+    ESubPropertyIMAddrScheme                = 0x00035000, // IM addressing scheme
+    
+    // VMBX subproperties
+    ESubPropertyVMBXListenAddress           = 0x00036000, // VMBX listen address. Set by VoIP adapter
+    ESubPropertyVMBXMWIAddress              = 0x00037000, // VMBX message waiting indicator address. Set by VoIP adapter
+    ESubPropertyVMBXBrandIconUri            = 0x00038000, // Brand icon URI
+    ESubPropertyVMBXAddrScheme              = 0x00039000, // VMBX addressing scheme
+
+
+    // OnOff
+    //--------------------------------------------------------------------
+    // VoIP subproperties
+    ESubPropertyVoIPEnabled                 = 0x0003A000, // Enable/disable VoIP. Set by VoIP adapter
+    
+    // Presence subproperties
+    ESubPropertyPresenceEnabled             = 0x0003B000, // Enable/disable presence. Set by VoIP adapter
+    ESubPropertyPresenceRequestPreference   = 0x0003C000, // Auto accept buddy request. Set by VoIP adapter
+    
+    // IM subproperties
+    ESubPropertyIMEnabled                   = 0x0003D000, // Enable/disable IM
+    
+    // VMBX subproperties
+    ESubPropertyVMBXListenRegister          = 0x0003E000, // Listen without or with registration
+    ESubPropertyVMBXEnabled                 = 0x0003F000,  // Enable/disable VMBX. Set by VoIP adapter
+    
+    //VCC subproperties
+    ESubPropertyVccName                         = 0x00040000,
+    ESubPropertyVccVDI                          = 0x00041000,
+    ESubPropertyVccVDN                          = 0x00042000,
+    ESubPropertyVccPreferredDomain              = 0x00043000,                     
+    ESubPropertyVccImmediateDomainTransfer      = 0x00044000, 
+    ESubPropertyVccDtCstoPsAllowed              = 0x00045000,
+    ESubPropertyVccDtPstoCsAllowed              = 0x00046000,
+    ESubPropertyVccDtHeldWaitingCallsAllowed    = 0x00047000,
+    ESubPropertyVccDtCSHoTriggerLevel           = 0x00048000, 
+    ESubPropertyVccDtCSHoHysteresis             = 0x00049000,
+    ESubPropertyVccDtCSHoHysteresisTimerLow     = 0x0004A000,
+    ESubPropertyVccDtCSHoHysteresisTimerHigh    = 0x0004B000,
+    ESubPropertyVccDtWLANHoTriggerLevel         = 0x0004C000,
+    ESubPropertyVccDtWLANHoHysteresis           = 0x0004D000,
+    ESubPropertyVccDtWLANHoHysteresisTimerLow   = 0x0004E000,
+    ESubPropertyVccDtWLANHoHysteresisTimerHigh  = 0x0004F000,
+    ESubPropertyVccHoNotificationToneMode		= 0x00050000,
+    ESubPropertyVccDtVoipServiceId              = 0x00051000,
+    ESubPropertyVccDtAllowedWhenCsOriginated    = 0x00052000,
+    ESubPropertyVccAppId                        = 0x00053000,
+
+    };
+
+
+/**  On/off data type */
+enum TOnOff
+    {
+    EOONotSet = -1,
+    EOff = 0,
+    EOn = 1
+    };
+
+/**  List of supported datatypes of properties */
+enum TPropertyDataType
+    {
+    EDataTypeNotSet,  // NotSet
+    EDataTypeUnknown, // Unknown
+    EDataTypeInt,     // TInt
+    EDataTypeDes,     // TDesC
+    EDataTypeOnOff,   // TOnOff
+    };
+    
+/** List of subservice launching method */
+enum TSPSubServiceLaunchMethod
+	{
+	ESPFrameWorkPlugin,
+	ESPLauncherPlugin,
+	ESPApplication
+	};
+
+
+/**  Service ID */
+typedef TUint TServiceId;
+
+/**  Array of CSPProperty objects */
+class CSPProperty;
+typedef RPointerArray<CSPProperty> RPropertyArray;
+
+/**  Array of service provider IDs */
+typedef RArray<TServiceId> RIdArray;
+
+/**  Array of service provider IDs */
+typedef RArray<TServicePropertyName> RPropertyNameArray;
+
+/**	 central repsitory keys array */
+typedef RArray<TUint32> RKeyArray;
+
+
+#endif      // SPDEFINITIONS_H
+
+