MTP Central Repository

The MTP framework is configured by a number of parameters. The values are stored in the Central Repository. The initial values are loaded into the Central Repository using a compiled (binary) initialisation file. Read only access to the MTP framework configuration parameters is available to any application using the Repository API. Write access is restricted to the MTP framework itself.

Configuration parameters

The set of MTP framework configurability parameters are:

Device Friendly Name

This parameter defines the Device Friendly Name MTP device property value. It is implemented as a string and has a maximum length of 254 characters.

Synchronization Partner

This parameter defines the Synchronization Partner MTP device property value. It is implemented as a string and has a maximum length of 254 characters.

Logical Storage IDs Allocation Enable Flag

This parameter indicates if the framework allocates MTP logical storage IDs. If set the framework allocates a single logical storage ID on each of the available Symbian file system drives. If not set then the framework does not allocate any MTP logical storage IDs. The active data providers are responsible for allocating MTP logical storage IDs using MMTPStorageMgr interface.

Default Storage Drive

This parameter specifies the Symbian file system drive that acts as the default MTP storage ID (0x00000004). It is implemented as an integer value which represents the default drive using a zero based numbering scheme (that is 0 represents the A drive, 25 represents the Z drive and so on.), or with a MTP Framework assigned storage ID. For example the storage number assigned to the interoperability test Music data provider is 66305.

Excluded Storage Drives

This parameter specifies the Symbian file system drives that are excluded from the set of MTP stores. Any drive that is identified in this set is not assigned a store ID value by the MTP framework. This parameter is implemented as an array of integer values each of which represent an excluded drive using a zero based numbering scheme (for example, 0 represents the A drive and 25 represents the Z drive.)

Central Repository File Example

The MTP framework configuration central repository initialisation source file (10282FCC_ARMV5.txt and 10282FCC_WINSCW.txt) is located at /mw/remoteconn/mtpfws/mtpfw/group/. The following example shows its syntax:

# MTP framework configurability central repository initialisation file 
#

# Header
cenrep
version 1

[platsec]
# Any client can read values, only the MTP server can write values. 
# 0x102827A2 is the UID of the MTP server - this value must be specified in decimal: 271067042. cap_rd = AlwaysPass sid_wr = 271067042

[main]
# Settings 
# KEY        - Description
#
# 0x00000000 - Device friendly name (string).
# 0x00000001 - Synchronization partner name (String). 
# 0x00000002 - RAM drive metadata storage enable flag (boolean). 
# 0x00000003 – Logical storage IDs allocation enable flag (boolean).
# 0x00000004 - Default storage drive (integer), Can be set to either a 
#              Symbian drive number (i.e. A = 0, Z = 25) or a MTP storage 
#              ID (assigned by the MTP framework). 
# 0x00000006 - Transport switching enable flag(boolean) (0=disable, 1=enable)
# 0x00000007 - Implimentation UID of the HighPriority Transport PlugIn. 
# 0x0001nnnn - Excluded storage drives (integer array). The most significant 
#              16-bits of the key identify the excluded storage drives array
#              and are fixed (0x0001). The least significant 16-bits identify 
#              the array offset and MUST increment from zero. Note that although
#              these key values bear a striking resemblance to MTP storage ID
#              values, this resemblance is entirely coincidental. These key 
#              values are entirely independent of the MTP storage ID values which
#              will be assigned to the available drives. Drive identifiers are 
#              numbered from zero (i.e. A = 0, Z = 25).
#
0x00000000     string     "Symbian MTP Device"                                    0
0x00000001  string     "Symbian MTP Sync Partner"      0
0x00000002  int                     0                                                                                                      0
0x00000003  int                     1                                                                                                      0
0x00000004  int                     2                                                                                                      0
0x00000006  int                     0                                                                                                      0
0x00000007  string         "102827B2"                                                                  0
0x00010000  int                     2                                                                                                      0
0x00010001  int                     4                                                                                                      0
0x00010002  int                     10                                                                                                  0


In the preceding example:

  • <key> is the 32 bit unsigned key used to identify the setting.

  • <type> is int, real, string, string8 or binary.

  • <value> is the initial value of the setting.

  • <metadata> is the value permanently associated with the key position. Metadata can be specified in either decimal or hexadecimal. Hexadecimal values are indicated by prefixing the number with the characters ‘0x’.