phonesrv_plat/service_provider_settings_api/inc/spdefinitions.h
changeset 0 ff3b6d0fd310
child 19 7d48bed6ce0c
equal deleted inserted replaced
-1:000000000000 0:ff3b6d0fd310
       
     1 /*
       
     2 * Copyright (c)  Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  service provider settings definitions
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef SPDEFINITIONS_H
       
    20 #define SPDEFINITIONS_H
       
    21 
       
    22 /**  Maximum length of descriptor data */
       
    23 const TInt KSPMaxDesLength = 512;
       
    24 
       
    25 /** Service attribute mask */
       
    26 enum TPropertyServiceAttributes
       
    27 	{
       
    28 	ESupportsCSVoiceCall 			= 0x00000001, // Supports CS voice call
       
    29 	ESupportsCSVideoCall			= 0x00000002, // Supports CS video call
       
    30 	ESupportsCSData					= 0x00000004, // Supports CS data transfer
       
    31 	ESupportsFax					= 0x00000008, // Service supports fax
       
    32 	ESupportsInternetCall			= 0x00000010, // Service supports internet call
       
    33 	ESupportsEmergencyCall 			= 0x00000020, // service supports emergency call
       
    34 	ESupportsMSISDNAddressing		= 0x00000040, // Service supports MSISDN addressing
       
    35 	ESupportsAlphanumericAddressing	= 0x00000080, // Service supports alphanumeric addressing
       
    36 	EIsVisibleInCallMenu 			= 0x00000100, // Service is visible in call menu
       
    37 	EBootstrapCallProvider			= 0x00000200, // Boostrap call provider
       
    38 	ESupportVoIPSS                  = 0x00000400, // Supports VoIP SS
       
    39 	ESimplifiedConferenceCallBubble	= 0x00000800  // Simplified conference call bubble
       
    40 	};
       
    41 	
       
    42 /** Supported feature check */	
       
    43 enum TSPServiceFeature
       
    44 	{
       
    45 	ESupportInternetCallFeature,	//ESupportsInternetCall + ESupportsAlphanumericAddressing + EIsVisibleInCallMenu 
       
    46 	ESupportCallOutFeature,			//ESupportsInternetCall + ESupportsMSISDNAddressing + EIsVisibleInCallMenu
       
    47 	ESupportVoIPSSFeature,			//ESupportVoIPSS
       
    48 	ESupportVoIPFeature				//FeatureManager::FeatureSupported()+dynamic voip flag check+with subservice voip
       
    49 	};
       
    50 
       
    51 /**  Service provider ID not defined */
       
    52 const TInt KSPNoId = 0;
       
    53 /**  Types of service provider settings items in settings table
       
    54      - for internal use */
       
    55 enum TSPItemType
       
    56     {
       
    57     EItemTypeNotDefined = 1,
       
    58     EItemTypeDeleted,
       
    59     EItemTypeEntry,
       
    60     EItemTypeProperty,
       
    61 
       
    62     // Specifies certain subservice group
       
    63     EItemTypeVoIPSubProperty,
       
    64     EItemTypePresenceSubProperty,
       
    65     EItemTypeIMSubProperty,
       
    66     EItemTypeVMBXSubProperty,
       
    67     };
       
    68 
       
    69 /**  List of predefined properties */
       
    70 enum TServicePropertyName 
       
    71     {
       
    72     EPropertyUnknown                        = 0x00000001, // Unknown property
       
    73     
       
    74     EServiceName                            = 0x00002000, // Service name. Set by RCSE / VoIP adapter
       
    75     
       
    76     // TInt
       
    77     // properties
       
    78     EPropertyServiceAttributeMask           = 0x00003000, // Service attributes, see TPropertyServiceAttributes. Set by RCSE
       
    79     EPropertyCTIPluginId                    = 0x00004000, // Phone Engine CTI plugin UID
       
    80     EPropertyCLIPluginId                    = 0x00005000, // Phone application CLI plugin UID. Set by RCSE
       
    81     EPropertyCallLoggingPluginId            = 0x00006000, // Phone application call logging plugin UID. Set by RCSE
       
    82     EPropertyCallStateIndicatorPluginId     = 0x00007000, // Phone application call state indicator plugin UID. Set by RCSE
       
    83     EPropertyCallMenuHandlerPluginId        = 0x00008000, // Phone application menu handler plugin UID. Set by RCSE
       
    84     EPropertyCallProviderPluginId           = 0x00009000, // CCE call provider plugin UID. Set by RCSE
       
    85     EPropertyPCSPluginId                    = 0x0000A000, // Presence FW PSC plugin UID. Set by RCSE
       
    86     EPropertyVoIPSubServicePluginId         = 0x0000B000, // CCH VoIP subservice connectivity plugin UID. Set by RCSE
       
    87     EPropertyPresenceSubServicePluginId     = 0x0000C000, // CCH Presence subservice connectivity plugin UID. Set by VoIP adapter
       
    88     EPropertyIMSubServicePluginId           = 0x0000D000, // CCH Instant Messaging subservice connectivity plugin UID
       
    89     EPropertyVMBXSubServicePluginId         = 0x0000E000, // CCH VMBX subservice connectivity plugin UID. Set by RCSE
       
    90     EPropertyServiceSetupPluginId           = 0x0000F000, // Service setup plugin UID. Set by RCSE
       
    91     EPropertyContactViewId                  = 0x00010000, // Phonebook2 contact view ID. Set by Phonebook extension
       
    92     EPropertyBrandVersion                   = 0x00011000, // Brand version
       
    93     EPropertyBrandLanguage                  = 0x00012000, // Brand language
       
    94     EPropertyLogCntLinkMaxLength            = 0x00013000, // Maximum length of a serialised contact link. Set by RCSE
       
    95     EPropertyContactViewPluginId            = 0x00014000, // Contact view plugin UID. Set by RCSE
       
    96     EPropertySendFwImPluginId               = 0x00015000, // SendUi service provider UID
       
    97     EPropertyRingtoneTimeout                = 0x00016000, // Ringtone timeout
       
    98 
       
    99     // Subproperties
       
   100     // VoIP subproperties
       
   101     ESubPropertyVoIPSettingsId              = 0x00017000, // VoIP settings ID. Set by RCSE
       
   102     ESubPropertyVoIPPreferredSNAPId         = 0x00018000, // Preferred SNAP ID. Set by VoIP adapter
       
   103     ESubPropertyVoIPPreferredIAPId          = 0x00019000, // Preferred IAP ID. Set by VoIP adapter
       
   104     ESubPropertyVoIPTemporaryIAPId          = 0x0001A000, // Temporary IAP ID. Set by Phonebook extension
       
   105 
       
   106     // Presence subproperties
       
   107     ESubPropertyPresenceSettingsId          = 0x0001B000, // Presence settings ID. Set by VoIP adapter
       
   108     ESubPropertyPresencePreferredSNAPId     = 0x0001C000, // Preferred SNAP ID
       
   109     ESubPropertyPresencePreferredIAPId      = 0x0001D000, // Preferred IAP ID
       
   110     ESubPropertyPresencePresentityIDFieldType = 0x0001E000, // Presentity ID field type. Set by RCSE
       
   111     ESubPropertyPresenceLaunchMethod        = 0x0001F000, // Presence launching method
       
   112     ESubPropertyPresenceLaunchUid           = 0x00020000, // Presence plugin or application UID
       
   113 
       
   114     // IM subproperties
       
   115     ESubPropertyIMSettingsId                = 0x00021000, // IM settings ID
       
   116     ESubPropertyIMPreferredSNAPId           = 0x00022000, // Preferred SNAP ID
       
   117     ESubPropertyIMPreferredIAPId            = 0x00023000, // Preferred IAP ID
       
   118     ESubPropertyIMLaunchMethod              = 0x00024000, // IM launching method
       
   119     ESubPropertyIMLaunchUid                 = 0x00025000, // IM plugin or application UID
       
   120 
       
   121     // VMBX subproperties
       
   122     ESubPropertyVMBXSettingsId              = 0x00026000, // VMBX settings ID. Set by VoIP adapter
       
   123     ESubPropertyVMBXPreferredSNAPId         = 0x00027000, // Preferred SNAP ID
       
   124     ESubPropertyVMBXPreferredIAPId          = 0x00028000, // Preferred IAP ID. Set by VoIP adapter
       
   125     ESubPropertyVMBXMWISubscribeInterval    = 0x00029000, // Message waiting indicator, Re-subscribe interval. Set by VoIP adapter
       
   126     ESubPropertyVMBXLaunchMethod            = 0x0002A000, // VMBX launching method
       
   127     ESubPropertyVMBXLaunchUid               = 0x0002B000, // VMBX plugin or application UID
       
   128 
       
   129 
       
   130     // DES
       
   131     //--------------------------------------------------------------------
       
   132     // Properties
       
   133     EPropertyBrandId                        = 0x0002C000, // Brand ID. Links the service to brand information
       
   134                                                           // stored in the branding server. Set by RCSE
       
   135     EPropertyContactStoreId                 = 0x0002D000, // Virtual phonebook contact store ID. Set by RCSE
       
   136     EPropertyServiceBookmarkUri             = 0x0002E000, // Service provider bookmark URI. Set by VoIP adapter
       
   137     EPropertyIncomingEmailserver            = 0x0002F000, // Service incoming e-mail server
       
   138     			
       
   139 
       
   140     // Subproperties
       
   141     // VoIP subproperties
       
   142     ESubPropertyVoIPRelNumber               = 0x00030000, // VoIP release number
       
   143     ESubPropertyVoIPBrandDataUri            = 0x00031000, // VoIP branding data URI. Set by VoIP adapter
       
   144     ESubPropertyVoIPBrandIconUri            = 0x00032000, // VoIP branding icon URI
       
   145     ESubPropertyVoIPAddrScheme              = 0x00033000, // VoIP addressing scheme
       
   146     
       
   147     // Presence subproperties
       
   148     ESubPropertyPresenceAddrScheme          = 0x00034000, // Presence addressing scheme
       
   149     
       
   150     // IM subproperties
       
   151     ESubPropertyIMAddrScheme                = 0x00035000, // IM addressing scheme
       
   152     
       
   153     // VMBX subproperties
       
   154     ESubPropertyVMBXListenAddress           = 0x00036000, // VMBX listen address. Set by VoIP adapter
       
   155     ESubPropertyVMBXMWIAddress              = 0x00037000, // VMBX message waiting indicator address. Set by VoIP adapter
       
   156     ESubPropertyVMBXBrandIconUri            = 0x00038000, // Brand icon URI
       
   157     ESubPropertyVMBXAddrScheme              = 0x00039000, // VMBX addressing scheme
       
   158 
       
   159 
       
   160     // OnOff
       
   161     //--------------------------------------------------------------------
       
   162     // VoIP subproperties
       
   163     ESubPropertyVoIPEnabled                 = 0x0003A000, // Enable/disable VoIP. Set by VoIP adapter
       
   164     
       
   165     // Presence subproperties
       
   166     ESubPropertyPresenceEnabled             = 0x0003B000, // Enable/disable presence. Set by VoIP adapter
       
   167     ESubPropertyPresenceRequestPreference   = 0x0003C000, // Auto accept buddy request. Set by VoIP adapter
       
   168     
       
   169     // IM subproperties
       
   170     ESubPropertyIMEnabled                   = 0x0003D000, // Enable/disable IM
       
   171     
       
   172     // VMBX subproperties
       
   173     ESubPropertyVMBXListenRegister          = 0x0003E000, // Listen without or with registration
       
   174     ESubPropertyVMBXEnabled                 = 0x0003F000,  // Enable/disable VMBX. Set by VoIP adapter
       
   175     
       
   176     //VCC subproperties
       
   177     ESubPropertyVccName                         = 0x00040000,
       
   178     ESubPropertyVccVDI                          = 0x00041000,
       
   179     ESubPropertyVccVDN                          = 0x00042000,
       
   180     ESubPropertyVccPreferredDomain              = 0x00043000,                     
       
   181     ESubPropertyVccImmediateDomainTransfer      = 0x00044000, 
       
   182     ESubPropertyVccDtCstoPsAllowed              = 0x00045000,
       
   183     ESubPropertyVccDtPstoCsAllowed              = 0x00046000,
       
   184     ESubPropertyVccDtHeldWaitingCallsAllowed    = 0x00047000,
       
   185     ESubPropertyVccDtCSHoTriggerLevel           = 0x00048000, 
       
   186     ESubPropertyVccDtCSHoHysteresis             = 0x00049000,
       
   187     ESubPropertyVccDtCSHoHysteresisTimerLow     = 0x0004A000,
       
   188     ESubPropertyVccDtCSHoHysteresisTimerHigh    = 0x0004B000,
       
   189     ESubPropertyVccDtWLANHoTriggerLevel         = 0x0004C000,
       
   190     ESubPropertyVccDtWLANHoHysteresis           = 0x0004D000,
       
   191     ESubPropertyVccDtWLANHoHysteresisTimerLow   = 0x0004E000,
       
   192     ESubPropertyVccDtWLANHoHysteresisTimerHigh  = 0x0004F000,
       
   193     ESubPropertyVccHoNotificationToneMode		= 0x00050000,
       
   194     ESubPropertyVccDtVoipServiceId              = 0x00051000,
       
   195     ESubPropertyVccDtAllowedWhenCsOriginated    = 0x00052000,
       
   196     ESubPropertyVccAppId                        = 0x00053000,
       
   197 
       
   198     };
       
   199 
       
   200 
       
   201 /**  On/off data type */
       
   202 enum TOnOff
       
   203     {
       
   204     EOONotSet = -1,
       
   205     EOff = 0,
       
   206     EOn = 1
       
   207     };
       
   208 
       
   209 /**  List of supported datatypes of properties */
       
   210 enum TPropertyDataType
       
   211     {
       
   212     EDataTypeNotSet,  // NotSet
       
   213     EDataTypeUnknown, // Unknown
       
   214     EDataTypeInt,     // TInt
       
   215     EDataTypeDes,     // TDesC
       
   216     EDataTypeOnOff,   // TOnOff
       
   217     };
       
   218     
       
   219 /** List of subservice launching method */
       
   220 enum TSPSubServiceLaunchMethod
       
   221 	{
       
   222 	ESPFrameWorkPlugin,
       
   223 	ESPLauncherPlugin,
       
   224 	ESPApplication
       
   225 	};
       
   226 
       
   227 
       
   228 /**  Service ID */
       
   229 typedef TUint TServiceId;
       
   230 
       
   231 /**  Array of CSPProperty objects */
       
   232 class CSPProperty;
       
   233 typedef RPointerArray<CSPProperty> RPropertyArray;
       
   234 
       
   235 /**  Array of service provider IDs */
       
   236 typedef RArray<TServiceId> RIdArray;
       
   237 
       
   238 /**  Array of service provider IDs */
       
   239 typedef RArray<TServicePropertyName> RPropertyNameArray;
       
   240 
       
   241 /**	 central repsitory keys array */
       
   242 typedef RArray<TUint32> RKeyArray;
       
   243 
       
   244 
       
   245 #endif      // SPDEFINITIONS_H
       
   246 
       
   247