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> <file_system></codeph> </p> </entry> |
78 <entry><p> <codeph> <file_system></codeph> </p> </entry> |
80 <entry><p>The name of the file system as implemented by <codeph><file_system_filename></codeph>. </p> <p>If |
79 <entry><p>The name of the file system as implemented by <codeph><file_system_filename></codeph>. </p> <p>If |
81 the file system name is the same as the file name, as represented by the <codeph><file_system_filename></codeph> item, |
80 the file system name is the same as the file name, as represented by the <codeph><file_system_filename></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><file_system_filename></codeph> and <codeph><file_system></codeph> are |
170 explicitly specified, i.e. <codeph><file_system_filename></codeph> and <codeph><file_system></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> |