Symbian3/PDK/Source/GUID-8BA1EEC2-78A3-54CC-95D9-81BF2659963D.dita
changeset 5 f345bda72bc4
parent 3 46218c8b8afa
child 14 578be2adaf3e
equal deleted inserted replaced
4:4816d766a08a 5:f345bda72bc4
    25 behaviour </p> </li>
    25 behaviour </p> </li>
    26 <li id="GUID-C8914C2A-4FEA-5367-9C8C-5BD1B8926416"><p>Enable <xref href="GUID-89BCF9A5-ABBD-5523-BA76-FDB00B806A30.dita">fair
    26 <li id="GUID-C8914C2A-4FEA-5367-9C8C-5BD1B8926416"><p>Enable <xref href="GUID-89BCF9A5-ABBD-5523-BA76-FDB00B806A30.dita">fair
    27 scheduling and file caching</xref> on a drive by drive basis. </p> </li>
    27 scheduling and file caching</xref> on a drive by drive basis. </p> </li>
    28 </ul>
    28 </ul>
    29 <p>Handset manufacturers need to customise the Base Starter as part of the
    29 <p>Handset manufacturers need to customise the Base Starter as part of the
    30 process of porting Symbian OS to a new device. <xref href="GUID-8BA1EEC2-78A3-54CC-95D9-81BF2659963D.dita#GUID-8BA1EEC2-78A3-54CC-95D9-81BF2659963D/GUID-BF793E4E-8303-5C94-A297-52C5AD781B6B">Mapping
    30 process of porting Symbian platform to a new device. <xref href="GUID-8BA1EEC2-78A3-54CC-95D9-81BF2659963D.dita#GUID-8BA1EEC2-78A3-54CC-95D9-81BF2659963D/GUID-BF793E4E-8303-5C94-A297-52C5AD781B6B">Mapping local drives</xref> is the most important part of this process, but <xref href="GUID-8BA1EEC2-78A3-54CC-95D9-81BF2659963D.dita#GUID-8BA1EEC2-78A3-54CC-95D9-81BF2659963D/GUID-89ED1556-60A5-5030-8946-7156656B7771">customisation
    31 local drives</xref> is the most important part of this process, but <xref href="GUID-8BA1EEC2-78A3-54CC-95D9-81BF2659963D.dita#GUID-8BA1EEC2-78A3-54CC-95D9-81BF2659963D/GUID-89ED1556-60A5-5030-8946-7156656B7771">customisation
       
    32 using TFSStartup</xref> is also possible. </p>
    31 using TFSStartup</xref> is also possible. </p>
    33 <p>Note that there are some <xref href="GUID-8BA1EEC2-78A3-54CC-95D9-81BF2659963D.dita#GUID-8BA1EEC2-78A3-54CC-95D9-81BF2659963D/GUID-AC49186C-F69B-5D5B-8515-3CF8CD91EAF4">activities
    32 <p>Note that there are some <xref href="GUID-8BA1EEC2-78A3-54CC-95D9-81BF2659963D.dita#GUID-8BA1EEC2-78A3-54CC-95D9-81BF2659963D/GUID-AC49186C-F69B-5D5B-8515-3CF8CD91EAF4">activities
    34 that the Base Starter does not do</xref>  </p>
    33 that the Base Starter does not do</xref>  </p>
    35 <section id="GUID-BF793E4E-8303-5C94-A297-52C5AD781B6B"><title>Mapping local
    34 <section id="GUID-BF793E4E-8303-5C94-A297-52C5AD781B6B"><title>Mapping local
    36 drives</title> <p>There are two ways to do this: </p> <ul>
    35 drives</title> <p>There are two ways to do this: </p> <ul>
    78 <row>
    77 <row>
    79 <entry><p> <codeph> &lt;file_system&gt;</codeph>  </p> </entry>
    78 <entry><p> <codeph> &lt;file_system&gt;</codeph>  </p> </entry>
    80 <entry><p>The name of the file system as implemented by <codeph>&lt;file_system_filename&gt;</codeph>. </p> <p>If
    79 <entry><p>The name of the file system as implemented by <codeph>&lt;file_system_filename&gt;</codeph>. </p> <p>If
    81 the file system name is the same as the file name, as represented by the <codeph>&lt;file_system_filename&gt;</codeph> item,
    80 the file system name is the same as the file name, as represented by the <codeph>&lt;file_system_filename&gt;</codeph> item,
    82 then supply the null character <codeph>0</codeph>. [Internally, the file system
    81 then supply the null character <codeph>0</codeph>. [Internally, the file system
    83 name is sometimes referred to as the object name.] </p> <p>Symbian OS supplies
    82 name is sometimes referred to as the object name.] </p> <p>Symbian platform
    84 the following file systems: </p> <ul>
    83 supplies the following file systems: </p> <ul>
    85 <li id="GUID-BB05125F-DEAA-5881-8B5D-27CF2735598E"><p> <codeph> FAT</codeph>  </p> </li>
    84 <li id="GUID-BB05125F-DEAA-5881-8B5D-27CF2735598E"><p> <codeph> FAT</codeph>  </p> </li>
    86 <li id="GUID-F9CAA425-F382-5131-A2CE-A8813EC2844C"><p> <codeph> ROFS</codeph> -
    85 <li id="GUID-F9CAA425-F382-5131-A2CE-A8813EC2844C"><p> <codeph> ROFS</codeph> -
    87 read/only file system </p> </li>
    86 read/only file system </p> </li>
    88 <li id="GUID-1C9ED727-60A6-5835-B10B-BC5DF0C11763"><p> <codeph>LFFS</codeph> -
    87 <li id="GUID-1C9ED727-60A6-5835-B10B-BC5DF0C11763"><p> <codeph>LFFS</codeph> -
    89 logging flash file system </p> </li>
    88 logging flash file system </p> </li>
   171 explicitly specified, i.e. <codeph>&lt;file_system_filename&gt;</codeph> and <codeph>&lt;file_system&gt;</codeph> are
   170 explicitly specified, i.e. <codeph>&lt;file_system_filename&gt;</codeph> and <codeph>&lt;file_system&gt;</codeph> are
   172 set, then more than one drive can be marked with <codeph>FS_COMPOSITE</codeph>.
   171 set, then more than one drive can be marked with <codeph>FS_COMPOSITE</codeph>.
   173 However, adding a drive that uses a file system other than ROFS is <i>strongly
   172 However, adding a drive that uses a file system other than ROFS is <i>strongly
   174 discouraged</i> for performance reasons. </p> </li>
   173 discouraged</i> for performance reasons. </p> </li>
   175 <li id="GUID-2B4F9A89-9907-5417-91B3-94E02F212E42"><p>the order of the records
   174 <li id="GUID-2B4F9A89-9907-5417-91B3-94E02F212E42"><p>the order of the records
   176 is important, as this defines the search order when Symbian OS is working
   175 is important, as this defines the search order when Symbian platform is working
   177 out which files will contribute to the final ROM. The core OS ROM file system
   176 out which files will contribute to the final ROM. The core OS ROM file system
   178 (containing the kernel, kernel extensions, media drivers, the file server,
   177 (containing the kernel, kernel extensions, media drivers, the file server,
   179 file systems and the Base Starter executable) is searched first, followed
   178 file systems and the Base Starter executable) is searched first, followed
   180 by the last drive in the mapping file marked with <codeph>FS_COMPOSITE</codeph>,
   179 by the last drive in the mapping file marked with <codeph>FS_COMPOSITE</codeph>,
   181 followed by the next last drive marked with <codeph>FS_COMPOSITE</codeph> etc. </p> </li>
   180 followed by the next last drive marked with <codeph>FS_COMPOSITE</codeph> etc. </p> </li>
   374 that the offset behaviour is correct for your time zone. </p> <p>Setting the <xref href="GUID-7A6C0343-7B98-3429-9162-4C0357594230.dita"><apiname>User::UTCOffset()</apiname></xref> is required within EStart
   373 that the offset behaviour is correct for your time zone. </p> <p>Setting the <xref href="GUID-7A6C0343-7B98-3429-9162-4C0357594230.dita"><apiname>User::UTCOffset()</apiname></xref> is required within EStart
   375 to provide backward compatibility and because it provides the system time
   374 to provide backward compatibility and because it provides the system time
   376 to components before the timezone/locale services are initialised. </p> <p>See <xref href="GUID-15E048BA-E158-508D-9DB4-C9DF9A546090.dita">setting the universal time
   375 to components before the timezone/locale services are initialised. </p> <p>See <xref href="GUID-15E048BA-E158-508D-9DB4-C9DF9A546090.dita">setting the universal time
   377 offset</xref>. </p>  <p id="GUID-0B60FAF0-5D2F-5A0F-984C-DFB35BC09ED2"><b>Customising the restart
   376 offset</xref>. </p>  <p id="GUID-0B60FAF0-5D2F-5A0F-984C-DFB35BC09ED2"><b>Customising the restart
   378 mode</b> </p> <p> <xref href="GUID-7A6C0343-7B98-3429-9162-4C0357594230.dita"><apiname>TFSStartup::GetStartupMode()</apiname></xref> and <xref href="GUID-7A6C0343-7B98-3429-9162-4C0357594230.dita"><apiname>TFSStartup::GetStartupModeFromFile()</apiname></xref> must be
   377 mode</b> </p> <p> <xref href="GUID-7A6C0343-7B98-3429-9162-4C0357594230.dita"><apiname>TFSStartup::GetStartupMode()</apiname></xref> and <xref href="GUID-7A6C0343-7B98-3429-9162-4C0357594230.dita"><apiname>TFSStartup::GetStartupModeFromFile()</apiname></xref> must be
   379 implemented to get the restart mode at start-up. </p> <p>Symbian OS does not
   378 implemented to get the restart mode at start-up. </p> <p>Symbian platform
   380 define any meaning to restart mode values. It is for the use of the device
   379 does not define any meaning to restart mode values. It is for the use of the
   381 manufacturer. </p> <p>The restart mode is defined by the HAL attribute <xref href="GUID-7A6C0343-7B98-3429-9162-4C0357594230.dita"><apiname>EPersistStartupM</apiname></xref>. This is a <xref href="GUID-7A6C0343-7B98-3429-9162-4C0357594230.dita"><apiname>TAttribute</apiname></xref> enum
   380 device manufacturer. </p> <p>The restart mode is defined by the HAL attribute <xref href="GUID-7A6C0343-7B98-3429-9162-4C0357594230.dita"><apiname>EPersistStartupM</apiname></xref>. This is a <xref href="GUID-7A6C0343-7B98-3429-9162-4C0357594230.dita"><apiname>TAttribute</apiname></xref> enum
   382 value defined in class <xref href="GUID-7A6C0343-7B98-3429-9162-4C0357594230.dita"><apiname>HALData</apiname></xref> in <filepath>..\hal\inc\hal_data.h</filepath>. </p> <p>To
   381 value defined in class <xref href="GUID-7A6C0343-7B98-3429-9162-4C0357594230.dita"><apiname>HALData</apiname></xref> in <filepath>..\hal\inc\hal_data.h</filepath>. </p> <p>To
   383 use this attribute, define it in your variant’s <filepath>config.hcf</filepath> file
   382 use this attribute, define it in your variant’s <filepath>config.hcf</filepath> file
   384 and set an initial value in your variant’s <filepath>values.hda</filepath> file.
   383 and set an initial value in your variant’s <filepath>values.hda</filepath> file.
   385 The template port defines the attribute as settable using the following definition
   384 The template port defines the attribute as settable using the following definition
   386 in the <filepath>config.hcf</filepath> file. </p> <codeblock id="GUID-DCB65835-DB05-5092-B4D0-5ABA551773F8" xml:space="preserve">EPersistStartupModeKernel : set = ProcessPersistStartupMode</codeblock> <p>The value can be changed using <codeph>HAL::Set()</codeph>. <codeph>ProcessPersistStartupMode</codeph> is
   385 in the <filepath>config.hcf</filepath> file. </p> <codeblock id="GUID-DCB65835-DB05-5092-B4D0-5ABA551773F8" xml:space="preserve">EPersistStartupModeKernel : set = ProcessPersistStartupMode</codeblock> <p>The value can be changed using <codeph>HAL::Set()</codeph>. <codeph>ProcessPersistStartupMode</codeph> is
   387 the name of a function internal to Symbian OS. If you choose to make the attribute
   386 the name of a function internal to Symbian platform. If you choose to make
   388 settable, you must use this definition. </p> <p>Calls to <xref href="GUID-7A6C0343-7B98-3429-9162-4C0357594230.dita"><apiname>HAL::Get()</apiname></xref> are
   387 the attribute settable, you must use this definition. </p> <p>Calls to <xref href="GUID-7A6C0343-7B98-3429-9162-4C0357594230.dita"><apiname>HAL::Get()</apiname></xref> are routed to the function <codeph>Template::VariantHal()</codeph> in
   389 routed to the function <codeph>Template::VariantHal()</codeph> in your variant's <filepath>variant.cpp</filepath> file,
   388 your variant's <filepath>variant.cpp</filepath> file, and handled by the <codeph>EVariantHalGetPersistedStartupMode</codeph> case. </p> <p>Calls
   390 and handled by the <codeph>EVariantHalGetPersistedStartupMode</codeph> case. </p> <p>Calls
       
   391 to <xref href="GUID-7A6C0343-7B98-3429-9162-4C0357594230.dita"><apiname>HAL::Set()</apiname></xref> are routed to the function <codeph>Template::VariantHal()</codeph> in
   389 to <xref href="GUID-7A6C0343-7B98-3429-9162-4C0357594230.dita"><apiname>HAL::Set()</apiname></xref> are routed to the function <codeph>Template::VariantHal()</codeph> in
   392 your variant's <filepath>variant.cpp</filepath> file, and handled by the <codeph>EVariantHalPersistStartupMode</codeph> case. </p> <p>You
   390 your variant's <filepath>variant.cpp</filepath> file, and handled by the <codeph>EVariantHalPersistStartupMode</codeph> case. </p> <p>You
   393 need to do the following: </p> <ul>
   391 need to do the following: </p> <ul>
   394 <li id="GUID-1B0499AB-4320-598D-B4FD-89B610C8CC2D"><p>If you choose to make
   392 <li id="GUID-1B0499AB-4320-598D-B4FD-89B610C8CC2D"><p>If you choose to make
   395 the custom startup mode settable (in Symbian OS terminology, the attribute
   393 the custom startup mode settable (in Symbian platform terminology, the attribute
   396 is said to be derived), you need to implement <xref href="GUID-7A6C0343-7B98-3429-9162-4C0357594230.dita"><apiname>TFSStartup::GetStartupMode()</apiname></xref>.
   394 is said to be derived), you need to implement <xref href="GUID-7A6C0343-7B98-3429-9162-4C0357594230.dita"><apiname>TFSStartup::GetStartupMode()</apiname></xref>.
   397 Derived attributes are saved when the system is closed down. The function <codeph>GetStartupMode()</codeph> is
   395 Derived attributes are saved when the system is closed down. The function <codeph>GetStartupMode()</codeph> is
   398 called before the file server starts. </p> </li>
   396 called before the file server starts. </p> </li>
   399 <li id="GUID-EB91080D-1321-52B1-9EEA-718B02413928"><p>If you choose to make
   397 <li id="GUID-EB91080D-1321-52B1-9EEA-718B02413928"><p>If you choose to make
   400 the custom startup mode non-settable (in Symbian OS terminology, the attribute
   398 the custom startup mode non-settable (in Symbian platform terminology, the
   401 is said to be non-derived), you need to implement <xref href="GUID-7A6C0343-7B98-3429-9162-4C0357594230.dita"><apiname>TFSStartup::GetStartupModeFromFile()</apiname></xref>.
   399 attribute is said to be non-derived), you need to implement <xref href="GUID-7A6C0343-7B98-3429-9162-4C0357594230.dita"><apiname>TFSStartup::GetStartupModeFromFile()</apiname></xref>.
   402 Non-derived attributes are read from file, and this function is called after
   400 Non-derived attributes are read from file, and this function is called after
   403 the file server has started. </p> </li>
   401 the file server has started. </p> </li>
   404 <li id="GUID-8C418384-C30C-59E2-9E2A-542701C4D0DF"><p>You need to provide
   402 <li id="GUID-8C418384-C30C-59E2-9E2A-542701C4D0DF"><p>You need to provide
   405 an implementation for your <codeph>Template::VariantHal()</codeph> function
   403 an implementation for your <codeph>Template::VariantHal()</codeph> function
   406 in your <filepath>variant.cpp</filepath> file. </p> </li>
   404 in your <filepath>variant.cpp</filepath> file. </p> </li>